Inhoudsopgave:
- Stap 1: Belangrijkste kenmerken
- Stap 2: Vergelijking tussen ESP32, ESP8266 en Arduino R3
- Stap 3: Soorten ESP32
- Stap 4: WiFi NodeMCU-32S ESP-WROOM-32
- Stap 5: Arduino IDE configureren (Windows)
- Stap 6: WiFi-scan
- Stap 7: Coderen
- Stap 8: Instellen
- Stap 9: Loop
- Stap 10: Bestanden
Video: Inleiding tot ESP32: 10 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
In dit artikel gaan we het hebben over ESP32, die ik beschouw als een oudere broer van ESP8266. Ik hou echt van deze microcontroller omdat hij wifi heeft. Zodat je een idee hebt, voordat ESP bestaat, als je een Arduino nodig hebt om wifi te hebben, zou je tussen $ 200 en $ 300 moeten uitgeven om een wifi-adapter te kopen. De adapter voor netwerkkabel is niet zo duur, maar voor wifi is het altijd al duur geweest en is het nog steeds duur. Maar gelukkig heeft Espressif Systems ESP gelanceerd en lost het ons leven op.
Ik hou van ESP32 met dit formaat dat een USB-poort heeft. Dit NodeMCU-schema is gemakkelijk te manipuleren omdat het geen elektronica nodig heeft. Sluit gewoon de kabel aan, zet het apparaat aan en programmeer het. Het werkt net als een Arduino.
Hoe dan ook, vandaag zullen we het hebben over de algemene aspecten van ESP32 en hoe de Arduino IDE te configureren om meer apparaten van dit type te programmeren. We zullen ook een programma maken dat de netwerken doorzoekt en laat zien welke krachtiger is.
Stap 1: Belangrijkste kenmerken
Chip met ingebouwde WiFi: standaard 802.11 B / G / N, werkend in het bereik van 2,4 tot 2,5 GHz
Bedrijfsmodi: Client, Access Point, Station + Access Point
Dual core microprocessor Tensilica Xtensa 32-bit LX6
Instelbare klok van 80 MHz tot 240 MHz
Bedrijfsspanning: 3,3 VDC
Het heeft SRAM van 512KB
Functies 448KB ROM
Het heeft een extern flash-geheugen van 32Mb (4 megabytes)
Maximale stroom per pin is 12mA (het wordt aanbevolen om 6mA te gebruiken)
Het heeft 36 GPIO's
GPIO's met PWM / I2C- en SPI-functies
Het heeft Bluetooth v4.2 BR / EDR en BLE (Bluetooth Low Energy)
Stap 2: Vergelijking tussen ESP32, ESP8266 en Arduino R3
Stap 3: Soorten ESP32
ESP32 werd geboren met veel broers en zussen. Vandaag gebruik ik de eerste van links, Espressif, maar er zijn verschillende merken en typen, waaronder een Oled-display ingebouwd. De verschillen zijn echter allemaal dezelfde chip: de Tensilica LX6, 2 Core.
Stap 4: WiFi NodeMCU-32S ESP-WROOM-32
Dit is het diagram van ESP dat we in onze assemblage gebruiken. Het is een chip die veel aantrekkingskracht en kracht heeft. Het zijn verschillende pinnen die u kiest of ze willen werken als digitaal analoog, analoog digitaal of zelfs als dat de deur als digitaal werkt.
Stap 5: Arduino IDE configureren (Windows)
Hier leest u hoe u de Arduino IDE configureert, zodat we kunnen compileren voor ESP32:
1. Download de bestanden via de link:
2. Pak het bestand uit en kopieer de inhoud naar het volgende pad:
C: / Gebruikers / [YOUR_USER_NAME] / Documenten / Arduino / hardware / espressif / esp32
Opmerking: als er geen map "espressif" en "esp32" is, maakt u ze gewoon normaal aan.
3. Open de map
C: / Gebruikers / [YOUR_USER_NAME] / Documenten / Arduino / hardware / espressif / esp32 / tools
Voer het bestand "get.exe" uit.
4. Nadat de "get.exe" is voltooid, sluit u de ESP32 aan en wacht u tot de stuurprogramma's zijn geïnstalleerd (of installeer handmatig).
Klaar, kies nu gewoon het ESP32-bord in "tools >> board" en compileer je code.
Stap 6: WiFi-scan
Hier is een voorbeeld van hoe u kunt zoeken naar beschikbare WiFi-netwerken in de buurt van de ESP-32, evenals de signaalsterkte van elk van hen. Bij elke scan komen we er ook achter welk netwerk de beste signaalsterkte heeft.
Stap 7: Coderen
Laten we eerst de bibliotheek "WiFi.h" opnemen, het zal nodig zijn om ons in staat te stellen met de netwerkkaart van ons apparaat te werken.
#include "WiFi.h"
Hier zijn twee variabelen die worden gebruikt om de SSID (naam) en signaalsterkte van het netwerk op te slaan.
String networkSSID = "";int strengthSignal = -9999;
Stap 8: Instellen
In de setup-functie () zullen we de WiFi-gedragsmodus van ons apparaat definiëren. In dit geval, aangezien het doel is om naar beschikbare netwerken te zoeken, zullen we ons apparaat configureren om als een "station" te werken.
void setup () { // Initialiseer Serial om in te loggen op Serial Monitor Serial.begin (115200);
// configureren van de werkingsmodus van WiFi als station WiFi.mode(WIFI_STA);//WIFI_STA is een constante die de stationsmodus aangeeft
// verbreek de verbinding met het toegangspunt als het al is verbonden WiFi.disconnect(); vertraging (100);
// Serial.println ("Setup klaar");}
Stap 9: Loop
In de loop ()-functie zoeken we naar de beschikbare netwerken en printen vervolgens het logboek in de gevonden netwerken. Voor elk van deze netwerken zullen we de vergelijking maken om het netwerk met de hoogste signaalsterkte te vinden.
void loop () { // Serial.println ("scan start"); // voert het scannen van beschikbare netwerken uit
int n = WiFi.scanNetworks();
Serial.println("Scan uitgevoerd");
// controleer of je een netwerk hebt gevonden if (n == 0) { Serial.println ("Geen netwerk gevonden"); } else { networkSSID = ""; sterkteSignaal= -9999; Serieafdruk(n); Serial.println(" netwerken gevonden\n"); for (int i = 0; i < n; ++i) { // print op seriële monitor elk van de gevonden netwerken Serial.print ("SSID: "); Serial.println(WiFi. SSID(i)); // netwerknaam (ssid) Serial.print ("SIGNAAL: "); Serial.print(WiFi. RSSI(i)); //signaalsterkte Serial.print ("\t\tCHANNEL: "); Serial.print((int)WiFi.channel(i)); Serial.print("\t\tMAC: "); Serial.print(WiFi. BSSIDstr(i)); Serieel.println("\n\n"); if(abs(WiFi. RSSI(i)) <abs(strengthSignal)) { strengthSignal = WiFi. RSSI(i); netwerkSSID = WiFi. SSID(i); Serial.print("NETWERK MET HET BESTE SIGNAAL GEVONDEN: ("); Serial.print(networkSSID); Serial.print(") - SIGNAL: ("); Serial.print(strengthSignal); Serial.println(")"); } vertraging(10); } } Serial.println("\n----------------------------------------- -------------------------------------------\N");
// interval van 5 seconden om een nieuwe scanvertraging uit te voeren (5000); }
"Als (abs (WiFi. RSSI (i))"
Merk op dat we in het bovenstaande statement abs () gebruiken, deze functie neemt de absolute waarde (dus niet negatief) van het getal. In ons geval hebben we dit gedaan om de kleinste van de waarden in de vergelijking te vinden, omdat de signaalintensiteit wordt gegeven als een negatief getal en hoe dichter bij nul, hoe beter het signaal.
Stap 10: Bestanden
Download al mijn bestanden in: www.fernandok.com
Aanbevolen:
Inleiding tot IR-circuits: 8 stappen (met afbeeldingen)
Inleiding tot IR-circuits: IR is een complex stukje technologie en toch heel eenvoudig om mee te werken. In tegenstelling tot LED's of LASER's kan infrarood niet met het menselijk oog worden gezien. In deze Instructable zal ik het gebruik van infrarood demonstreren via 3 verschillende circuits. De circuits zullen niet
Inleiding tot Arduino: 18 stappen
Inleiding tot Arduino: Heb je je ooit afgevraagd om je eigen apparaten te maken, zoals een weerstation, autodashboard voor het bewaken van brandstof, snelheid en locatietracking of het besturen van je huishoudelijke apparaten die worden bestuurd door smartphones of heb je je ooit afgevraagd over het maken van geavanceerde r
Een inleiding tot GarageBand: 9 stappen
Een inleiding tot GarageBand: GarageBand is een platform waarop je muziek kunt maken. Je kunt vrijwel alles op dit platform doen, of het nu gaat om het maken van je droommuziek of het repliceren van een muziekstuk dat je leuk vindt. Maar het is hoe dan ook niet gemakkelijk. Daarom ben ik hier
Inleiding tot Visuino - Visuino voor beginners: 6 stappen
Inleiding tot Visuino | Visuino voor beginners.: In dit artikel wil ik het hebben over Visuino, een andere grafische programmeersoftware voor Arduino en soortgelijke microcontrollers. Als je een elektronische hobbyist bent die in de wereld van Arduino wil stappen, maar geen voorafgaande programmeerkennis heeft
Inleiding tot Python: 9 stappen
Intro tot Python: Python is een zeer nuttige en flexibele computerprogrammeertaal gemaakt door Guido van Rossum. Python is ook een applicatie op de Raspberry Pi die de code die je schrijft interpreteert in iets dat de Raspberry Pi kan begrijpen en gebruiken. Op j