ESP8266 WiFi – Webserver (ArduinoIDE)
Op deze pagina vind je een paar eenvoudige stappen om met ArduinoIDE verbinding te maken met een router en een kleine webserver te starten met “Hallo wereld!”.
Wat heb je nodig?
1) ArduinoIDE
2) ArduinoIDE ESP compiler
Script
Onderstaand script laat een voorbeeld zien en is iets uitgebreider omdat het via de serial output ook gegevens weergeeft zoals welk IP adres het heeft toegewezen gekregen.
Ps. vergeet niet SSID en wachtwoord in te vullen!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
#include "ESP8266WiFi.h" // WiFi parameters to be configured const char* ssid = "Matrix"; // Hoofdlettergevoelig const char* password = "139726845$e"; // Hoofdlettergevoelig WiFiServer server(80); void setup(void) { Serial.begin(9600); Serial.print("Bezig met verbinden"); WiFi.begin(ssid, password); // Connect to WiFi // while wifi not connected yet, print '.' // then after it connected, get out of the loop while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } // Verbonden. Serial.println("OK!"); // Access Point (SSID). Serial.print("SSID: "); Serial.println(WiFi.SSID()); // IP adres. Serial.print("IP: "); Serial.println(WiFi.localIP()); // Gateway Serial.print("Gateway: "); Serial.println(WiFi.gatewayIP()); // Signaalsterkte. long rssi = WiFi.RSSI(); Serial.print("Signaal sterkte (RSSI): "); Serial.print(rssi); Serial.println(" dBm"); // MAC adres Serial.print("ESP MAC: "); Serial.println(WiFi.macAddress()); Serial.println(""); Serial.print("Start server..."); server.begin(); Serial.println("OK!"); } void loop() { // Check if a client has connected WiFiClient client = server.available(); if (!client) { return; } // Return the response, build the html page client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.println("<h1> Hallo Wereld! (ArduinoIDE)</h1>"); client.println("</html>"); } |
Serial output:
1 2 3 4 5 6 7 |
Bezig met verbinden...OK! SSID: Naam IP: 192.168.2.13 Gateway: 192.168.2.254 Signaal sterkte (RSSI): -65 dBm ESP MAC: 5C:DF:DF:DD:79:AA Voltage: 3.30V |
Browser:
Script met webserver
Een ander voorbeeld kan je hieronder vinden, deze werkt vooral als er meer in de loop() uitgevoerd moet worden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#include <ESP8266WiFi.h> #include <ESP8266WebServer.h> ESP8266WebServer server(80); void setup() { Serial.begin(115200); WiFi.begin("Network name", "Password"); //Connect to the WiFi network while (WiFi.status() != WL_CONNECTED) { //Wait for connection delay(500); Serial.println("Waiting to connect…"); } Serial.print("IP address: "); Serial.println(WiFi.localIP()); //Print the local IP server.on(" / other", []() { //Define the handling function for the path server.send(200, "text / plain", "Other URL"); }); server.on(" / ", handleRootPath); //Associate the handler function to the path server.begin(); //Start the server Serial.println("Server listening"); } void loop() { server.handleClient(); //Handling of incoming requests } void handleRootPath() { //Handler for the rooth path server.send(200, "text/plain", "Hello world"); } |
Voorbeeld WEB:
Bron: techtutorialsx.com