MCU Node & RTOS (WIP)¶
Node cảm biến thường chạy trên MCU với RTOS hoặc bare-metal, không chạy Linux. Trang này đủ ngữ cảnh để kỹ sư Linux hiểu phía node và cách node giao tiếp với gateway. Tổng quan kiến trúc xem Kiến trúc Device–Gateway–Cloud.
Khi nào dùng MCU thay vì Linux¶
TODO
- Tiêu chí: năng lượng, chi phí BOM, thời gian khởi động, real-time, độ phức tạp phần mềm
- Lớp thiết bị theo RFC 7228, MCU Cortex-M, RISC-V, ESP32
- Mô hình lai: SoC có cả Cortex-A và Cortex-M (i.MX8, STM32MP1), giao tiếp qua RPMsg/remoteproc
RTOS phổ biến¶
TODO
- Zephyr: device tree, Kconfig, west, networking stack (BLE, Thread, MQTT, LwM2M)
- FreeRTOS: kernel tối giản, coreMQTT, FreeRTOS-Plus-TCP
- ESP-IDF (trên FreeRTOS), nRF Connect SDK (trên Zephyr)
- Bảng so sánh: giấy phép, hệ sinh thái, chứng nhận an toàn, hỗ trợ phần cứng
Quản lý năng lượng¶
TODO
- Chế độ sleep / deep sleep, nguồn đánh thức (RTC, GPIO, radio)
- Ước lượng tuổi thọ pin từ dòng tiêu thụ trung bình và duty cycle
- Công cụ đo: Power Profiler, đo dòng bằng shunt
Giao tiếp với gateway Linux¶
TODO
- Qua radio: BLE GATT, Thread, LoRaWAN
- Qua dây: UART, RS-485/Modbus, CAN, SPI
- MCU làm radio co-processor cho Linux: BLE HCI qua UART, OpenThread RCP qua Spinel
Bootloader và cập nhật firmware¶
TODO
- MCUboot: slot primary/secondary, swap, ký ảnh firmware
- DFU qua BLE (SMP / mcumgr), gateway làm trung gian cập nhật
- Liên hệ với OTA Update