#include "ESP8266WiFi.h" #include "ESP8266WebServer.h // https://techtutorialsx.com/2016/10/03/esp8266-setting-a-simple-http-webserver/ ESP8266WebServer server(80); const int remotePin = D1; const int buttonPin = D2; const int motorPin = D3; void setup() { Serial.begin(115200); connectWifi(); server.on("/", handleRootPath); server.begin(); Serial.println("Server listening"); pinMode(BUILTIN_LED, OUTPUT); pinMode(remotePin, OUTPUT); pinMode(buttonPin, INPUT); pinMode(motorPin, OUTPUT); } int buttonState = 0; void loop() { if ((WiFi.status() == WL_CONNECTED)) { server.handleClient(); } else { Serial.println("WiFi not connected!"); connectWifi(); } buttonState = digitalRead(buttonPin); if (buttonState == HIGH) { Serial.println("Button pressed"); digitalWrite(remotePin, HIGH); digitalWrite(motorPin, HIGH); digitalWrite(BUILTIN_LED, LOW); delay(500); } else { digitalWrite(remotePin, LOW); digitalWrite(motorPin, LOW); digitalWrite(BUILTIN_LED, HIGH); } delay(10); } void handleRootPath() { server.send(200, "text/plain", "Hello world"); } void connectWifi() { Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("WiFi connected."); Serial.println("IP address: "); Serial.println(WiFi.localIP()); }