1. 程式人生 > >小愛同學控制燈 區域網

小愛同學控制燈 區域網

繼電器--------i02

#include <ESP8266WiFi.h>
#define LED 0
// 以上燒寫程式配網方式可以換成微信掃碼配網,等等,具體操作可檢視部落格相關例子
WiFiServer server(80); // 伺服器埠號
void smartConfig()
{
WiFi.mode(WIFI_STA);
Serial.println("\r\nWait for Smartconfig");
WiFi.beginSmartConfig();
while (1)
{
Serial.print(".");
digitalWrite(LED, 0);
delay(500);
digitalWrite(LED, 1);
delay(500);
if (WiFi.smartConfigDone())
{
Serial.println(“SmartConfig Success”);
Serial.printf(“SSID:%s\r\n”, WiFi.SSID().c_str());
Serial.printf(“PSW:%s\r\n”, WiFi.psk().c_str());
break;
}
}
}
void setup() {
Serial.begin(115200);
delay(10);
pinMode(2, OUTPUT);
digitalWrite(2, 1);
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print(“Connecting to “);
smartConfig(); //微信智慧配網
delay(500);
Serial.println(””);
Serial.println(“WiFi connected”);
// Start the server
server.begin();
Serial.println(“Server started @ “);
// Print the IP address & instructions
Serial.println(WiFi.localIP());
//打印出IP地址,後期可以製作顯示器來外部硬體顯示ip
Serial.println(“To control GPIO, open your web browser.”);
Serial.println(“To set GPIO 0 high, type:”);
Serial.print(WiFi.localIP());
Serial.println(”/gpio/1”);
Serial.println(“To set GPIO 0 low, type:”);
Serial.print(WiFi.localIP());
Serial.println("/gpio/0");
Serial.println(“To toggle GPIO 0, type:”);
Serial.print(WiFi.localIP());
Serial.println("/gpio/4");
}
void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
delay(100);
return;
}
String req = client.readStringUntil(’\r’);
Serial.println(req);
client.flush();
// Match the request
int val;
// 下面開始判斷ip進行動作指令
if (req.indexOf("/gpio/10") != -1)
digitalWrite(2, 1);
else if (req.indexOf("/gpio/11") != -1)
digitalWrite(2, 0);
else {
Serial.println(“invalid request”);
client.print(“HTTP/1.1 404\r\n”);
client.stop();
return;
}
client.flush();
// Prepare the response
String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\n\r\nWelcome donghui space!jiaru qqqun:47684062 ";
s += “\n”;
// Send the response to the client
client.print(s);
delay(1);
Serial.println(“Client disonnected”);
}

在這裡插入圖片描述
手機 訪問IP+程式裡字元

外觀圖 懶得寫教程在這裡插入圖片描述