Đã được đăng vào 19/08/2020 @ 16:01
Điều khiển LED bằng WebServer sử dụng NodeMCU ESP8266
Mục lục
hiện
Trong nội dung bài viết hôm nay mình sẽ chia sẽ cho các bạn các tạo một bảng điều khiển trên Webpage sử dụng NodeMCU ESP8266.
Chúng ta bắt đầu nhé…
Nạp code 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é.
Đọc thêm:
- Hướng dẫn cài đặt ESP8266 và kết nối với Blynk
- Hệ thống điều khiển thiết bị nhà thông minh sử dụng NodeMCU ESP8266 và App Blynk
Đây là phần giao diện trên WebServer.
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(""); }
Nguồn: arduinokit.vn
Để lại một bình luận