Inhaltsverzeichnis:

Einführung in ESP32: 10 Schritte
Einführung in ESP32: 10 Schritte

Video: Einführung in ESP32: 10 Schritte

Video: Einführung in ESP32: 10 Schritte
Video: ESP32 Einführung - Ansteuerung & Programmieren - Die ersten Schritte 2024, November
Anonim
Image
Image
Hauptmerkmale
Hauptmerkmale

In diesem Artikel werden wir über ESP32 sprechen, das ich für einen älteren Bruder von ESP8266 halte. Ich mag diesen Mikrocontroller wirklich, weil er WiFi hat. Nur damit Sie eine Idee haben, bevor ESP existiert, wenn Sie ein Arduino benötigen, um WiFi zu haben, müssten Sie zwischen 200 und 300 US-Dollar ausgeben, um einen Wifi-Adapter zu kaufen. Der Adapter für Netzwerkkabel ist nicht so teuer, aber für WLAN war und ist er schon immer teuer. Aber zum Glück hat Espressif Systems ESP auf den Markt gebracht und löst unser Leben.

Ich mag ESP32 mit diesem Format, das einen USB-Anschluss hat. Dieses NodeMCU-Schema ist leicht zu manipulieren, da es keine Elektronik benötigt. Stecken Sie einfach das Kabel ein, schalten Sie das Gerät ein und programmieren Sie es. Es funktioniert wie ein Arduino.

Wie auch immer, heute werden wir über die allgemeinen Aspekte von ESP32 sprechen und darüber, wie die Arduino-IDE konfiguriert wird, um mehr Geräte dieses Typs zu programmieren. Außerdem werden wir ein Programm erstellen, das die Netzwerke durchsucht und zeigt, welches leistungsfähiger ist.

Schritt 1: Hauptmerkmale

Chip mit integriertem WLAN: Standard 802.11 B / G / N, im Bereich von 2,4 bis 2,5 GHz

Betriebsarten: Client, Access Point, Station + Access Point

Dual-Core-Mikroprozessor Tensilica Xtensa 32-Bit LX6

Einstellbarer Takt von 80MHz bis 240MHz

Betriebsspannung: 3,3 VDC

Es hat SRAM von 512 KB

Funktionen 448 KB ROM

Es verfügt über einen externen Flash-Speicher von 32 MB (4 Megabyte)

Der maximale Strom pro Pin beträgt 12 mA (es wird empfohlen, 6 mA zu verwenden)

Es hat 36 GPIOs

GPIOs mit PWM / I2C- und SPI-Funktionen

Es verfügt über Bluetooth v4.2 BR / EDR und BLE (Bluetooth Low Energy)

Schritt 2: Vergleich zwischen ESP32, ESP8266 und Arduino R3

Vergleich zwischen ESP32, ESP8266 und Arduino R3
Vergleich zwischen ESP32, ESP8266 und Arduino R3

Schritt 3: Arten von ESP32

Arten von ESP32
Arten von ESP32

ESP32 wurde mit vielen Geschwistern geboren. Heute verwende ich den ersten von links, Espressif, aber es gibt mehrere Marken und Typen, einschließlich des integrierten Oled-Displays. Die Unterschiede sind jedoch alle der gleiche Chip: der Tensilica LX6, 2 Core.

Schritt 4: WiFi-NodeMCU-32S ESP-WROOM-32

WLAN-KnotenMCU-32S ESP-WROOM-32
WLAN-KnotenMCU-32S ESP-WROOM-32

Dies ist das Diagramm von ESP, das wir in unserer Baugruppe verwenden. Es ist ein Chip, der viel Anziehungskraft und Leistung hat. Es sind mehrere Pins, die Sie wählen können, ob sie digital analog, analog digital oder sogar digital arbeiten möchten.

Schritt 5: Konfigurieren der Arduino-IDE (Windows)

Konfigurieren der Arduino-IDE (Windows)
Konfigurieren der Arduino-IDE (Windows)
Arduino-IDE konfigurieren (Windows)
Arduino-IDE konfigurieren (Windows)

So konfigurieren Sie die Arduino-IDE, damit wir für ESP32 kompilieren können:

1. Laden Sie die Dateien über den Link herunter:

2. Entpacken Sie die Datei und kopieren Sie den Inhalt in den folgenden Pfad:

C: / Benutzer / [IHR_BENUTZERNAME] / Dokumente / Arduino / Hardware / espressif / esp32

Hinweis: Wenn kein Verzeichnis "espressif" und "esp32" vorhanden ist, erstellen Sie diese einfach normal.

3. Öffnen Sie das Verzeichnis

C: / Benutzer / [IHR_BENUTZERNAME] / Dokumente / Arduino / Hardware / espressif / esp32 / Tools

Führen Sie die Datei "get.exe" aus.

4. Nachdem die "get.exe" beendet ist, schließen Sie den ESP32 an, warten Sie, bis die Treiber installiert sind (oder installieren Sie sie manuell).

Fertig, jetzt wählen Sie einfach das ESP32-Board in "Tools >> Board" aus und kompilieren Ihren Code.

Schritt 6: WLAN-Scan

Hier ist ein Beispiel für die Suche nach verfügbaren WLAN-Netzwerken in der Nähe des ESP-32 sowie der Signalstärke jedes einzelnen. Bei jedem Scan finden wir auch heraus, welches Netzwerk die beste Signalstärke hat.

Schritt 7: Code

Lassen Sie uns zunächst die Bibliothek "WiFi.h" einbinden, damit wir mit der Netzwerkkarte unseres Geräts arbeiten können.

#include "WiFi.h"

Hier sind zwei Variablen, die verwendet werden, um die SSID (Name) und die Signalstärke des Netzwerks zu speichern.

String networkSSID = "";int StrengthSignal = -9999;

Schritt 8: Einrichtung

In der Funktion setup() definieren wir den WLAN-Verhaltensmodus unseres Geräts. Da das Ziel in diesem Fall darin besteht, nach verfügbaren Netzwerken zu suchen, konfigurieren wir unser Gerät so, dass es als "Station" funktioniert.

Void setup () {// Initialisieren Sie Serial, um sich bei Serial Monitor anzumelden Serial.begin (115200);

// Konfiguration der Betriebsart von WiFi als Station WiFi.mode(WIFI_STA); //WIFI_STA ist eine Konstante, die den Stationsmodus angibt

// vom Zugangspunkt trennen, wenn er bereits verbunden ist WiFi.disconnect(); Verzögerung (100);

// Serial.println ("Setup abgeschlossen");}

Schritt 9: Schleife

In der Funktion loop() suchen wir nach den verfügbaren Netzwerken und drucken dann das Protokoll in den gefundenen Netzwerken. Für jedes dieser Netzwerke werden wir den Vergleich durchführen, um dasjenige mit der höchsten Signalstärke zu finden.

Void Schleife () {//Serial.println ("Scan-Start"); // führt das Scannen von verfügbaren Netzwerken durch

int n = WiFi.scanNetworks();

Serial.println ("Scan durchgeführt");

// Überprüfen Sie, ob Sie ein Netzwerk gefunden haben if (n == 0) {Serial.println ("Kein Netzwerk gefunden"); } sonst { networkSSID = ""; StärkeSignal= -9999; Serial.print (n); Serial.println("Netzwerke gefunden\n"); for (int i = 0; i < n; ++i) {// Drucken Sie auf dem seriellen Monitor jedes der gefundenen Netzwerke Serial.print ("SSID: "); Serial.println (WiFi. SSID (i)); // Netzwerkname (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // Signalstärke Serial.print("\t\tCHANNEL:"); Serial.print ((int)WiFi.channel (i)); Serial.print("\t\tMAC:"); Serial.print (WiFi. BSSIDstr(i)); Serial.println("\n\n"); if (abs (WiFi. RSSI (i)) < abs (strengthSignal)) { StrengthSignal = WiFi. RSSI (i); NetzwerkSSID = WiFi. SSID(i); Serial.print ("NETZWERK MIT DEM BESTEN SIGNAL GEFUNDEN: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (strengthSignal); Serial.println (")"); } Verzögerung(10); } } Serial.println("\n----------------------------------------------------- -------------------------------------------\n");

// Intervall von 5 Sekunden, um eine neue Scanverzögerung (5000) durchzuführen; }

"Wenn (abs (WiFi. RSSI (i))"

Beachten Sie, dass wir in der obigen Anweisung abs() verwenden, diese Funktion den absoluten Wert (dh nicht negativ) der Zahl nimmt. In unserem Fall haben wir dies getan, um den kleinsten der Werte im Vergleich zu finden, denn die Signalintensität wird als negative Zahl angegeben und je näher an Null, desto besser das Signal.

Schritt 10: Dateien

Laden Sie alle meine Dateien herunter: www.fernandok.com

Empfohlen: