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

时间:2014-12-19 06:03:39

标签: mqtt

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

2 个答案:

答案 0 :(得分:39)

与MQTT相比,MQTT-SN( Sensors Network 的SN)几乎没有什么优势,特别是对于嵌入式设备。

优点

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

    1. 您需要某种网关,这不过是移动到其他设备的TCP或UDP堆栈。这也可以是一个简单的设备(例如:Arduino Uno),仅为多个MQTT-SN设备提供服务而无需其他工作。
    2. MQTT-SN不受支持。
    3. 如果您的资源不足,或者设备中没有以太网/ Wifi,请使用MQTT-SN。

答案 1 :(得分:5)

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

保罗。