Mục lục:

Điểm truy cập NodeMCU ESP8266 (AP) cho Máy chủ Web Với Cảm biến Nhiệt độ DT11 và Nhiệt độ & Độ ẩm in trong Trình duyệt: 5 bước
Điểm truy cập NodeMCU ESP8266 (AP) cho Máy chủ Web Với Cảm biến Nhiệt độ DT11 và Nhiệt độ & Độ ẩm in trong Trình duyệt: 5 bước

Video: Điểm truy cập NodeMCU ESP8266 (AP) cho Máy chủ Web Với Cảm biến Nhiệt độ DT11 và Nhiệt độ & Độ ẩm in trong Trình duyệt: 5 bước

Video: Điểm truy cập NodeMCU ESP8266 (AP) cho Máy chủ Web Với Cảm biến Nhiệt độ DT11 và Nhiệt độ & Độ ẩm in trong Trình duyệt: 5 bước
Video: [Lập trình ESP 8266]Bài 11 - Kết nối firebase và app inventor điều khiển thiết bị qua internet 2024, Tháng sáu
Anonim
Điểm truy cập NodeMCU ESP8266 (AP) cho Máy chủ Web Với Cảm biến Nhiệt độ DT11 và Nhiệt độ & Độ ẩm in trong Trình duyệt
Điểm truy cập NodeMCU ESP8266 (AP) cho Máy chủ Web Với Cảm biến Nhiệt độ DT11 và Nhiệt độ & Độ ẩm in trong Trình duyệt

Xin chào các bạn trong hầu hết các dự án chúng tôi sử dụng ESP8266 và trong hầu hết các dự án chúng tôi sử dụng ESP8266 làm máy chủ web để dữ liệu có thể được truy cập trên bất kỳ thiết bị nào qua wifi bằng cách truy cập Máy chủ web được lưu trữ bởi ESP8266 nhưng vấn đề duy nhất là chúng tôi cần một bộ định tuyến hoạt động cho điều đó và thiết bị của chúng tôi cũng cần kết nối với bộ định tuyến và chúng tôi cần nhập thông tin đăng nhập wifi của mình vào mã, vì vậy nếu bạn thay đổi wifi thì bạn cần thay đổi thông tin đăng nhập trong mã và bạn cần tải lại nó. Vì vậy, về cơ bản chúng ta có hai vấn đề ở đây: 1- chúng ta cần kết nối wifi để lưu trữ máy chủ web (bộ định tuyến) 2- mỗi khi kết nối wifi cần thay đổi, chúng ta cần nhập thông tin đăng nhập và tải lại mã. Vì vậy, để tránh tất cả vấn đề này, điều chúng ta có thể làm là thay vì đưa truy cập wifi chúng ta có thể làm cho ESP8266 để tạo một kết nối wifi của riêng nó, vì vậy nếu chúng ta kết nối với kết nối wifi đó, chúng ta có thể truy cập máy chủ web của ESP8266. sẽ tạo ra một máy chủ web sử dụng Điểm truy cập với ESP8266 và chúng tôi sẽ kết nối cảm biến DHT11 và nhiệt độ và độ ẩm in trên trang máy chủ web.

Bước 1: Những thứ bạn cần

Những thứ bạn cần
Những thứ bạn cần
Những thứ bạn cần
Những thứ bạn cần

1x ESP 8266 Nodemcu: 1x DHT11: 1x breadboard:.: Vài người nhảy:

Bước 2: Nhận các Thư viện DHT11

Nhận các Thư viện DHT11
Nhận các Thư viện DHT11
Nhận các Thư viện DHT11
Nhận các Thư viện DHT11

Mở IDE Arduino của bạn và đi tới Phác thảo> Bao gồm Thư viện> Quản lý Thư viện. Trình quản lý thư viện sẽ mở ra. Tìm kiếm “DHT” trên hộp Tìm kiếm và cài đặt thư viện DHT từ Adafruit. Sau khi cài đặt thư viện DHT từ Adafruit, hãy nhập “Cảm biến hợp nhất Adafruit” vào hộp tìm kiếm. Cuộn xuống hết cỡ để tìm thư viện và cài đặt nó. Sau khi cài đặt các thư viện, hãy khởi động lại Arduino IDE của bạn.

Bước 3: Kết nối

Kết nối
Kết nối

Mạch rất dễ dàng kết nối tất cả mọi thứ Theo như hiển thị trong sơ đồ

Bước 4: Mã điểm truy cập

Mã điểm truy cập
Mã điểm truy cập

Từ các hướng dẫn trước đây của tôi, tôi sẽ sửa đổi mã máy chủ web của các hướng dẫn này:

Và biến nó thành mã máy chủ web của điểm truy cập. Vui lòng sao chép mã được cung cấp bên dưới:

#include "Arduino.h" #include "ESP8266WiFi.h"

#include "Hash.h"

#include "ESPAsyncTCP.h"

#include "ESPAsyncWebServer.h"

#include "Adafruit_Sensor.h"

#include "DHT.h"

const char * ssid = "ESP8266"; const char * password = "password"; # define DHTPIN 5 // Chân kỹ thuật số kết nối với cảm biến DHT // Bỏ ghi chú loại cảm biến đang sử dụng: // # xác định DHTTYPE DHT11 // DHT 11 # xác định DHTTYPE DHT22 // DHT 22 (AM2302) // # xác định DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // nhiệt độ & độ ẩm hiện tại, được cập nhật trong loop () float t = 0.0; float h = 0.0; // Tạo đối tượng AsyncWebServer trên máy chủ cổng 80AsyncWebServer (80); // Nói chung, bạn nên sử dụng "unsigned long" cho các biến giữ thời gian // Giá trị sẽ nhanh chóng trở nên quá lớn đối với một int để lưu trữ lâu trước đóMillis = 0; // sẽ lưu trữ lần cuối DHT được cập nhật // Cập nhật các bài đọc DHT cứ sau 10 giây const char index_html PROGMEM = R "rawliteral (Máy chủ DHT ESP8266

Nhiệt độ% TEMPERATURE% ° C

Độ ẩm% HUMIDITY%%) rawliteral "; // Thay thế trình giữ chỗ bằng giá trị DHT Bộ xử lý chuỗi (const String & var) {//Serial.println(var); if (var ==" TEMPERATURE ") {return String (t);} else if (var == "HUMIDITY") {return String (h);} return String ();} void setup () {// Cổng nối tiếp cho mục đích gỡ lỗi Serial.begin (115200); dht.begin (); Serial.print ("Cài đặt AP (Access Point)… "); // Xóa tham số mật khẩu, nếu bạn muốn AP (Access Point) mở WiFi.softAP (ssid, password); IPAddress IP = WiFi.softAPIP (); Serial.print (" Địa chỉ IP AP: "); Serial.println (IP); // In Địa chỉ IP Cục bộ ESP8266 Serial.println (WiFi.localIP ()); // Định tuyến cho root / web page server.on (" / ", HTTP_GET, (AsyncWebServerRequest * request) {request-> send_P (200, "text / html", index_html, processor);}); server.on ("/ Temperature", HTTP_GET, (AsyncWebServerRequest * request) {request- > send_P (200, "văn bản / đồng bằng", String (t).c_str ());}); server.on ("/ độ ẩm", HTTP_GET, (AsyncWebServerRequest * request) {request-> send_P (200, "văn bản / thuần túy", String (h).c_str ()); }); // Khởi động máy chủ server.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - trướcMillis> = khoảng thời gian) {// lưu lần cuối cùng bạn cập nhật các giá trị DHT trước đóMillis = currentMillis; // Đọc nhiệt độ dưới dạng độ C (mặc định) float newT = dht.readTempe Heat (); // Đọc nhiệt độ dưới dạng Fahrenheit (isFahrenheit = true) // float newT = dht.readTempe Heat (true); // nếu đọc nhiệt độ không thành công, không thay đổi giá trị t if (isnan (newT)) {Serial.println ("Không thành công để đọc từ cảm biến DHT! "); } else {t = newT; Serial.println (t); } // Đọc Humidity float newH = dht.readHumidity (); // nếu không đọc được độ ẩm, không thay đổi giá trị h if (isnan (newH)) {Serial.println ("Không đọc được từ cảm biến DHT!"); } else {h = newH; Serial.println (h); }}} Trước khi bạn tải mã lên, hãy đảm bảo rằng bạn đã điền những điều sau: const char * ssid = "ESP8266"; // bất kỳ ssid nào của wifi bạn muốnconst char * password = "password"; // vượt qua để kết nối với ssidSet ở trên ESP8266 làm điểm truy cập: Để đặt esp8266 làm điểm truy cập, chúng ta sẽ sử dụng lệnh softAP như hình dưới đây; để tạo điểm truy cập. WiFi.softAP (ssid, mật khẩu); Ngoài ra còn có các tham số tùy chọn khác mà bạn có thể chuyển cho phương thức softAP (). Đây là tất cả các thông số: Nếu bạn mở màn hình nối tiếp, bạn có thể thấy IP của điểm truy cập. Điều này được thực hiện theo phần sau của mã. IPAddress IP = WiFi.softAPIP (); Serial.print ("Địa chỉ IP AP:"); Serial.println (IP); Theo địa chỉ Ip mặc định là: 192.168.4.1

Bước 5: Bước cuối cùng: Kiểm tra

Bước cuối cùng: Kiểm tra
Bước cuối cùng: Kiểm tra

Sau khi tải lên mã, hãy mở wifi di động / máy tính của bạn và kết nối với wifi esp8266 (bất kỳ ssid & mật khẩu nào bạn đã nhập trong mã hãy sử dụng nó). Sau khi kết nối chỉ cần mở IP trong trình duyệt của bạn mà chúng tôi nhận được từ màn hình nối tiếp (https://192.168.4.1.) và bạn sẽ có thể xem nhiệt độ và độ ẩm trong trình duyệt của mình giống như của tôi.

Đề xuất: