下期第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小時不斷蒐集數據到氣象中心…


您可能也會喜歡…

發佈留言