งานที่11

NodeMCU Esp8266 เปิดปิดไฟควบคุมผ่าน App มือถือ

include <ESP8266WiFi.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3f, 16, 02);
const char* ssid = "9arduino"; // ชื่อ SSID Wifi
const char* password = "1234567890"; // รหัส Password Wifi
WiFiServer server(80);
int val1 = 1;
int val2 = 1;
int val3 = 1;
int val4 = 1;
void setup() {
Serial.begin(9600);
delay(10);
lcd.begin();
lcd.backlight();
lcd.print("Server Off..");
lcd.setCursor(0, 1);
pinMode(D0, OUTPUT);
pinMode(D5, OUTPUT);
pinMode(D6, OUTPUT);
pinMode(D7, OUTPUT);
digitalWrite(D0, 1);
digitalWrite(D5, 1);
digitalWrite(D6, 1);
digitalWrite(D7, 1);
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Start the server
server.begin();
Serial.println("Server started");
lcd.clear();
lcd.print("Server On IP :");
lcd.setCursor(0, 1);
// Print the IP address
Serial.println(WiFi.localIP());
lcd.print(WiFi.localIP()); // แสดง IP ผ่านจอ
lcd.setCursor(0, 2);
}
void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}
Serial.println("new client");
while(!client.available()){
delay(1);
}
// Read the first line of the request
String req = client.readStringUntil('\r');
Serial.println(req);
client.flush();
// Match the request
// ch1
if (req.indexOf("/?ch1=0") != -1)
val1 = 1;
else if (req.indexOf("/?ch1=1") != -1)
val1 = 0;
// ch2
else if (req.indexOf("/?ch2=0") != -1)
val2 = 1;
else if (req.indexOf("/?ch2=1") != -1)
val2 = 0;
// ch3
else if (req.indexOf("/?ch3=0") != -1)
val3 = 1;
else if (req.indexOf("/?ch3=1") != -1)
val3 = 0;
// ch4
else if (req.indexOf("/?ch4=0") != -1)
val4 = 1;
else if (req.indexOf("/?ch4=1") != -1)
val4 = 0;
else {
Serial.println("invalid request");
client.stop();
return;
}
// Set GPIO2 according to the request
digitalWrite(D0, val1);
digitalWrite(D5, val2);
digitalWrite(D6, val3);
digitalWrite(D7, val4);
client.flush();
// Prepare the response
String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\n\r\nGPIO is now ";
s += "\n";
client.print(s);
delay(1);
Serial.println("Client disonnected");
}

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

งานที่13

งานที่15

งานที่10