/* Rui Santos Complete project details at https://RandomNerdTutorials.com/esp8266-nodemcu-webserial-library/ This sketch is based on the WebSerial library example: ESP8266_Demo https://github.com/ayushsharma82/WebSerial */ #include <Arduino.h> #include <ESP8266WiFi.h> #include <ESPAsyncTCP.h> #include <ESPAsyncWebServer.h> #include <WebSerial.h> #define LED 2 AsyncWebServer server(80); const char* ssid = "REPLACE_WITH_YOUR_SSID"; // Your WiFi SSID const char* password = "REPLACE_WITH_YOUR_PASSWORD"; // Your WiFi Password void recvMsg(uint8_t *data, size_t len){ WebSerial.println("Received Data..."); String d = ""; for(int i=0; i < len; i++){ d += char(data[i]); } WebSerial.println(d); if (d == "ON"){ digitalWrite(LED, LOW); } if (d=="OFF"){ digitalWrite(LED, HIGH); } } void setup() { Serial.begin(115200); pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); if (WiFi.waitForConnectResult() != WL_CONNECTED) { Serial.printf("WiFi Failed!\n"); return; } Serial.println("IP Address: "); Serial.println(WiFi.localIP()); // WebSerial is accessible at "<IP Address>/webserial" in browser WebSerial.begin(&server); WebSerial.msgCallback(recvMsg); server.begin(); } void loop() { WebSerial.println("Hello!"); delay(2000); }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter