-
-
-
Tổng tiền thanh toán:
-
Điều khiển LED bằng WebServer sử dụng NodeMCU ESP8266
20/05/2021
Nạp code Esp8266 và kiểm tra kết nối Wifi
Bước đầu tiên chúng ta cần nạp code vào NodeMCU ESP8266 và kiểm tra xem đã kết nối được với Wifi chưa.
Sau khi đã kết nối thành công sẽ xuất hiện địa chỉ IP của Wifi, các bạn copy địa chỉ IP này paste trên một trình duyệt bất kỳ để có thể điều khiển Bật/Tắt Led nhé.
Đây là phần giao diện trên Web.
Dữ liệu trả về Serial khi chúng ta bật tắt trên Website.
Sơ đồ nguyên lý
Linh kiện cần thiết cho dự án
Tên linh kiện | Số lượng |
NodeMCU ESP8266 | 1 |
Dây cắm | 1 |
Breadboard | 1 |
LED | 1 |
Code
#include <ESP8266WiFi.h> const char* ssid = "Phamson"; const char* password = "phamtheson"; int LED = 16; // GPIO16 (D0) WiFiServer server(80); void setup(){ Serial.begin(115200); pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); Serial.print("Connecting to the Newtork"); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("WiFi connected"); server.begin(); Serial.println("Server started"); Serial.print("IP Address of network: "); // will IP address on Serial Monitor Serial.println(WiFi.localIP()); Serial.print("Copy and paste the following URL: https://"); Serial.print(WiFi.localIP()); Serial.println("/"); } void loop(){ WiFiClient client = server.available(); if (!client){ return;} Serial.println("Waiting for new client"); while(!client.available()) { delay(1); } String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); int value = HIGH; if(request.indexOf("/LED=ON") != -1){ digitalWrite(LED, LOW); // Turn LED ON value = LOW; } if(request.indexOf("/LED=OFF") != -1){ digitalWrite(LED, HIGH); // Turn LED OFF value = HIGH; } //*------------------HTML Page Code---------------------*// client.println("HTTP/1.1 200 OK"); // client.println("Content-Type: text/html"); client.println(""); client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.print(" CONTROL LED: "); if(value == HIGH){ client.print("OFF"); } else { client.print("ON"); } client.println("<br><br>"); client.println("<a href=\"/LED=ON\"\"><button>ON</button></a>"); client.println("<a href=\"/LED=OFF\"\"><button>OFF</button></a><br />"); client.println("</html>"); delay(1); Serial.println("Client disonnected"); Serial.println(""); }
Lời kết
Tham gia cộng đồng Arduino KIT Để nhận được nhiều kiến thức bổ ích, các bạn Đăng ký để nhận thông báo khi có bài viết mới nhé. Tham gia Cộng đồng Arduino KIT để cùng nhau thảo luận và chia sẽ kiến thức về lập trình Arduino. Nếu các bạn thấy bài viết bổ ích nhớ Like và Share cho mọi người cùng học nhé. |