本文將介紹如何使用一個ESP8266開發板制作光強度檢測器,并將檢測結果在本地網頁顯示。
前言
你是否碰到過這樣的問題,當你外出時突然忘記了家里的燈是否還開著,忘了關家里的燈怎么辦呢?這個項目將允許你通過一個每秒更新的簡單網頁,查看房間的燈是否亮著。
電路連接
首先,連接一些外部元件到ESP8266開發板。將LDR光敏電阻通過一個10k的下拉電阻連接到3.3v。LDR光敏電阻將根據它接收到的光強度來改變電阻值,然后再用跳線連接10k電阻到ESP8266的ADC引腳。
電路原理圖如下:
程序設計思路
首先加載Hello World服務器的示例文件,為了讓它聲明light值并自動刷新,文中更改了handleRoot回調函數來提供定制的html代碼。由于沒有使用SD卡,所以無法使用javascript自動刷新這些值。慶幸的是,HTML本身提供了一種按設置的間隔時間刷新頁面的方法。只需要在《p》標簽后面添加《meta http-equiv=“refresh” content=“1”》。記住需要在代碼中包含你的WiFi證書。
然后,通過瀏覽器訪問ESP8266的IP地址就可以查看頁面,在示例中IP地址是192.168.0.41,在瀏覽器設置中允許網站自動刷新,如果希望在不網絡上(例如在使用4G網絡的手機上)查看網頁,需要將對應端口轉發到ESP8266的IP地址。例如,輸入的不是192.168.0.41,端口轉發的類型是“MY_IP:THE_PORT_I_CHOSE_TO_FORWARD”,MY_IP是你的外網IP地址,THE_PORT_I_CHOSE_TO_FORWARD路由器設置中設置的端口。通過端口轉發,現在就算你不在家也可以檢查家里的燈是開著還是關著了!
完整代碼
#include
#include
#include
#include
const char* ssid = "SSID";
const char* password = "PSSWD";
ESP8266WebServer server(80);
void handleRoot() {
String msg = "
msg += "
";msg += "
The light level is: ";
msg += String(analogRead(A0))+"
";msg += "";
msg += "";
server.send(200, "text/html", msg);
}
void handleNotFound(){
String message = "File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET)?"GET":"POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i=0; i
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
server.send(404, "text/plain", message);
}
void setup(void){
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
if (MDNS.begin("esp8266")) {
Serial.println("MDNS responder started");
}
server.on("/", handleRoot);
server.onNotFound(handleNotFound);
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
server.handleClient();
}
-
檢測器
+關注
關注
1文章
860瀏覽量
47651 -
開發板
+關注
關注
25文章
4943瀏覽量
97188 -
ESP8266
+關注
關注
50文章
962瀏覽量
44829
發布評論請先 登錄
相關推薦
評論