Thiết kế hệ thống giám sát độ nghiêng trên nền tảng Wifi Mesh

17:00 | 11/08/2023 | GP ATM
Wireless Mesh Network là công nghệ mạng truyền thông đầy hứa hẹn với khả năng kết nối mạnh mẽ và ổn định, được ứng dụng trong nhiều lĩnh vực khác nhau. Trong số 1 (071) 2023 của Tạp chí An toàn thông tin, nhóm tác giả đã giới thiệu về cơ sở lý thuyết của Wifi Mesh. Để ứng dụng thực tiễn nền tảng này, trong bài báo dưới đây nhóm tác giả đề xuất một giải pháp thiết kế hệ thống giám sát độ nghiêng của thiết bị trong không gian ba chiều X, Y, Z sử dụng module ESP32 WROOM có tính năng truyền nhận dữ liệu bằng Wifi Mesh.

SƠ ĐỒ KHỐI CỦA HỆ THỐNG GIÁM SÁT ĐỘ NGHIÊNG SỬ DỤNG WIFI MESH

Hình 1. Hệ thống đọc dữ liệu cảm biến MPU6050 lên Web Server

Hệ thống giám sát độ nghiêng ứng dụng Wifi Mesh bao gồm: khối truyền dữ liệu và khối nhận dữ liệu được thể hiện như trên Hình 1.

Khối truyền dữ liệu

Khối truyền dữ liệu gồm có module cảm biến MPU6050 và module ESP32 WROOM. Module cảm biến MPU6050 đọc dữ liệu về độ nghiêng của thiết bị nói chung, thiết bị bay nói riêng trong không gian ba chiều X, Y, Z. Sau khi nhận dạng dữ liệu về độ nghiêng trong không gian của thiết bị, nó phân tích và chuyển đổi sang tín hiệu số. Tín hiệu số đã được xử lý gửi sang module ESP32 WROOM thông qua giao tiếp I2C. Trong khi đó, vai trò của module ESP32 WROOM là nhận dữ liệu từ cảm biến MPU6050.

Giới thiệu chip MPU6050

Chip MPU6050 là một chip cảm biến do hãng InvenSense (Mỹ) chế tạo. Chip cảm biến này sử dụng công nghệ độc quyền MotionFusion của InvenSense có thể chạy trên các thiết bị di động, tay điều khiển thiết bị bay,… Chip MPU6050 là một trong những giải pháp cảm biến chuyển động đầu tiên trên thế giới có tới 6 trục, có thể mở rộng tới 9 trục, cảm biến tích hợp trong một chip duy nhất. Chip cảm biến MPU6050 giao tiếp với chip ESP32 WROOM thông qua I2C với tốc độ tối đa 400kHz. Chip MPU6050 cũng có sẵn trong một gói SPI làm cho tốc độ giao tiếp lên tới 10Mbs.

Hình 2. Cấu tạo IC MPU6050

Ngoài ra, chip MPU6050 còn có một đơn vị tăng tốc phần cứng chuyên xử lý tín hiệu (Digital Motion Processor - DSP) do cảm biến thu thập và thực hiện các tính toán cần thiết. Điều này giúp giảm bớt đáng kể phần xử lý tính toán của vi điều khiển, cải thiện tốc độ xử lý và cho ra phản hồi nhanh hơn. Đây chính là một điểm khác biệt của chip MPU6050 so với các cảm biến gia tốc và con quay hồi chuyển khác. Chip MPU6050 có thể kết hợp với cảm biến từ trường (bên ngoài) để tạo thành bộ cảm biến 9 góc đầy đủ thông qua giao tiếp I2C.

Bên trong của chip MPU6050 sử dụng bộ chuyển đổi tương tự - số (Analog to Digital Converter - ADC)

16 bit cho ra kết quả chi tiết về góc quay, tọa độ với 16 bit có 65536 giá trị cho một cảm biến. Chip MPU6050 có sẵn bộ đệm dữ liệu 1024 byte cho phép vi điều khiển phát lệnh cho cảm biến và nhận về dữ liệu sau khi chip MPU6050 tính toán xong.

Giới thiệu chip ESP32-WROOM

 ESP32-WROOM là một chip với nhiều tính năng cải tiến hơn các dòng chip ESP8266, bên cạnh Wifi Mesh, nó được hỗ trợ thêm các tính năng Bluetooth và Bluetooth Low Energy (BLE). Sử dụng chip ESP32- WROOM với 2 CPU có thể được điều khiển độc lập với tần số xung clock lên đến 240 MHz.

Ngoài ra, chip ESP32-WROOM hỗ trợ các chuẩn giao tiếp SPI, UART, I2C và I2S và có khả năng kết nối với nhiều ngoại vi như các cảm biến, các bộ khuếch đại, thẻ nhớ (SD card),… Đặc biệt ở chế độ chờ (sleep) dòng điện hoạt động là 5 µA nên thích hợp cho các ứng dụng dùng pin như các thiết bị điện tử đeo tay. Bên cạnh đó chip ESP32-WROOM còn hỗ trợ cập nhật firmware từ xa (OTA), do đó người dùng vẫn có thể cập nhật những phiên bản mới. Chip ESP32- WROOM được dùng nhiều trong các ứng dụng thu thập dữ liệu và điều khiển thiết bị qua Wifi, Bluetooth. Chip ESP32-WROOM sử dụng cho các ứng dụng tiết kiệm năng lượng, điều khiển mạng lưới cảm biến, mã hóa hoặc xử lý tiếng nói, xử lý Analog-Digital trong các ứng dụng phát nhạc hoặc với các tệp MP3,…

Hình 3. Cấu tạo modul ESP32-WROOM

Khối nhận dữ liệu

Module ESP32-WROOM nhận dữ liệu từ Web Server thông qua mạng không dây (Wifi Mesh). Sau khi nhận dữ liệu từ Web Server, chip ESP32-WROOM xử lý dữ liệu và đưa dữ liệu tới module hiển thị LCD 16x2 thông qua module I2C.

Module I2C dùng để truyền thông giữa module ESP32-WROOM và module LCD 16x2 theo hình thức nối tiếp đồng bộ, được sử dụng rộng rãi trong việc kết nối nhiều chip vi điều khiển với nhau, kết nối giữa chip vi điều khiển và các ngoại vi với tốc độ thấp. Giao tiếp I2C sử dụng 2 dây để kết nối là SCL và SDA. Trong đó, dây SCL có tác dụng để đồng bộ hóa giữa các thiết bị khi truyền dữ liệu, SDA là dây truyền dữ liệu.

Module LCD 16x2 nhận dữ liệu từ module ESP32-WROOM để hiển thị dữ liệu từ module cảm biến MPU6050 thông qua module I2C.

LƯU ĐỒ THUẬT TOÁN CỦA HỆ THỐNG

Hình 4. Lưu đồ thuật toán hệ thống

Lưu đồ thuật toán truyền dữ liệu

Khởi động hệ thống (Start) gồm có: Khởi tạo ESP32-WROOM Wifi Mesh và khởi tạo module cảm biến MPU6050. ESP32-WROOM kết nối Wifi, nếu không kết nối được quay trở lại tiếp tục kết nối. Nếu kết nối được tiếp tục khởi tạo địa chỉ vật lý (MAC) gồm có kênh Wifi và ID truyền. Sau khi khởi tạo xong đọc dữ liệu cảm biến MPU6050 (X, Y, Z). Khi đọc dữ liệu cảm biến xong gửi dữ liệu qua địa chỉ MAC, nếu sai quay trở lại đọc lại, nếu đúng gửi dữ liệu.

Lưu đồ thuật toán nhận nhận dữ liệu

Khối nhận khởi tạo ESP32-WROOM Wifi Mesh và khởi tạo module LCD. Sau khi ESP32-WROOM khởi tạo Wifi Mesh, nếu không kết nối được quay trở lại để kết nối Wifi. Nếu kết nối được Wifi nó tiến hành đọc ID và địa chỉ MAC của bên truyền. Nếu sai ID và địa chỉ MAC của bên truyền nó quay trở lại đọc lại. Nếu đúng nó gửi dữ liệu lên LCD, LCD nhận dữ liệu từ ESP32-WROOM thông qua module I2C giải mã. Đồng thời, gửi dữ liệu do cảm biến MPU6050 gửi tới lên Web Server thông qua Wifi Mesh.

MÔ HÌNH PHẦN CỨNG VÀ GIAO DIỆN CỦA HỆ THỐNG

Mô hình phần cứng của hệ thống

Hình 5. Sơ đồ thiết kế module đọc dữ liệu cảm biến MPU6050

Sơ đồ phần cứng của hệ thống được chia thành khối truyền dữ liệu và khối nhận dữ liệu. Khối truyền dữ liệu gồm có module cảm biến MPU6040 và module ESP32- WROOM kết nối với nhau như Hình 5, được cấp bởi nguồn 5V gồm dây màu đen và đỏ. Hai module trên truyền dữ liệu với nhau qua giao tiếp I2C (SCL, SDA) gồm dây màu xanh và vàng. Khối nhận dữ liệu gồm module ESP32- WROOM, module I2C và module hiển thị dữ liệu LCD, ba module này được cung cấp bởi nguồn 5V. Giữa module ESP32-WROOM và module LCD giao tiếp với nhau qua module I2C gồm hai dây màu vàng, xanh. Hai khối truyền và nhận kết nối với nhau qua Wifi Mesh.

Giao diện Web Server của hệ thống

Dữ liệu được cảm biến MPU 6050 gửi lên Web Server thông qua module ESP32-WROOM có giao diện như trong Hình 6.

Hình 6. Giao diện đọc dữ liệu MPU6050 trên Web Server

Đánh giá kết quả

Mô hình thực hiện giám sát độ nghiêng X, Y, Z qua cảm biến MPU6050 chính xác, ổn định trên trình duyệt web. Giám sát độ nghiêng theo trục X, Y, Z được cập nhật 2 giây/lần do cảm biến MPU6050 trên trình duyệt web.

KẾT LUẬN

Kết quả thực tế cho thấy có thể sử dụng các thiết bị như máy tính, điện thoại thông minh hay máy tính bảng để truy cập hệ thống đo độ nghiêng trong không gian thông qua các trình duyệt web. Điều này rất thuận tiện cho việc giám sát và điều khiển hệ thống từ xa của người quản lý và vận hành.

Tài liệu tham khảo

[1]. Giáo trình “Kỹ thuật cảm biến”, Đặng Văn Hải và Lại Hồng Nhung, Học viện Kỹ thuật mật mã, 2021.

[2]. https://randomnerdtutorials.com/esp-mesh-esp32-esp8266- painlessmesh/.

[3]. https://www.pcmag.com/picks/the-best-wi-fi-meshnetwork-systems.

[4]. https://www.sciencedirect.com/topics/computer-science/ wireless-mesh-network.

Đặng Văn Hải, Phùng Văn Quyền, Tô Thị Tuyết Nhung, Học viện Kỹ thuật mật mã

Tin cùng chuyên mục

Tin mới