mqtt-sn(sensor networks)是mqtt协议的传感器版本,最早使用在zigbee无线网络中,主要面对电池供电,有限的处理器能力和存储能力的设备。基于tcp协议的mqtt对有些传感器来说还是负载太重了,这些传感器可能只有几十个字节的内存,无法运行tcp协议。
mqtt-sn和mqtt的不同点
1 协议运行的层次不同
mqtt运行在tcp层之上,mqtt-sn可以运行在mac层,ip层和udp之上。mqtt-sn应用的场景主要是各种低功耗传感器网络,需要电池供电,对功耗非常敏感,tcp虚拟长连接需要维持一个定时心跳,对电池来说不是一个好的解决方案。在传感器网络中,链接可能随时中断,tcp连接也要不断的重新建立连接,这样对功耗都是大的消耗。
2 qos增加了-1级别或3
qos -1 级别在设置的时候qos flag还是要设置3(“0b11” ),-1仅仅是个称谓,这个级别仅仅适用在非常简单的应用中,不需要建立连接或者断开连接,不需要注册或订阅,这时客户端仅仅是发送public消息给网关即可。发布的消息也不需要得到消息确认。
3 订阅主题方式
mqtt-sn可以使用mqtt的订阅主题格式,长名字主题如“/beijing/sen1”,也可以使用只有两个字符的短名字主题如“s1”,还可以使用预先定义好的主题id如 “1”, 如果不使用长名字主题不能使用通配符。
4 发布消息
和订阅主题一样,可以使用两个字符的短名字主题或者使用定义好的主题id。
注意:主题id的内容对不同客户端来说可能一样也可能不一样。比如a传感器订阅了主题id 1 内容是/beijing/sen1,b传感器也订阅了主题id1内容是/beijing/sen2,他们的内容是不一样的。
5 网络架构
物联网协议比较:mqtt vs mqtt-sn
mqtt-sn多了一种节点,就是mqtt-sn网关。网关的作用主要是协议转换,把底层的mqtt-sn协议转换为mqtt的协议格式。
如上图所示,网关有两种,一种透明网关,仅仅是起透传作用做简单的拆包组包,另一个是聚合网关,把多个节点聚合到一起传给消息代理。
6 网关发现
在mqtt-sn中,客户端不用去记忆网关的地址,网关会定期的广播advertise信息,里面有自己的地址,客户端接收地址,当有多个网关时候,网关需要带上自己的网关id,由客户端来决定连接哪一个,任何时候,一个客户端只能连接一个网关。客户端也可以发送网关查询(searchgw信息),这时候网关将回应gwinfo
信息。防止产生广播风暴有两个参数,网关查询报文的发送需要等待一个随机时间,发送的网关查询经过的网关条数一般设为1,也就是说searchgw信息不能跨网关传输。 这样网关可以灵活配置,不需要固定某一个网关。
7 支持设备睡眠
如果设备睡眠,则mqtt-sn网关先把消息存储起来,等设备醒来再下发。这个有点像手机短信,手机关机后,短信存储在运营商的短信交换中心,手机开机后再下发。
来源:物联网电子世界
触屏IC供应商为赢订单纷纷降价
星逻智能发布无人机综合操作系统
宽带接入速率测试方法正在制定中
匹配95°视场角,Varjo推出全新AR透视组件
河北移动联合华为使用2.6GHz的160M频谱实现了全国外场5G测试最高速率
物联网协议之间有什么差异
基于DP108T高集成度的USB/YTPE-C音频芯片
铅酸电池生命力旺盛 期待天能有更大发展
钨青铜铁电体的束腰电滞回线与场致相变
【6月16日|直播】动态电流高速测量和长时间记录
硬件仿真崛起的背后是什么?
什么是液晶电视
基于STM32F407库函数开发按键控制LED灯
微针在伤口愈合及组织再生中的应用都有哪些呢?
TUV莱茵联合韩国产业技术试验院为福佑斯电器颁发KTL标识证书
让人纠结的魅族:舍弃难产的联发科?高通骁龙660成魅族MX7最好的选择
如何发起 HTTP 请求流程
长亭科技连续三年亮相国家网络安全宣传周
详解中国电信5G技术白皮书,5G网络总体演进原则及策略
欧洲首款3D打印汽车登场,采用电动四轮,世俗可达70Km