如上图所示。本文从以下几个维度介绍物联网的几种常见协议。1、按网络四层协议分类:NB-IoT、LORA、WIFI、蓝牙、zigbee、4G都需要硬件支持。MQTT、COAP、HTTP都是应用层协议,需要对接一个服务器。现在有很多物联网平台,比如阿里云、腾讯云、华为云等等。所以(MQTT、COAP、HTTP)驻留在(NB-IoT、LORA、WIFI、蓝牙、zigbee、4G)的上层协议物理层。2、按需要网关分类:不需要网关:NB-IoT、2G/4G/5G(芯片可直接与运营商通信:中国移动、中国联通、中国电信等)需要网关:LORA、WIFI,zigbee(不能直接连接到电信运营商,需要通过网关中转连接网络)蓝牙设备可以相互通信。3、NB-IoT、4G对比:NB-IoT功耗低,数据传输量小,传输速度低,芯片模块和封装便宜。目前NB基站还很少,但华为正在大力推广这种通信方式,相信未来一定会普及。2G/4G/5G:传输速度快,可以传输大数据,但功耗高,价格贵。WIFI和zigbee对比:wifi功耗大,传输速率11-54Mbps,功耗10-50mA,距离20-50m。一个路由器只能加入较少的设备。Zigbee功耗低,100Kbps慢速数据传输,20mA功耗,可中继,距离数百至数千米。一个zigbee网关可以加入数千个zigbee设备。四、应用层协议:MQTT与COAP的比较1、MQTTmqtt是一种基于客户端-服务器的消息发布/订阅传输协议。MQTT协议轻量级、简单、开放、易于实现。这些特点使其应用广泛。它是一种非常轻量级的通信协议,开销非常小(固定标头2个字节)。它是一种订阅/发布通信方式,可以是一对多也可以是多对一。它是TCP通信协议。有三种方式,最多一次:最多一次:保证尽最大努力传递,至少一次:保证消息至少传递一次。但消息也可以传递不止一次。OnlyOnce:确保每条消息只被对方收到一次。在许多情况下,包括受限环境,例如:机器对机器(M2M)通信和物联网(IoT)、卫星链路通信传感器、偶尔的拨号医疗设备、智能家居和一些小型化设备已经广泛使用用过的。2、coapCOAP协议的网络传输层由TCP改为UDP。基于REST,服务器的资源地址有类似互联网的格式,客户端也有POST、GET、PUT、DELETE方法访问服务器,简化了HTTP。COAP是二进制格式,HTTP是文本格式,COAP比HTTP更紧凑。轻量级,COAP最小长度只有4B,一个HTTP头几十个B,支持可靠传输、数据重传、分块传输。确保数据可靠到达。支持IP组播,即可以同时向多个设备发送请求。非持久连接通信,适用于低功耗物联网场景。3.DDS(DataDistributionServiceforReal-TimeSystems),实时系统的数据分发服务这是著名的OMG组织提出的协议,其权威性应该证明协议未来的应用前景。适用范围:分布式高可靠性、实时传输设备数据通信。目前,DDS已广泛应用于国防、民航、工业控制等领域。特点:以数据为中心,采用无代理发布/订阅消息模式,点对点、点对多、多对多提供多达21种QoS服务质量策略协议主要实现:OpenDDS是一个OpenSpliceDDS4的开源C++实现。XMPPXMPP基于XML协议,由于其开放性和易用性,被广泛应用于互联网即时通讯应用。与HTTP相比,XMPP在通信业务流程上更适合物联网系统。开发者不需要花费太多精力去解决设备通信的业务通信过程,相对的开发成本会更低。但是,HTTP协议在安全性和计算资源消耗方面的缺陷并没有得到根本解决。其设计基于互联网应用场景,但该协议的通病是根本无法适用于物联网设备的多样性,无法满足众多物联网设备对低功耗、低成本的需求。物联网设备中使用。5、HTTP协议HTTP协议是一种典型的CS通信方式。客户端发起连接并向服务器请求XML或JSON数据。该协议最初是为适用于网页浏览器的上网浏览场景而设计和设计的,目前广泛应用于PC、手机、pad等终端。缺点是:开销大,消息头大,HTTP通信问题,HTTP请求/响应会话全部由客户端发起,安全性差
