参考:服务器
https://blog.csdn.net/panwen1111/article/details/79245161网络
1、REST/HTTP(松耦合服务调用)架构
REST即表述性状态传递,是基于HTTP协议开发的一种通讯风格。异步
适用范围:REST/HTTP主要为了简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,下降了客户端和服务器之间的交互延迟。所以适合在物联网的应用层面,经过REST开放物联网中资源,实现服务被其余应用所调用。分布式
特色:ui
1. REST 指的是一组架构约束条件和原则。知足这些约束条件和原则的应用程序或设计就是RESTful。.net
2.客户端和服务器之间的交互在请求之间是无状态的。设计
3. 在服务器端,应用程序状态和功能能够分为各类资源,它向客户端公开,每一个资源都使用 URI 获得一个惟一的地址。全部资源都共享统一的界面,以便在客户端和服务器之间传输状态。orm
4.使用的是标准的 HTTP 方法,好比:GET、PUT、POST 和 DELETE。中间件
2、CoAP协议
CoAP(Constrained Application Protocol),受限应用协议,应用于无线传感网中协议。
适用范围:CoAP是简化了HTTP协议的RESTful API,CoAP是6LowPAN协议栈中的应用层协议,它适用于在资源受限的通讯的IP网络。
3、MQTT协议(低带宽)
MQTT (Message
Queuing Telemetry Transport ),消息队列遥测传输,由IBM开发的即时通信协议,相比来讲比较适合物联网场景的通信协议。MQTT协议采用发布/订阅模式,全部的物联网终端都经过TCP链接到云端,云端经过主题的方式管理各个设备关注的通信内容,负责将设备与设备之间消息的转发。
适用范围:在低带宽、不可靠的网络下提供基于云平台的远程设备的数据传输和监控。
4、DDS协议(高可靠性、实时)
DDS(Data Distribution Service for Real-Time Systems),面向实时系统的数据分布服务。
适用范围:分布式高可靠性、实时传输设备数据通讯。目前DDS已经普遍应用于国防、民航、工业控制等领域。
5、AMQP协议(互操做性)
AMQP(Advanced Message Queuing Protocol),先进消息队列协议,用于业务系统例如PLM,ERP,MES等进行数据交换。
适用范围:最先应用于金融系统之间的交易消息传递,在物联网应用中,主要适用于移动手持设备与后台数据中心的通讯和分析。
6、XMPP协议(即时通讯)
XMPP(Extensible Messaging and Presence Protocol)可扩展通信和表示协议,一个开源形式组织产生的网络即时通讯协议。
适用范围:即时通讯的应用程序,还能用在网络管理、游戏、远端系统监控等。
7、JMS
JMS (Java Message Service),即消息服务,这是JAVA平台中著名的消息队列协议。
Java消息服务应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通讯。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。
物联网协议对比
协议应用的侧重方向
以智能家居为例,智能家居中智能灯光控制,可使用XMPP协议控制灯的开关;智能家居的电力供给,发电厂的发动机组的监控可使用DDS协议;当电力输送到千家万户时,电力线的巡查和维护,可使用MQTT协议;家里的全部电器的电量消耗,可使用AMQP协议,传输到云端或家庭网关中进行分析;最后用户想把自家的能耗查询服务公布到互联网上,那么可使用REST/HTTP来开放API服务。