协议起点
1. 基于Internet的协议:
传输层: TCP 保证可靠传输,例如 XMPP,HTTP (RESTful) ,MQTT, 自定义协议。
UDP 不保证可靠传输,例如 CoAP
2. 非Internet协议:
RS485:速度快(10Mbps),距离长(1200m)传输速率与传输距离成反比,(两线)电压表示信号。
RS232:
MBus:速度略慢(9600bps),距离长,抗干扰能力强,(主到从)电压表示信号,(从到主)电流表示信号。
协议比较
Protocol | CoAP | XMPP | RESTful HTTP | MQTT |
---|---|---|---|---|
Transport | UDP+CoAP | TCP+XML | TCP+HTTP | TCP+MQTT |
Messaging | Request/Response | Publish/Subscribe Request/Response | Request/Response | Publish/Subscribe Request/Response |
2G, 3G, 4G Suitability (1000s nodes) | Excellent | Excellent | Excellent | Excellent |
LLN Suitability (1000s nodes) | Excellent | Fair | Fair | Fair |
Compute Resources | 10Ks RAM/Flash | 10Ks RAM/Flash | 10Ks RAM/Flash | 10Ks RAM/Flash |
Success Storied | Utility Field Area Networks | Remote management of consumer white goods | Smart Energy Profile 2 (premise energy management/home services) | Extending enterprise messaging into IoT applications |
XMPP
XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程 序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。
MQTT
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。
CoAP
CoAP是受限制的应用协议(Constrained Application Protocol)的代名词。在最近几年的时间中,专家们预测会有更多的设备相互连接,而这些设备的数量将远超人类的数量。在这种大背景下,物联网和M2M技术应运而生。虽然对人而言,连接入互联网显得方便容易,但是对于那些微型设备而言接入互联网非常困难。在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的。但是对于小型设备而言,实现TCP和HTTP协议显然是一个过分的要求。为了让小设备可以接入互联网,CoAP协议被设计出来。CoAP是一种应用层协议,它运行于UDP协议之上而不是像HTTP那样运行于TCP之上。CoAP协议非常的小巧,最小的数据包仅为4字节。
RESTful HTTP
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。
Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。
其他
MQTT协议是IBM公司主推的协议,现有的情况下,MQTT比起XMPP和RESTful比较有优势。如果我们对上面的结果进行一次PK,我想最后的结果就是MQTT vs CoAP。
HTTP对于嵌入式设备来说太重了,也不灵活。
XMPP就更不用说了,适用于即时通讯(聊天)。
与MQTT还有一比的便是CoAP——一个还在草稿阶段的协议。
注:
IoT(Internet of Things): 物联网
LLN Suitability(Low-power and Lossy Networks): 低功耗和有损网络
在国外通常把把家电分为4类:白色家电、黑色家电、米色家电和新兴的绿色家电。
白色家电指可以替代人们进行家务劳动的产品包括洗衣机、冰箱等,或者是为人们提供更高生活环境质量的产品,像空调、电暖器;
黑色家电是指可提供娱乐的产品,比如:DVD播放机、彩电、音响、游戏机、摄像机、照相机、电视游戏机、家庭影院、电话、电话应答机等;
米色家电指电脑信息产品;绿色家电,指在质量合格的前提下,可以高效使用且节约能源的产品;
绿色家电在使用过程中不对人体和周围环境造成伤害,在报废后还可以回收利用的家电产品。
毫无疑问,对于物联网来说,我们的革命对象主要是是消费级白色家电(consumer white goods)
引用:https://www.phodal.com/blog/iot-protocols-coap-mqtt-xmpp-restful-http/