我是Zephyr OS的初学者,想知道是否可以通过蜂窝设备(如SIM800或Quectel BG96)在Zephyr OS上实现MQTT,这些设备通常可在UART上工作并支持TCP协议,这是MQTT的基础。
我浏览了Zephyr给出的MQTT示例,该示例是通过LAN完成的,但无法弄清楚如何用蜂窝设备实现同样的功能。
答案 0 :(得分:2)
MQTT本身并不需要TCP作为传输层,但是您可能需要一个传输层。那里的大多数实现都依赖TCP作为传输层,例如:
有一个实现仅对符合MQTT的软件包进行序列化和反序列化。但是,此实现基于MQTT-SN(传感器网络)标准,并且需要兼容MQTT-SN的MQTT网关或MQTT-Broker。您可以随心所欲地传输这些程序包:作为UART流,内存映射IO等。
此外,请检查以实现并为包装两个设备的AT命令规范的MQTT客户端库提供TCP / IP套接字: