LoRa硬件与主机之间接口(HCI:Host Command Interface)采用UART/USB接口。在设计LoRa/LoRaWAN的主机接口时,发现需要对应多种语言的实现方式:
- C/C++,Keil IDE/GCC/mbed
- Lua,MCU/OpenWRT
- Python,CPython on Ubuntu/Raspbian/OpenWRT
- MicroPython,on STM32F4/ESP8266/ESP32
- JavaScript,on Node.js
而HCI的版本目前还是一种不太稳定的状态,不断地升级。所以考虑使用某种语言定义HCI结构,然后设计一个代码生成器来产生所需要的源码、头文件和文档。这样协议升级时,重新生成一次,可以减少许多工作量。这个思路和AIDL/protobuf等方式类似。
暂时,我使用JSON来定义HCI接口。
网友评论