Arduino WebMonitor Example Hướng Dẫn Web-Based Serial Monitor
Tổng Quan
Ví dụ WebMonitor thay thế Serial Monitor truyền thống bằng giao diện web có thể truy cập từ bất kỳ thiết bị nào trên mạng của bạn. Được thiết kế cho Arduino Uno R4 WiFi và nền tảng giáo dục DIYables STEM V4 IoT với khả năng IoT nâng cao, giám sát cảm biến tích hợp, và tích hợp liền mạch với hệ sinh thái giáo dục.

Tính Năng
- Hiển Thị Serial Thời Gian Thực: Xem thông điệp Arduino ngay lập tức trên trình duyệt
- Nhập Lệnh: Gửi lệnh từ giao diện web đến Arduino
- Giao Diện Tối: Giao diện kiểu terminal dễ nhìn
- Tự Động Cuộn: Tự động cuộn đến thông điệp mới nhất
- Đánh Dấu Thời Gian: Tất cả thông điệp đều có timestamp
- Lịch Sử Lệnh: Duyệt các lệnh trước đó bằng phím mũi tên
- Chức Năng Xóa: Xóa màn hình monitor
- Copy/Paste: Hỗ trợ đầy đủ việc chọn và copy văn bản
- Mở Rộng Nền Tảng: Hiện tại được triển khai cho Arduino Uno R4 WiFi, nhưng có thể mở rộng cho các nền tảng phần cứng khác. Xem DIYables_WebApps_ESP32
Linh Kiện Cần Thiết
| 1 | × | Arduino UNO R4 WiFi | ||
| 1 | × | Alternatively, DIYables STEM V4 IoT | ||
| 1 | × | (Tùy chọn) DIYables STEM V4 IoT | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Power Splitter for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Hướng Dẫn Cài Đặt
Các Bước Nhanh
Thực hiện theo hướng dẫn từng bước:
- Mới sử dụng Arduino Uno R4 WiFi/DIYables STEM V4 IoT? Hãy tham khảo hướng dẫn về Arduino UNO R4 - Cài Đặt Phần Mềm.
- Kết nối bo mạch Arduino Uno R4/DIYables STEM V4 IoT với máy tính bằng cáp USB.
- Khởi động Arduino IDE trên máy tính của bạn.
- Chọn bo mạch Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
- Điều hướng đến biểu tượng Libraries trên thanh bên trái của Arduino IDE.
- Tìm kiếm "DIYables WebApps", sau đó tìm thư viện DIYables WebApps của DIYables
- Nhấp nút Install để cài đặt thư viện.

- Bạn sẽ được hỏi về việc cài đặt một số thư viện phụ thuộc khác
- Nhấp nút Install All để cài đặt tất cả thư viện phụ thuộc.

- Trong Arduino IDE, đi đến File Examples DIYables WebApps WebMonitor example, hoặc copy đoạn code trên và dán vào editor của Arduino IDE
- Cấu hình thông tin WiFi trong code bằng cách cập nhật các dòng này:
- Nhấp nút Upload trên Arduino IDE để upload code lên Arduino UNO R4/DIYables STEM V4 IoT
- Mở Serial Monitor
- Kiểm tra kết quả trên Serial Monitor. Nó sẽ giống như dưới đây
- Nếu bạn không thấy gì, hãy khởi động lại bo mạch Arduino.
- Ghi lại địa chỉ IP được hiển thị, và nhập địa chỉ này vào thanh địa chỉ của trình duyệt web trên điện thoại hoặc PC của bạn.
- Ví dụ: http://192.168.0.2
- Bạn sẽ thấy trang chủ như hình dưới đây:

- Nhấp vào liên kết Web Monitor, bạn sẽ thấy giao diện của ứng dụng Web Monitor như dưới đây:

- Hoặc bạn cũng có thể truy cập trang trực tiếp bằng địa chỉ IP theo sau bởi /web-monitor. Ví dụ: http://192.168.0.2/web-monitor
- Thử gửi lệnh đến Arduino của bạn thông qua giao diện web monitor và xem đầu ra serial thời gian thực từ Arduino của bạn.
Cách Sử Dụng
Xem Đầu Ra Serial
- Mở giao diện web monitor
- Arduino tự động gửi thông điệp trạng thái mỗi 5 giây
- Tất cả đầu ra Serial.println() xuất hiện trong monitor
- Thông điệp được đánh dấu thời gian tự động
Gửi Lệnh
- Nhập lệnh trong trường nhập liệu ở cuối
- Nhấn Enter hoặc nhấp nút Send
- Arduino xử lý lệnh và phản hồi
Lệnh Tích Hợp
Ví dụ này bao gồm các lệnh minh họa sau:
Điều Khiển LED
- "led on" → Bật LED tích hợp
- "led off" → Tắt LED tích hợp
- "led toggle" → Chuyển đổi trạng thái LED
- "blink" → Nháy LED 3 lần
Lệnh Hệ Thống
- "status" → Hiển thị trạng thái Arduino và thời gian hoạt động
- "help" → Liệt kê các lệnh có sẵn
- "reset counter" → Đặt lại bộ đếm thông điệp
- "memory" → Hiển thị thông tin bộ nhớ trống
Lệnh Debug
- "test" → Gửi thông điệp thử nghiệm
- "echo [message]" → Lặp lại thông điệp của bạn
- "repeat [n] [message]" → Lặp lại thông điệp n lần
Tính Năng Giao Diện
Phím Tắt
- Enter → Gửi lệnh
- ↑/↓ Phím Mũi Tên → Duyệt lịch sử lệnh
- Ctrl+L → Xóa monitor (nếu được triển khai)
- Ctrl+A → Chọn tất cả văn bản
Điều Khiển Monitor
- Auto-scroll → Tự động cuộn đến thông điệp mới
- Clear → Xóa màn hình monitor
- Copy → Copy văn bản đã chọn vào clipboard
Tùy Chỉnh Sáng Tạo - Xây Dựng Công Cụ Debug Nâng Cao
Mở rộng ví dụ web monitor này để tạo giao diện debug và điều khiển mạnh mẽ cho các dự án của bạn! Thêm lệnh tùy chỉnh, giám sát cảm biến, và trực quan hóa dữ liệu thời gian thực để phù hợp với nhu cầu sáng tạo của bạn.
Cấu Trúc Code
Thành Phần Chính
- WebApp Server: Xử lý kết nối HTTP và WebSocket
- Monitor Page: Cung cấp giao diện web kiểu terminal
- Message Handler: Xử lý các lệnh đến
- Serial Bridge: Chuyển tiếp đầu ra Serial đến giao diện web
Hàm Chính
Thêm Lệnh Tùy Chỉnh
Để thêm lệnh mới, sửa đổi hàm handleWebCommand:
Ứng Dụng Thực Tiễn
Phát Triển và Debug
Giám Sát Hệ Thống Từ Xa
Quản Lý Cấu Hình
Tính Năng Nâng Cao
Lọc Thông Điệp
Thêm loại thông điệp và lọc:
Phân Tích Lệnh
Triển khai phân tích lệnh phức tạp:
Ghi Log Dữ Liệu
Ghi log dữ liệu monitor vào thẻ SD hoặc EEPROM:
Khắc Phục Sự Cố
Vấn Đề Thường Gặp
1. Không có đầu ra trong web monitor
- Kiểm tra Serial.begin() được gọi trong setup()
- Xác minh kết nối WebSocket (chỉ báo trạng thái xanh)
- Kiểm tra console của trình duyệt để tìm lỗi
2. Lệnh không hoạt động
- Đảm bảo lệnh chính xác như được chỉ định
- Kiểm tra độ nhạy cảm về chữ hoa/thường của lệnh
- Tìm thông điệp phản hồi trong monitor
3. Giao diện tải chậm
- Kiểm tra cường độ tín hiệu WiFi
- Giảm tần suất thông điệp
- Xóa cache trình duyệt
4. Ngắt kết nối WebSocket
- Kiểm tra tính ổn định của mạng
- Giảm kích thước thông điệp
- Triển khai logic kết nối lại
Mẹo Debug
Bật debug chi tiết:
Giám sát trạng thái WebSocket:
Cân Nhắc Bảo Mật
Xác Thực Lệnh
Luôn xác thực lệnh đến:
Kiểm Soát Truy Cập
Triển khai xác thực cơ bản:
Ví Dụ Tích Hợp
Hệ Thống Giám Sát Cảm Biến
Giám Sát Nhà Thông Minh
Bước Tiếp Theo
Sau khi thành thạo ví dụ WebMonitor, hãy thử:
- Chat - Để giao tiếp tương tác
- DigitalPins - Để điều khiển đầu ra
- Slider - Để điều khiển giá trị analog
- MultipleWebApps - Kết hợp giám sát với điều khiển
Hỗ Trợ
Để được hỗ trợ thêm:
- Kiểm tra tài liệu API Reference
- Truy cập hướng dẫn DIYables: https://newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-diyables-webapps
- Diễn đàn cộng đồng Arduino