Mục lục:
- Quân nhu
- Bước 1: Làm cho nó hoạt động
- Bước 2: Cách hoạt động của mã
- Bước 3: Đặt NODEMCU làm máy chủ
- Bước 4: Tải tệp HTML
- Bước 5: Dùng thử
Video: Cách sử dụng ESP8266 làm máy chủ web: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Xin chào, tôi hiện đang sử dụng windows 10, NodeMCU 1.0 và đây là danh sách Phần mềm tôi đã sử dụng và hướng dẫn cài đặt mà tôi đã làm theo:
- Arduino IDE
- Bảng bổ sung cho esp8266
- Spiff
Thư viện đã sử dụng:
Websocket
Tôi đã sử dụng NodeMCU làm máy chủ để cung cấp Tệp HTML mà tôi đã tạo từ hướng dẫn này. Để cung cấp tệp này, tôi đã tải tệp lên hệ thống tệp gật đầu bằng cách sử dụng Spiffs. Tệp HTML sẽ gửi dữ liệu đến gật đầu bằng cách sử dụng các cổng kết nối web được in trên màn hình nối tiếp để thực hiện việc này. Giao tiếp hai chiều nhanh chóng thông qua các cổng kết nối web của máy chủ và máy khách cho phép nó được sử dụng làm điều khiển từ xa. Trong các bước sau, tôi sẽ giải thích cách mã của tôi hoạt động
Quân nhu
NodeMCU
Bước 1: Làm cho nó hoạt động
Đây là các bước về cách nó hoạt động
- Tải xuống tệp đính kèm và mở tệp mousebot.ino
- Đi tới phác thảo> hiển thị thư mục phác thảo và tạo một thư mục mới có tên là dữ liệu
- Lưu tệp html từ hướng dẫn này trong thư mục có tên. Tôi đặt tên tôi là "Cần điều khiển"
- Đảm bảo rằng spiff của bạn đã hoạt động bằng cách truy cập công cụ ans để xem "tải lên dữ liệu phác thảo esp8266"
- Tải tệp html lên gật đầu bằng cách nhấp vào "tải lên dữ liệu phác thảo esp8266"
- Sau khi tải tệp lên, hãy tải tệp mousebot.ino lên gật đầu bằng cách truy cập vào arduino IDE và nhấn ctrl U
Bước 2: Cách hoạt động của mã
Đầu tiên, chúng tôi bao gồm các thư viện mà mã này sẽ sử dụng
// để cho phép ESP8266 kết nối với WIFI
#include #include #include // Cho phép ESP8266 hoạt động như một máy chủ #include // cho phép giao tiếp với máy chủ và ứng dụng khách (thiết bị hình nón của bạn) #include #include // Để mở tệp đã được mã hóa trên gật đầu #include
Đặt esp8266 làm máy chủ web được mở trên cổng 80. Các cổng là đường dẫn dữ liệu sẽ đi qua. Là một cổng máy chủ, Nó sẽ gửi tệp HTML đến máy khách (không cần kết nối với nó).
Thêm kết nối websocket sử dụng cổng 81 để nghe tin nhắn từ máy khách
Websockets có tham số num, WStype_t, trọng tải và kích thước. Num xác định số máy khách, trọng tải là thông điệp mà nó gửi, kích thước là độ dài của thông báo và WStype_t dành cho các sự kiện khác biệt chẳng hạn như
- WStype_DISCONNECTED - khi ngắt kết nối máy khách.
- WStype_CONNECTED: - khi máy khách kết nối
- WStype_TEXT - Dữ liệu đã nhận từ máy khách
Tùy thuộc vào loại sự kiện mà các hành động khác nhau được thực hiện và được nhận xét ở đây
void webSocketEvent (uint8_t num, WStype_t type, uint8_t * payload, size_t length) {
switch (type) {case WStype_DISCONNECTED: Serial.printf ("[% u] Đã ngắt kết nối! / n", num); // in dữ liệu ra màn hình nối tiếp break; case WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP (num); // lấy IP của máy khách Serial.printf ("[% u] Được kết nối từ% d.% d.% d.% d url:% s / n", num, ip [0], ip [1], ip [2], ip [3], payload); webSocket.sendTXT (num, "Đã kết nối"); // gửi "conencted" đến bảng điều khiển của trình duyệt} break; case WStype_TEXT: Serial.printf ("[% u] Dữ liệu:% s / n", num, payload); // in số máy khách trong% u và dữ liệu nhận được dưới dạng chuỗi trong% s / n break;}}
Bước 3: Đặt NODEMCU làm máy chủ
đặt ssid và mật khẩu bạn sẽ sử dụng để kết nối với nó sau này
const char * ssid = "Thử";
const char * password = "12345678";
trên thiết lập, chúng tôi xác định tốc độ mà nó nút và máy tính của chúng tôi sẽ giao tiếp, là 115200.
thiết lập void (void) {
Serial.begin (115200); Serial.print ("\ n");
cũng được đặt thành true, hãy xem đầu ra chẩn đoán wifi trên thiết bị đầu cuối serila
Serial.setDebugOutput (true);
i sinh dục hệ thống tập tin
SPIFFS.begin ();
Thiết lập gật đầu làm điểm truy cập với tính năng xóa mật khẩu và ssid trước đó và in ip của gật đầu mà bạn sẽ kết nối trước đó. theo mặc định nó là 192.168.4.1
Serial.print ("Đang định cấu hình điểm truy cập…");
WiFi.mode (WIFI_AP); WiFi.softAP (ssid, mật khẩu); IPAddress myIP = WiFi.softAPIP (); Serial.print ("Địa chỉ IP AP:"); Serial.println (myIP);
Khởi tạo websocket trên máy chủ gật gù, whcih is pur
webSocket.begin ();
Gọi hàm webSocketEvent khi sự kiện websocket xảy ra.
webSocket.onEvent (webSocketEvent);
Để gỡ lỗi, hãy in "Máy chủ WebSocket đã bắt đầu" trên một dòng mới. Điều này là để xác định dòng mã mà nút đang xử lý
Serial.println ("Máy chủ WebSocket đã khởi động.");
khi một máy khách truy cập 192.168.4.1, nó sẽ gọi hàm handleFileRead và gửi cùng với nó URI máy chủ tham số, trong trường hợp này là thông tin về nút của chúng tôi. Hàm handleFileRead sẽ phục vụ tệp html từ hệ thống tệp gật đầu
server.onNotFound ( () {
if (! handleFileRead (server.uri ()))
nếu không tìm thấy nó sẽ hiển thị "FileNotFound"
server.send (404, "văn bản / đồng bằng", "FileNotFound");
});
Bắt đầu máy chủ và máy chủ HTTP in bắt đầu.
server.begin (); Serial.println ("Máy chủ HTTP đã khởi động");
Trên vòng lặp void của chúng tôi, chúng tôi cho phép máy chủ xử lý liên tục ứng dụng khách và thông báo websockets của nó như sau:
vòng lặp void (void) {
server.handleClient (); webSocket.loop ();}
Bước 4: Tải tệp HTML
chúng tôi sẽ sử dụng một chức năng có tên là handleFileRead để mở và tệp html từ hệ thống tệp gật đầu. nó sẽ trả về giá trị boolean để xác định xem nó có được tải hay không.
Khi máy khách mở "192.168.4.1/", chúng tôi đặt đường dẫn tệp thành "/Joystick.html, tên tệp của chúng tôi trong thư mục dữ liệu
bool handleFileRead (Đường dẫn chuỗi) {
Serial.println ("handleFileRead:" + đường dẫn); if (path.endsWith ("/")) path + = "Joystick.html"; if (SPIFFS.exists (path)) {File file = SPIFFS.open (path, "r"); size_t sent = server.streamFile (file, "text / html"); file.close (); trả về true; } trả về sai; }
Kiểm tra xem đường dẫn tệp "/Joystick.html" có tồn tại không
if (SPIFFS. tồn tại (đường dẫn)) {
Nếu nó tồn tại, hãy mở đường dẫn với mục đích đọc nó được chỉ định bởi "r". Tới đây cho nhiều mục đích hơn.
Tệp tin = SPIFFS.open (đường dẫn, "r");
Gửi tệp tới máy chủ như với loại nội dung "text / html"
size_t sent = server.streamFile (file, "text / html");
đóng tập tin
file.close ();
hàm handleFileRead trả về true
trả về true;}
nếu đường dẫn tệp không tồn tại, hàm handleFileRead trả về false
trả về true; }
Bước 5: Dùng thử
Kết nối với nodeMCU và truy cập "192.168.4.1" và thử nó!:)
Đề xuất:
Hướng dẫn: Cách sử dụng ESP32-CAM trong Máy chủ web phát trực tuyến video: 3 bước
Hướng dẫn: Cách sử dụng ESP32-CAM trong Máy chủ web phát trực tuyến video: Mô tả: ESP32-CAM là Bảng phát triển tầm nhìn IoT không dây ESP32 ở dạng rất nhỏ, được thiết kế để sử dụng trong các dự án IoT khác nhau, chẳng hạn như thiết bị thông minh gia đình, công nghiệp điều khiển không dây, giám sát không dây, đặc điểm nhận dạng không dây QR
Làm giá đỡ cho máy ảnh DSLR với giá chưa đến 6 đô la bằng cách sử dụng ống PVC (Chân máy / Chân máy cho mọi máy ảnh): 6 bước
Làm giá đỡ cho máy ảnh DSLR với giá chưa đến 6 đô la bằng cách sử dụng ống PVC (Monopod / chân máy cho mọi máy ảnh): Có …. Bạn có thể tự làm giá đỡ chỉ với một số ống PVC và chữ T. Nó rất nhẹ … Nó được cân bằng hoàn hảo … Nó rắn chắc … Nó thân thiện với khả năng tùy chỉnh … Tôi là Sooraj Bagal và tôi sẽ chia sẻ kinh nghiệm của mình về giá đỡ máy ảnh này mà tôi đã tạo cho
Sử dụng Orange Pi mà không cần màn hình bằng cách sử dụng máy chủ SSH và VNC: 6 bước
Sử dụng Orange Pi Không cần Màn hình bằng Máy chủ SSH và VNC: Orange Pi giống như một máy tính mini. Nó có tất cả các cổng cơ bản mà một máy tính bình thường có. Giống như HDMIUSBEthernetIT có Một số cổng đặc biệt đặc biệt Như USB OTGGPIO Headers Khe cắm thẻ SDParallel Camera PortNếu bạn muốn vận hành pi màu cam, bạn phải có nhu cầu o
Cách sử dụng Wiimote làm chuột máy tính Sử dụng nến làm cảm biến !!: 3 bước
Cách sử dụng Wiimote làm chuột máy tính Sử dụng nến làm cảm biến !!: Hướng dẫn này sẽ chỉ cho bạn cách liên kết Wii Remote (Wiimote) với máy tính của bạn và sử dụng nó như một con chuột
Cài đặt máy chủ ảo mới trong máy chủ web Apache: 3 bước
Cài đặt Máy chủ ảo mới trong Máy chủ Web Apache: Mục đích của hướng dẫn này là hướng dẫn quy trình định cấu hình và khởi tạo máy chủ ảo máy chủ web Apache mới. Máy chủ ảo là một " hồ sơ " phát hiện máy chủ DNS nào (ví dụ: www.MyOtherhostname.com) đang được gọi cho một