Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Aufbau der Schaltung
- Schritt 2: Schneller Überblick über das SPIFFS-Dateisystem
- Schritt 3: Installation des SPIFFS Bootloaders unter Mac OS
- Schritt 4: Bibliotheken installieren
- Schritt 5: Erstellen Sie eine Index.html- und eine Style.css-Datei mit dem folgenden Inhalt
- Schritt 6: Arduino-Code
- Schritt 7: Laden Sie den Arduino-Code und die Dateien mit dem SPIFFS Loader hoch
- Schritt 8: Ermitteln Sie die IP-Adresse des ESP32-Webservers
- Schritt 9: Testen des lokalen Webservers
- Schritt 10: Zugriff auf einen lokalen Webserver von überall auf der Welt mit Ngrok
Video: Internetgesteuerte LED mit ESP32-basiertem Webserver - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Projektübersicht
In diesem Beispiel werden wir herausfinden, wie man einen ESP32-basierten Webserver erstellt, um den LED-Status zu steuern, auf den von überall auf der Welt zugegriffen werden kann. Sie benötigen für dieses Projekt einen Mac-Computer, aber Sie können diese Software auch auf einem kostengünstigen und stromsparenden Computer wie dem Raspberry Pi ausführen.
Vorbereitung des ESP32 mit der Arduino IDE
Um mit der Programmierung des ESP32 mit der Arduino-IDE und der Arduino-Programmiersprache zu beginnen, benötigen Sie ein spezielles Add-On. Lesen Sie über den folgenden Link, wie Sie die Arduino IDE für ESP32 unter Mac OS vorbereiten.
Lieferungen
Für dieses Tutorial benötigen Sie die folgenden Elemente:
- ESP32-Entwicklungsplatine5mm
- LEDWiderstand 220ohm
- 16x2 LCD-Display mit I2C-Modul
- Steckbrett
- Überbrückungsdrähte
- Micro-USB-Kabel
Schritt 1: Aufbau der Schaltung
Führen Sie die Verbindungen wie in der folgenden schematischen Abbildung unten gezeigt durch
Beginnen Sie mit dem Anschließen des 3V3-Versorgungsspannungsausgangs am ESP32 und GNDto an das Steckbrett. Verbinden Sie die LED über einen Widerstand mit dem ESP32, indem Sie den GPIO-Pin 23 als digitalen Ausgangspin verwenden. Verbinden Sie danach den SDA-Pin des 16x2-LCD-Displays mit GPIO-Pin 21 und SCL mit GPIO-Pin 22.
Schritt 2: Schneller Überblick über das SPIFFS-Dateisystem
SPIFFS steht für „Serial Peripheral Interface Flash File System“, d. h. Dateisystem für Flash-Speicher, das Daten über SPI überträgt. Dementsprechend ist SPIFFS ein vereinfachtes Dateisystem, das für Mikrocontroller mit Flash-Chips entwickelt wurde, die Daten über den SPI-Bus übertragen (z. B. ESP32-Flash-Speicher).
SPIFFS ist am nützlichsten für die Verwendung mit ESP32 in den folgenden Situationen:
- Erstellen von Dateien zum Speichern von Einstellungen
- Permanente Datenspeicherung.
- Erstellen von Dateien zum Speichern einer kleinen Datenmenge (anstatt dafür eine microSD-Karte zu verwenden).
- Speichern von HTML- und CSS-Dateien zum Erstellen eines Webservers.
Schritt 3: Installation des SPIFFS Bootloaders unter Mac OS
Sie können Daten direkt mit dem Plugin auf der Arduino IDE erstellen, speichern und in Dateien schreiben, die im ESP32-Dateisystem gespeichert sind.
Stellen Sie zunächst sicher, dass Sie die neueste Version der Arduino IDE installiert haben, und gehen Sie dann wie folgt vor:
- Öffnen Sie den folgenden Link und laden Sie das Archiv „ESP32FS-1.0.zip“herunter.
- Gehen Sie zum Arduino IDE-Verzeichnis, das sich im Ordner Documents befindet.
- Erstellen Sie einen Werkzeugordner, falls dieser nicht vorhanden ist. Erstellen Sie innerhalb des Tools-Verzeichnisses einen weiteren Ordner ESP32FS. Erstellen Sie innerhalb von ESP32FS ein weiteres, das als Tool bezeichnet wird.
- Entpacken Sie das in Schritt 1 heruntergeladene ZIP-Archiv in den Werkzeugordner.
- Starten Sie Ihre Arduino-IDE neu.
- Um zu überprüfen, ob das Plug-In erfolgreich installiert wurde, öffnen Sie die Arduino IDE und klicken Sie auf „Tools“und prüfen Sie, ob in diesem Menü der Eintrag „ESP32 Sketch Data Upload“vorhanden ist.
Schritt 4: Bibliotheken installieren
Mit den ESPAsyncWebServer- und AsyncTCP-Bibliotheken können Sie einen Webserver mit Dateien aus dem Dateisystem von ESP32 erstellen. Weitere Informationen zu diesen Bibliotheken finden Sie unter dem folgenden Link.
Installieren Sie die ESPAsyncWebServer-Bibliothek
- Klicken Sie hier, um das ZIP-Archiv der Bibliothek herunterzuladen.
- Entpacken Sie dieses Archiv. Sie sollten den ESPAsyncWebServer-master-Ordner abrufen.
- Benennen Sie es in "ESPAsyncWebServer" um.
Installieren Sie die AsyncTCP-Bibliothek
- Klicken Sie hier, um das ZIP-Archiv der Bibliothek herunterzuladen.
- Entpacken Sie dieses Archiv. Sie sollten den Ordner AsyncTCP-master erhalten.
- Benennen Sie es in „AsyncTCP“um.
Verschieben Sie die Ordner ESPAsyncWebServer und AsyncTCP in den Ordner Bibliotheken, der sich im Verzeichnis Dokumente befindet.
Starten Sie abschließend die Arduino-IDE neu.
Schritt 5: Erstellen Sie eine Index.html- und eine Style.css-Datei mit dem folgenden Inhalt
HTML/CSS-Template für Toggle-Button wurde aus der folgenden Quelle entnommen.
Schritt 6: Arduino-Code
Der Code basierte hauptsächlich auf dem Arduino-Code, der vom ESP32-Webserver mit SPIFFS und How to Use I2C LCD with ESP32 on Arduino IDE übernommen wurde.
Schritt 7: Laden Sie den Arduino-Code und die Dateien mit dem SPIFFS Loader hoch
- Öffnen Sie den Sketch-Ordner des Arduino-Codes.
- Erstellen Sie in diesem Ordner einen neuen Ordner namens „data“.
- Im Datenordner müssen Sie die Datei index.html und style.css ablegen.
- Arduino-Code hochladen
- Um die Dateien hochzuladen, klicken Sie dann in der Arduino IDE auf Tools> ESP32 Sketch Data Upload
Schritt 8: Ermitteln Sie die IP-Adresse des ESP32-Webservers
Es kann auf zwei Arten gefunden werden.
- Serieller Monitor auf Arduino IDE (Tools> Serieller Monitor)
- Auf dem LCD-Display
Schritt 9: Testen des lokalen Webservers
Öffnen Sie anschließend einen Webbrowser Ihrer Wahl und fügen Sie die folgende IP-Adresse in die Adressleiste ein. Sie sollten eine Ausgabe ähnlich der folgenden Abbildung erhalten.
Schritt 10: Zugriff auf einen lokalen Webserver von überall auf der Welt mit Ngrok
Ngrok ist eine Plattform, mit der Sie den Fernzugriff auf einen Webserver oder einen anderen Dienst, der auf Ihrem PC ausgeführt wird, über das externe Internet organisieren können. Der Zugriff wird über den sicheren Tunnel organisiert, der beim Start von ngrok erstellt wurde.
- Folgen Sie diesem Link und melden Sie sich an.
- Nachdem Sie ein Konto erstellt haben, loggen Sie sich ein und gehen Sie zum Reiter "Auth". Kopieren Sie die Zeile aus dem Feld „Your Tunnel Authtoken“.
- Klicken Sie in der Navigationsleiste auf die Registerkarte "Download". Wählen Sie die Version von ngrok aus, die zu Ihrem Betriebssystem passt, und laden Sie sie herunter.
- Entpacken Sie den heruntergeladenen Ordner und führen Sie die Befehlszeile aus.
- Verbinden Sie Ihr Konto, indem Sie den folgenden Befehl eingeben
./ngrok Authtoken
Starten Sie einen HTTP-Tunnel auf Port 80
./ngrok http Ihre_IP_Adresse:80
Wenn alles richtig gemacht wurde, sollte sich der Tunnelstatus auf „online“ändern und in der Spalte „Weiterleitung“sollte ein Weiterleitungslink erscheinen. Durch Eingabe dieses Links in Ihren Browser können Sie von überall auf der Welt auf den Webserver zugreifen.
Empfohlen:
Tutorial: So verwenden Sie ESP32-CAM in einem Video-Streaming-Webserver: 3 Schritte
Tutorial: So verwenden Sie ESP32-CAM in Videostreaming-Webservern: Beschreibung: ESP32-CAM ist ein ESP32 Wireless IoT Vision Development Board in einem sehr kleinen Formfaktor, das für den Einsatz in verschiedenen IoT-Projekten entwickelt wurde, z drahtlose Steuerung, drahtlose Überwachung, drahtlose QR-Identifikation
ESP8266 mit Thingspeak und DHT11 Tutorial - Webserver: 7 Schritte
ESP8266 mit Thingspeak und DHT11 Tutorial | Webserver: Hey, was ist los, Leute! Akarsh hier von CETech. Dieses Projekt von mir ist eher eine Lernkurve, um die Thingspeak-Plattform zusammen mit der Idee von MQTT zu verstehen und dann Thingspeak mit einem ESP8266 zu verwenden. Gegen Ende des Artikels werden wir co
Einen Express-Webserver mit einem Raspberry Pi erstellen – wikiHow
So erstellen Sie einen Express-Webserver mit einem Raspberry Pi: In dieser Anleitung erfahren Sie, wie Sie Ihren Raspberry Pi dazu bringen, einen Webserver zu hosten, der zum Hosten von Websites verwendet und sogar leicht modifiziert werden kann, um viele andere Online-Dienste wie z als Spieleserver oder Videostreaming-Server. Wir werden nur Deckung sein
Stärkung der SSL-Dienste auf Ihrem Webserver (Apache/Linux): 3 Schritte
Stärkung der SSL-Dienste auf Ihrem Webserver (Apache/Linux): Dies ist ein sehr kurzes Tutorial, das sich mit einem Aspekt der Cybersicherheit befasst – der Stärke des SSL-Dienstes auf Ihrem Webserver. Der Hintergrund ist, dass SSL-Dienste auf Ihrer Website verwendet werden, um sicherzustellen, dass niemand Daten hacken kann, die übertragen werden
Installieren eines neuen virtuellen Hosts im Apache-Webserver: 3 Schritte
Installieren eines neuen virtuellen Hosts auf dem Apache-Webserver: Der Zweck dieses Tutorials besteht darin, den Prozess der Konfiguration und Initiierung eines neuen virtuellen Apache-Webserver-Hosts zu durchlaufen. Ein virtueller Host ist ein „Profil” das erkennt, welcher DNS-Host (z. B. www.MyOtherhostname.com) für eine