天天看點

小白快速入門 esp8266 搭建網絡伺服器

http協定中預設使用80端口通路網頁

#include <ESP8266WiFi.h> 
#include <ESP8266WiFiMulti.h>
#include <ESP8266WebServer.h>
ESP8266WiFiMulti wifiMulti; // 建立一個wifi對象
ESP8266WebServer esp8266_server(80); // 建立eso8266_server對象使用的80端口
void setup() {
  // put your setup code here, to run once:
 Serial.begin(115200); //建立序列槽通信
 wifiMulti.addAP("wifi1", "passswrod1"); // wifi1 wfi2 wifi3 可寫入更多
 wifiMulti.addAP("wifi2", "password2"); // 會為你選擇信号最強的wifi
 wifiMulti.addAP("wifi3", "password3");
 while(wifiMulti.run() != WL_CONNECTED) // wifiMulti 如果傳回WL_CONNECTED 跳出循環
 {
    delay(200);
    Serial.print(".");
  }
  Serial.println();
  Serial.println("wifi start  ");
  Serial.print("name ");
  Serial.print(WiFi.SSID()); // 列印出連接配接到的wifi名稱
  Serial.print("  IP ");
  Serial.println(WiFi.localIP()); // 列印出wifi給esp8266闆子配置設定的IP

  esp8266_server.begin(); // 啟動網絡服務功能
  esp8266_server.on("/", handleRoots); // /為網頁根目錄, handleRoots 為通路網頁的源代碼
  esp8266_server.onNotFound(handleNotFound); // 對網頁位址錯誤時傳回404跳轉到handleNotFound建構的網頁
  Serial.println("HTTP esp8266_server started");
}

void loop() {
  esp8266_server.handleClient(); // 處理Http伺服器通路
}
void handleRoots()
{
  esp8266_server.send(200, "text/html", "<a href=\"#\">www.baidu.com</a>"); //處理根目錄通路請求
}
void handleNotFound()
{
  esp8266_server.send(404, "text/html","<h1>Not found</h1>"); // 處理範圍錯誤的請求
 };
           

每個人IP都不一樣以自己序列槽視窗中的IP為準

小白快速入門 esp8266 搭建網絡伺服器

通路根目錄效果

小白快速入門 esp8266 搭建網絡伺服器

404網頁傳回的結果

小白快速入門 esp8266 搭建網絡伺服器

繼續閱讀