下期第10堂[IOT機器人] 創意自由設計
今天課程分2部分,第1部分研究AP熱點,第2部分月考週自由探究。
使用主板當成熱點AP,在10公尺範圍內遙控,高速、低延遲非常理想。
#include <ESP8266WiFi.h>
const char AP_NameChar[] = "春天的風" ;
const char WiFiPassword[] = "";
WiFiServer server(80);
String header = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n";
String html_1 = "<!DOCTYPE html><html><head><title>LED Control</title></head><body><div id='main'><h2>LED Control</h2>";
String html_2 = "<form id='F1' action='LEDON'><input class='button' type='submit' value='LED ON' ></form><br>";
String html_3 = "<form id='F2' action='LEDOFF'><input class='button' type='submit' value='LED OFF' ></form><br>";
String html_4 = "</div></body></html>";
String request = "";
int LED_Pin = 2;
void setup() {
pinMode(LED_Pin, OUTPUT);
boolean conn = WiFi.softAP(AP_NameChar, WiFiPassword);
server.begin();
}
void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) { return; }
// Read the first line of the request
request = client.readStringUntil('\r');
if ( request.indexOf("LEDON") > 0 ) { digitalWrite(LED_Pin, HIGH); }
else if ( request.indexOf("LEDOFF") > 0 ) { digitalWrite(LED_Pin, LOW); }
client.flush();
client.print( header );
client.print( html_1 );
client.print( html_2 );
client.print( html_3 );
client.print( html_4);
delay(5);
}
手機或筆電可以直接連上此AP,帶無線網卡的電腦也都可以。
但連上之後因為沒有網路,手機會顯示
打開手機的瀏覽器,網址 192.168.4.1
就可以看到LED開關按鈕
自由創作時間
請想像設計一個物聯網的應用,
例如遠端開啟冷氣,等一回家就可以涼爽舒適…
或是一個微型氣象站,24小時不斷蒐集數據到氣象中心…