OpenAtomFoundation / TobudOS

开放原子开源基金会孵化的物联网操作系统,捐赠前为腾讯物联网终端操作系统TencentOS Tiny
https://cloud.tencent.com/product/tos-tiny
5.97k stars 1.61k forks source link

MQTT 目前底层运行的协议是WiFi吗?可以换成别的协议比如ZigBee,BLE吗 #160

Closed desword closed 4 years ago

desword commented 4 years ago

如题, MQTT 目前底层运行的协议是WiFi吗?可以换成别的协议比如ZigBee,BLE吗

daishengdong commented 4 years ago

MQTT的传输层协议是TCP,zigbee、BLE不是tcp/ip协议族的,如果zigbee、BLE设备数据想上云得通过带tcp/ip协议的网关进行转发。

desword commented 4 years ago

谢谢回复,请问有zibee、ble数据上云的例子吗

daishengdong commented 4 years ago

目前还没有。zigbee这种要上云的话,得先通过zigbee把数据发给带tcp/ip能力的网关,网关上云就可以完全用我们的例子。zigbee节点怎么把数据报给网关这一条链路得自己写,目前尚无demo。

desword commented 4 years ago

谢谢回答。 带有tcp/ip能力的网关,通过适当编码应该可以让zigbee数据上云。 但是如果想要让具备zigbee的节点运行类似MQTT协议的功能,目前的tencentTiny是不是就较难实现? 因为zigbee节点上需要运行mqtt-client的代码,且zigbee节点还需要运行tcp, ipv6, 6lowpan等协议。

daishengdong commented 4 years ago

zigbee上实现mqtt意义不大,zigbee是局域网协议,mqtt是需要部署broker的(相当于服务端),目前的broker实现都是基于tcp/ip的。 如果你愿意折腾的话,将broker改为基于zigbee协议的(实际上我对zigbee协议也不熟悉,不知道在服务端上采用zigbee协议去监听、收发技术上是否可行),端测mqtt client通过zigbee发送数据,或许可以在局域网内弄一个小型的mqtt网络模型,但是这工作量较大且没什么意义。如果想走广域网的话,还会得有网关进行协议转发才行。

desword commented 4 years ago

恩。 意义在于物联网设备可以执行基于规则的智能应用吧。比如mqtt这种定制的规则,可以下发和控制到物联网设备。学术界目前已经有一些实现了,比如contiki-ng的mqtt-client,可以烧写在cc2650的zigbee设备上。还有的已经开源的ipv6 over ble的工作,以及tcp + ipv6 + ble的工作。 可以参考。

daishengdong commented 4 years ago

contiki-ng的mqtt-client,这个是跑在局域网上的么,它配套的broker实现是哪个?

daishengdong commented 4 years ago

此issue已做线下交流。