AP Server


WF8266R 本身就具有一台小型伺服器的能力, 在這個課程將學習到以下幾點 :

  • Access Point : 自訂 AP 名稱和密碼, 提供連線.
  • Web Server
  • Web Service

 設定 AP


WiFi 物件中 mode 方法可用來設置服務模式, 總共有 :

  • WIFI_AP : AP 模式
  • WIFI_STA : Client 模式
  • WIFI_AP_STA : 同時是 AP 也是 Client
  • WIFI_OFF : 關閉

在這個例子中, 我們使用 AP 模式, 並透過 softAP 方法指定 SSID 名稱和密碼, 如果不想設置密碼可以空.

  WiFi.mode(WIFI_AP);
  WiFi.softAP(ssid, password);     //開啟 AP

 Web Server


serverEvent 這個方法提供了這台 WEB SERVER 可以提供的服務, 其中 / 為根目錄也就是 http://192.168.4.1 時提供的服務. 另外還有一個是 /wf8266r 也就是 http://192.168.4.1/wf8266r 的服務, 在這個服務中提供二個參數, 分別是 p1 和 p2.

void serverEvent(){
  server.on("/", handleRoot);      //http://192.168.4.1

  server.on("/wf8266r", []() {     //http://192.168.4.1/wf8266r
    String p1="",p2="";
    server.sendHeader("Connection", "close");
    for (uint8_t i = 0; i < server.args(); i++) {
      if (server.argName(i) == "p1")
        p1 = server.arg(i);
      if (server.argName(i) == "p2")
        p2 = server.arg(i);
    }

    String message = "{\"p1\":\"" + p1 + "\",\"p2\":\""+p2+"\"}";
    server.send(200, "text/html", message);
    tft.println(message);
  });
}

原始碼 : https://github.com/UNUMobile/wf8266t/blob/master/WF8266T-TFT/_04_WifiScan/_04_WifiScan.ino