什么时候应该使用MQTT-SN?它与MQTT有什么不同?

Sas*_*mar 34 mqtt

如果MQTT已经是一个轻量级协议并且它使用少量的功率和带宽,那么为什么我们有MQTT-SN.什么时候使用MQTT和MQTT-SN?

Mic*_*ksa 39

与MQTT相比,MQTT-SN(传感器网络的 SN )几乎没有什么优势,特别是对于嵌入式设备.

好处

  1. MQTT-SN支持主题ID而不是主题名称.第一个客户端向代理发送带有主题名称和主题ID(2个八位字节)的注册请求.接受注册后,客户端使用主题ID来引用主题名称.这节省了媒体带宽和设备内存 - 保留和发送主题名称是非常昂贵的,例如:home/livingroom/socket2/meter在每个发布消息的内存中.
  2. 可以在MQTT-SN网关中预先配置主题ID的主题名称,以便在发布之前可以跳过注册消息.
  3. MQTT-SN不需要TCP/IP堆栈.它可以通过串行链路(首选方式)使用,其中使用简单的链路协议(以区分线路上的不同设备)开销非常小.或者它可以在UDP上使用,UDP比TCP要少.

缺点

  1. 您需要某种网关,这只不过是移动到不同设备的TCP或UDP堆栈.这也可以是一个简单的设备(例如:Arduino Uno),仅为多个MQTT-SN设备提供服务而无需其他工作.
  2. MQTT-SN不受支持.

如果资源不足,或者设备中没有以太网/ Wifi,请使用MQTT-SN.

  • 不要忘记电池电量.保留WiFi或蜂窝连接需要相当大的功率(即使使用省电模式).MQTT-SN实际上可以使用非IP网络,例如BLE,它可以显着降低功耗,但会影响延迟,端到端加密和其他功能. (2认同)
  • MQTT 5.0 于 2019 年成为 OASIS 标准,还包括使用主题 ID 的选项。仅供将来遇到此问题的其他人参考。:) (2认同)

ppa*_*rno 5

MQTT-SN(其中SN表示传感器网络)与MQTT不同.MQTT通过TCP/IP,它可以用于LAN通信或通过Internet和云(如果您的网络中有客户端,但代理在Internet上).MQTT-SN可用于更适合传感器网络的协议,如ZigBee,Z-Wave等.规范与MQTT不同......所以它不是MQTT而不是TCP/IP.它更轻量级,需要一个桥梁将MQTT-SN消息转换为MQTT消息.

保罗.