Tutorial: Cactus Rev 2 Atmega32u4 ESP8266 Websocket

Einleitung

Für mein neuestes Projekt benötigte ich einen Websocket auf meinem Cactus Rev 2. Bereits in älteren Beiträgen habe ich berichtet, wie man den ESP8266 durch den Atmega 32u4 flashen kann. Diesmal zeige ich euch, wie ihr den ESP8266 dazu bringt einen Access-Point zu erstellen und euch anschließend über einen Browser per Websocket verbinden könnt.

Websocket auf ESP8266 flashen

Vorbereitungen

Bevor es weiter geht, solltet ihr die folgenden Guides beachten:

Wenn ihr diese Guides gelesen habt, solltet ihr in der Lage sein, mittels der Arduino IDE ein Binary zu erstellen und dieses mit esptools oder NodeMCUFlasher auf den ESP8266 zu flashen.

Websocket Sketch erstellen

Als library für den Websocket nutzen wir Links2004/arduinoWebSockets.

  1. Öffnet die folgende Datei arduinoWebSockets/examples/WebSocketServer/WebSocketServer.ino
  2. Entfernt die Zeilen 73 bis 77.
  3. Fügt in die setup() den unten stehenden Code 1 ein.
  4. Fügt den unten Stehenden Code 2 über die Zeile WebSocketServer… ein

Code 1

Diese Code erzeugt einen Access Point mit dem Namen “ESP-test”.

USE_SERIAL.print("Setting soft-AP configuration ... ");
USE_SERIAL.println(WiFi.softAPConfig(local_IP, gateway, subnet) ? "Ready" : "Failed!");

USE_SERIAL.print("Setting soft-AP ... ");
USE_SERIAL.println(WiFi.softAP("ESP-test") ? "Ready" : "Failed!");
USE_SERIAL.print("Soft-AP IP address = "); USE_SERIAL.println(WiFi.softAPIP());

 Code 2

Dieser Code definiert die Netzwerkkonfiguration.

IPAddress local_IP(192,168,4,22);
IPAddress gateway(192,168,4,9);
IPAddress subnet(255,255,255,0);

Nun solltet ihr das erstellte Binary auf den ESP8266 flashen und in der Lister der verfügbaren WLAN-Netzwerke sollte der ESP-Chip auftauchen.

Der ESP8266 erzeugt einen WLAN-Access-Point mit dem ihr euch verbinden könnt.
Der ESP8266 erzeugt einen WLAN-Access-Point mit dem ihr euch verbinden könnt.

Websocket im Browser öffnen

Damit ihr eurem ESP8266 nun Nachrichten über den Websocket schicken könnt, öffnet ihr einen Browser und seine Entwicklungskonsole (F12). Nebenher solltet ihr euren Cactus Revs mittels USB verbunden haben und den Seriellen Monitor in der Arduino IDE geöffnet haben.

Nun können wir uns mit dem folgenden Code mit dem Websocket verbinden. Achtet darauf, dass ihr die richtige IP-Adresse verwendet. Um dies zu testen, könnt ihr auch versuchen den ESP8266 zu pingen im Terminal/CMD.

var socket = new Websocket("ws://192.168.4.21:81")

Mit dem folgenden Berfehl sendet ihr eine Nachricht an den ESP8266 Websocket Server.

socket.send("Hi");

Nun sollte genau die selbe Nachricht auch auf dem seriellen Monitor erscheinen.

Hier seht ihr recht die Entwicklerkonsole vom Chrome, dort wurde eine Websocket-Verbindung zum ESP8266 aufgebaut.
Hier seht ihr recht die Entwicklerkonsole vom Chrome, dort wurde eine Websocket-Verbindung zum ESP8266 aufgebaut. Anschließend wurde eine Nachricht an die geöffnete Verbindung gesendet, der ESP8266 gibt daraufhin diese Nachricht an den Atmega32u4 weiter und dieser gibt die Nachricht auf dem seriellen Monitor aus.

 

Alle Tutorials zum Cactus Rev 2

  1. Tutorial: Arduino Cactus NTC 100K Temperatur Sensor
  2. Tutorial: Arduino Cactus Soil Moisture und Wasserpumpe ansteuern
  3. Tutorial: Arduino Cactus Ultraschallsensor
  4. Tutorial: Arduino Cactus Rev 2 Soil Moisture Sensor
  5. Tutorial: Cactus Rev 2 Atmega32u4 ESP8266 Websocket
  6. Tutorial: Sketch/Firmware auf ESP8266 über ein Atmega32u4 hochladen
  7. Tutorial: Cactus Rev 2 ESP8266 flashen
  8. Tutorial: Cactus Rev 2 Atmega32u4 ESP8266-03 - Getting Started
Zusammenfassung
Tutorial: Cactus Rev 2 Atmega32u4 ESP8266 Websocket
Artikeltitel
Tutorial: Cactus Rev 2 Atmega32u4 ESP8266 Websocket
Beschreibung
In diesem Tutorial zeige ich euch, wie ihr mit dem Cactus Rev 2 einen Websocket Server auf dem ESP8266 erstellt und durch einen Browser Nachrichten sendet und empfangt.
Autor

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

E-Mail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden .

Pin It on Pinterest

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen