资料介绍
序言
物联网终端的种类非常多,包括物联网网关、通信模块以及大量的行业终端,其中尤以行业终端的种类最为丰富。通信模块是物联网应用终端的基础。物联网的行业终端种类繁多,体积、处理能力、对外接口等各不相同,通信模块将成为物联网智能服务通道的统一承载体,嵌入各种行业终端,为各行各业提供物联网的智能通道服务。而在通信中,通信协议尤其重要,是指双方实体完成通信或服务所必须遵循的规则和约定,而且根据终端环境的不同对通信协议的要求完全不一致。
那么物联网都有哪些通信协议?你都了解吗?他们适用的环境又是如何?
与互联网时代 TCP/IP,HTTP 一统天下的局面不同,物联网的通信环境有 Ethernet, Wi-Fi, RFID, NFC(近距离无线通信), Zigbee, 6LoWPAN(IPV6 低速无线版本),Bluetooth, GSM, GPRS, GPS, 3G, 4G 等网络,而每一种通信应用协议都有一定适用范围。AMQP、JMS、REST/HTTP 都是工作在以太网,COAP 协议是专门为资源受限设备开发的协议,而 DDS 和 MQTT 的兼容性则强很多。
这儿举个智能家居的例子,说明下这些协议侧重应用方向。智能家居中智能灯光控制,可以使用 XMPP 协议控制灯的开关;智能家居的电力供给,发电厂的发动机组的监控可以使用 DDS 协议;当电力输送到千家万户时,电力线的巡查和维护,可以使用 MQTT 协议;家里的所有电器的电量消耗,可以使用 AMQP 协议,传输到云端或家庭网关中进行分析;最后用户想把自家的能耗查询服务公布到互联网上,那么可以使用 REST/HTTP 来开放 API 服务。
下面我们将一一详细介绍下这些协议:
1.REST(松耦合服务调用)
REST 即表述性状态传递 (英文:Representational State Transfer,简称 REST) 是 Roy Fielding 博士在 2000 年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
而 REST 被应用于物联网主要是基于 HTTP web 服务的转化,因为 REST 模式的 Web 服务与复杂的 SOAP 和 XML-RPC 对比来讲明显的更加简洁,越来越多的 web 服务开始采用 REST 风格设计和实现。
特点:
给一切物体一个 ID
连接物体在一起
使用标准方法
资源多重表述
无状态通信
REST 其实是互联网中服务调用 API 封装风格,物联网中数据采集到物联网应用系统中,在物联网应用系统中,可以通过开放 REST API 的方式,把数据服务开放出去,被互联网中其他应用所调用,所以它非常利于服务平台与物联终端的独立开发,但它的通讯数据量与 API 内容密切相关,且是一种无状态通信,对安全机制需要重新设计。
2.CoAP 协议
由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的 HTTP 协议应用在物联网上就显得过于庞大而不适用。 IETF 的 CoRE 工作组提出了一种基于 REST 架构的 CoAP 协议。
CoAP 是一种应用层协议,它运行于 UDP 协议之上而不是像 HTTP 那样运行于 TCP 之上。CoAP 协议非常的小巧,最小的数据包仅为 4 字节。
CoAP 协议是否可以替换 HTTP 协议?
CoAP 并不能替代 HTTP 协议,但是对于那些小设备 (256KB Flash 32KB RAM 20MHz 主频) 而言 CoAP 的确是一个好的解决方案。
CoAP 消息类型
CoAP 采用和 HTTP 协议相同的请求响应工作模式。CoAP 协议共有 4 中不同的消息类型。
CON——需要被确认的请求,如果 CON 请求被发送,那么对方必须做出响应。
NON——不需要被确认的请求,如果 NON 请求被发送,那么对方不必做出回应。
ACK——应答消息,如果接受到 CON 消息的响应。
RST——复位消息,当接收者接受到的消息包含一个错误,接受者解析消息或者不再关心发送者发送的内容,那么复位消息将会被发送。
CoAP 消息结构
一个 CoAP 消息最小为 4 个字节,以下是 CoAP 协议不同部分的描述。
【版本 Version】:类似于 IPv6 和 IPv6,仅仅是一个版本号。
【消息类型 Message Type】:CON,NON,ACK,RST。这些消息类型相当于 HTTP 协议的 PUTGET 等
【消息 ID Message ID】:每个 CoAP 消息都有一个 ID,在一次会话中 ID 总是保持不变。但是在这个会话之后该 ID 会被回收利用。
【标记 Token】:标记是 ID 的另一种表现、
【选项 Options】:CoAP 选项类似于 HTTP 请求头,它包括 CoAP 消息本身,例如 CoAP 端口号,CoAP 主机和 CoAP 查询字符串等。
【负载 Payload】:真正有用的被交互的数据。
在当前由 PC 机组成的世界,信息交换是通过 TCP 和应用层协议 HTTP 实现的。但是对于小型设备而言,实现 TCP 和 HTTP 协议显然是一个过分的要求。为了让小设备可以接入互联网,CoAP 协议被设计出来。
3.MQTT 协议 (低带宽)
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布 / 订阅 (publish/subscribe) 模式的 “轻量级” 通讯协议,该协议构建于 TCP/IP 协议上,由 IBM 在 1999 年发布。MQTT 最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT 协议运行在 TCP/IP 或其他网络协议,提供有序、无损、双向连接。其特点包括:
1) 使用的发布 / 订阅消息模式,它提供了一对多消息分发,以实现与应用程序的解耦。
2) 对负载内容屏蔽的消息传输机制。
3) 对传输消息有三种服务质量 (QoS):
最多一次,这一级别会发生消息丢失或重复,消息发布依赖于底层 TCP/IP 网络。即:《=1 至多一次,这一级别会确保消息到达,但消息可能会重复。即:》=1
只有一次,确保消息只有一次到达。即:=1。在一些要求比较严格的计费系统中,可以使用此级别
4) 数据传输和协议交换的最小化 (协议头部只有 2 字节),以减少网络流量
5) 通知机制,异常中断时通知传输双方
适用范围:在低带宽、不可靠的网络下提供基于云平台的远程设备的数据传输和监控。
协议实现方式
实现 MQTT 协议需要:客户端和服务器端
MQTT 协议中有三种身份:发布者 (Publish)、代理 (Broker)(服务器)、订阅者 (Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
MQTT 传输的消息分为:主题 (Topic) 和负载 (payload) 两部分
Topic,可以理解为消息的类型,订阅者订阅 (Subscribe) 后,就会收到该主题的消息内容(payload)
payload,可以理解为消息的内容,是指订阅者具体要使用的内容
MQTT 协议一般适用于设备数据采集到端 (Device-》Server,Device-》Gateway),集中星型网络架构 (hub-and-spoke),不适用设备与设备之间通信,设备控制能力弱,另外实时性较差,一般都在秒级。
4.DDS 协议 (高可靠性、实时)
数据分发服务 DDS(Data Distribution Service)是对象管理组织 (OMG) 在 HLA 及 CORBA 等标准的基础上制定的新一代分布式实时通信中间件威廉希尔官方网站 规范,DDS 采用发布 / 订阅体系架构,强调以数据为中心,提供丰富的 QoS 服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。DDS 信息分发中间件是一种轻便的、能够提供实时信息传送的中间件威廉希尔官方网站 。
特点:
灵活的发布 / 订阅模式
完整 DDS 规范 QoS 服务质量策略
已扩展的 QoS 服务质量策略
互操作
强实时
跨平台
物联网终端的种类非常多,包括物联网网关、通信模块以及大量的行业终端,其中尤以行业终端的种类最为丰富。通信模块是物联网应用终端的基础。物联网的行业终端种类繁多,体积、处理能力、对外接口等各不相同,通信模块将成为物联网智能服务通道的统一承载体,嵌入各种行业终端,为各行各业提供物联网的智能通道服务。而在通信中,通信协议尤其重要,是指双方实体完成通信或服务所必须遵循的规则和约定,而且根据终端环境的不同对通信协议的要求完全不一致。
那么物联网都有哪些通信协议?你都了解吗?他们适用的环境又是如何?
与互联网时代 TCP/IP,HTTP 一统天下的局面不同,物联网的通信环境有 Ethernet, Wi-Fi, RFID, NFC(近距离无线通信), Zigbee, 6LoWPAN(IPV6 低速无线版本),Bluetooth, GSM, GPRS, GPS, 3G, 4G 等网络,而每一种通信应用协议都有一定适用范围。AMQP、JMS、REST/HTTP 都是工作在以太网,COAP 协议是专门为资源受限设备开发的协议,而 DDS 和 MQTT 的兼容性则强很多。
这儿举个智能家居的例子,说明下这些协议侧重应用方向。智能家居中智能灯光控制,可以使用 XMPP 协议控制灯的开关;智能家居的电力供给,发电厂的发动机组的监控可以使用 DDS 协议;当电力输送到千家万户时,电力线的巡查和维护,可以使用 MQTT 协议;家里的所有电器的电量消耗,可以使用 AMQP 协议,传输到云端或家庭网关中进行分析;最后用户想把自家的能耗查询服务公布到互联网上,那么可以使用 REST/HTTP 来开放 API 服务。
下面我们将一一详细介绍下这些协议:
1.REST(松耦合服务调用)
REST 即表述性状态传递 (英文:Representational State Transfer,简称 REST) 是 Roy Fielding 博士在 2000 年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
而 REST 被应用于物联网主要是基于 HTTP web 服务的转化,因为 REST 模式的 Web 服务与复杂的 SOAP 和 XML-RPC 对比来讲明显的更加简洁,越来越多的 web 服务开始采用 REST 风格设计和实现。
特点:
给一切物体一个 ID
连接物体在一起
使用标准方法
资源多重表述
无状态通信
REST 其实是互联网中服务调用 API 封装风格,物联网中数据采集到物联网应用系统中,在物联网应用系统中,可以通过开放 REST API 的方式,把数据服务开放出去,被互联网中其他应用所调用,所以它非常利于服务平台与物联终端的独立开发,但它的通讯数据量与 API 内容密切相关,且是一种无状态通信,对安全机制需要重新设计。
2.CoAP 协议
由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的 HTTP 协议应用在物联网上就显得过于庞大而不适用。 IETF 的 CoRE 工作组提出了一种基于 REST 架构的 CoAP 协议。
CoAP 是一种应用层协议,它运行于 UDP 协议之上而不是像 HTTP 那样运行于 TCP 之上。CoAP 协议非常的小巧,最小的数据包仅为 4 字节。
CoAP 协议是否可以替换 HTTP 协议?
CoAP 并不能替代 HTTP 协议,但是对于那些小设备 (256KB Flash 32KB RAM 20MHz 主频) 而言 CoAP 的确是一个好的解决方案。
CoAP 消息类型
CoAP 采用和 HTTP 协议相同的请求响应工作模式。CoAP 协议共有 4 中不同的消息类型。
CON——需要被确认的请求,如果 CON 请求被发送,那么对方必须做出响应。
NON——不需要被确认的请求,如果 NON 请求被发送,那么对方不必做出回应。
ACK——应答消息,如果接受到 CON 消息的响应。
RST——复位消息,当接收者接受到的消息包含一个错误,接受者解析消息或者不再关心发送者发送的内容,那么复位消息将会被发送。
CoAP 消息结构
一个 CoAP 消息最小为 4 个字节,以下是 CoAP 协议不同部分的描述。
【版本 Version】:类似于 IPv6 和 IPv6,仅仅是一个版本号。
【消息类型 Message Type】:CON,NON,ACK,RST。这些消息类型相当于 HTTP 协议的 PUTGET 等
【消息 ID Message ID】:每个 CoAP 消息都有一个 ID,在一次会话中 ID 总是保持不变。但是在这个会话之后该 ID 会被回收利用。
【标记 Token】:标记是 ID 的另一种表现、
【选项 Options】:CoAP 选项类似于 HTTP 请求头,它包括 CoAP 消息本身,例如 CoAP 端口号,CoAP 主机和 CoAP 查询字符串等。
【负载 Payload】:真正有用的被交互的数据。
在当前由 PC 机组成的世界,信息交换是通过 TCP 和应用层协议 HTTP 实现的。但是对于小型设备而言,实现 TCP 和 HTTP 协议显然是一个过分的要求。为了让小设备可以接入互联网,CoAP 协议被设计出来。
3.MQTT 协议 (低带宽)
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布 / 订阅 (publish/subscribe) 模式的 “轻量级” 通讯协议,该协议构建于 TCP/IP 协议上,由 IBM 在 1999 年发布。MQTT 最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT 协议运行在 TCP/IP 或其他网络协议,提供有序、无损、双向连接。其特点包括:
1) 使用的发布 / 订阅消息模式,它提供了一对多消息分发,以实现与应用程序的解耦。
2) 对负载内容屏蔽的消息传输机制。
3) 对传输消息有三种服务质量 (QoS):
最多一次,这一级别会发生消息丢失或重复,消息发布依赖于底层 TCP/IP 网络。即:《=1 至多一次,这一级别会确保消息到达,但消息可能会重复。即:》=1
只有一次,确保消息只有一次到达。即:=1。在一些要求比较严格的计费系统中,可以使用此级别
4) 数据传输和协议交换的最小化 (协议头部只有 2 字节),以减少网络流量
5) 通知机制,异常中断时通知传输双方
适用范围:在低带宽、不可靠的网络下提供基于云平台的远程设备的数据传输和监控。
协议实现方式
实现 MQTT 协议需要:客户端和服务器端
MQTT 协议中有三种身份:发布者 (Publish)、代理 (Broker)(服务器)、订阅者 (Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
MQTT 传输的消息分为:主题 (Topic) 和负载 (payload) 两部分
Topic,可以理解为消息的类型,订阅者订阅 (Subscribe) 后,就会收到该主题的消息内容(payload)
payload,可以理解为消息的内容,是指订阅者具体要使用的内容
MQTT 协议一般适用于设备数据采集到端 (Device-》Server,Device-》Gateway),集中星型网络架构 (hub-and-spoke),不适用设备与设备之间通信,设备控制能力弱,另外实时性较差,一般都在秒级。
4.DDS 协议 (高可靠性、实时)
数据分发服务 DDS(Data Distribution Service)是对象管理组织 (OMG) 在 HLA 及 CORBA 等标准的基础上制定的新一代分布式实时通信中间件威廉希尔官方网站 规范,DDS 采用发布 / 订阅体系架构,强调以数据为中心,提供丰富的 QoS 服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。DDS 信息分发中间件是一种轻便的、能够提供实时信息传送的中间件威廉希尔官方网站 。
特点:
灵活的发布 / 订阅模式
完整 DDS 规范 QoS 服务质量策略
已扩展的 QoS 服务质量策略
互操作
强实时
跨平台
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于XMPP协议的Android即时通信系统设计
- 具有HTTP Rest通信的机器人(Pytobot)
- MQTT协议网关网口连接西门子SMART200PLC操作说明-阿里云 v1
- MQTT协议网关串口连接三菱FX3UPLC操作说明-阿里云
- MQTT协议网关串口PPI连接西门子200PLC操作说明
- 全志T3开发板 ARM CortexA7——MQTT通信协议
- 4G无线Modbus转MQTT协议网关BL100产品简介
- MQTT协议5.0英文文件下载 2次下载
- MQTT是什么?物联网开发入门之物联网标准通信协议-MQTT详细资料概述 33次下载
- 物联网通信协议之MQTT协议介绍MQTT协议测试环境如何搭建及分析 8次下载
- 深挖物联网大数据背后的六大通信协议,DDS/MQTT/CoAP谁更强 5次下载
- mqtt-v3.1.1版协议 0次下载
- XMPP-RFC3921中文手册 0次下载
- 采用Symbian OS的XMPP协议的实现
- 基于XMPP威廉希尔官方网站 的短信增值业务设计
- DDS协议测试实践及问题分析 391次阅读
- MQTT和Modbus协议的区别 1896次阅读
- 基于模块HTTP测试流程 987次阅读
- 什么是HTTP协议?什么是RPC协议?二者如何选择使用? 2298次阅读
- MQTT协议的概念和主要特性 MQTT协议于物联网有何好处 2230次阅读
- RPC接口和HTTP接口的区别与联系 1656次阅读
- MQTT协议简介及协议原理 6717次阅读
- 大话HTTP协议前世今生 607次阅读
- 小凌派RK2206开发板:实现基于OpenHarmony的本地MQTT协议 4558次阅读
- 一文详细了解HTTP协议 1583次阅读
- HTTP及MQTT比较分析 5616次阅读
- 物联网涉及的7大协议 你知道多少 8880次阅读
- 物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP 2w次阅读
- HTTP协议的使用方式和设计原理讲解 4113次阅读
- webgis和gis有什么区别 1.1w次阅读
下载排行
本周
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2Keysight B1500A 半导体器件分析仪用户手册、说明书 (中文)
- 19.00 MB | 4次下载 | 免费
- 3BT134双向可控硅手册
- 1.74 MB | 2次下载 | 1 积分
- 4一种新型高效率的服务器电源系统
- 0.85 MB | 1次下载 | 1 积分
- 5台达VFD-M系列变频器驱动板原厂原理图
- 0.17 MB | 1次下载 | 免费
- 6WTS-100(1.1) UWB 信标定位系统 彩页
- 540.48 KB | 1次下载 | 免费
- 7双向DC-DC转换器用户指南
- 2.98MB | 1次下载 | 免费
- 8联想E46L DAOLL6笔记本电脑图纸
- 1.10 MB | 1次下载 | 5 积分
本月
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 15次下载 | 免费
- 3DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 4ST7789V2单芯片控制器/驱动器英文手册
- 3.07 MB | 11次下载 | 1 积分
- 5TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 6STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 7TPS92682-Q1帧定义和示例
- 891.71KB | 6次下载 | 免费
- 8HY12P65/HY12P66数字万用表芯片规格书
- 0.69 MB | 6次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多