2019年9月18日,腾讯开源轻量级物联网实时操作系统TencentOS tiny。它支持的CPU架构包括ARM Cortex M0/3/4/7,Cortex A7,RISC-V、MSP430、AVR、STM8等。TencentOS tiny支持主流物联网协议栈(如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等)。

iot 架构 iot架构图_物联网

TencentOS tiny架构图(图片来源于https://gitee.com/Tencent/TencentOS-tiny) 

从框架图的IoT SDK Protocol模块中,可以看到支持的协议栈,包括应用层协议CoAP/MQTT/HTTP/TLS/DTLS,Socket抽象层SAL,传输/网络层LwIP,底层连接协议(以太网、WiFi、LoRa、NB-IoT、BLE、Zigbee、2G/4G/5G等)。

底层连接协议主要是通过模组的形式支持,在设备集成所支持协议的模组后,通过AT适配层与模组进行控制命令交互。如果设备不是采用模组的方式支持底层连接协议,而是通过板载设计支持连接协议物理层收发芯片来支持,那么就需要自己开发协议栈。比如在TencentOS tiny的开源代码中,可以看到在Board/TencentOS_Tiny_EVB_STM32WL中集成了Semtech公司开源的LoRa协议栈代码,这样终端设备在参考EVB设计时就只需要设计LoRa的射频前端相关芯片和天线就可以,不需要集成LoRa通讯模组,这样可以降低硬件成本。

如果是比较成熟的开源协议栈,采用非模组的方式可以节省硬件升本。如果没有开源协议栈或者开源协议栈不成熟(比如,Zigbee、NB-IoT、2G/4G/5G),采用非模组降硬件成本的方式可能带来的是开发和维护成本。不同的厂商情况不同,选择的设计方案也会不同。

总之,物联网操作系统TencentOS tiny更多的是聚焦于内核与云相关的部分,在协议栈方面,主要是网络层以上的协议栈(LwIP/DTLS/CoAP/MQTT等)。关于底层通讯连接协议,需要由通讯模组或者开源协议栈支持。

更多关于TencentOS Tiny的详细信息可以参考

https://gitee.com/Tencent/TencentOS-tiny