物联网终端的种类非常多,包括物联网网关、通信模块以及大量的行业终端,其中尤以行业终端的种类最为丰富。
通信模块是物联网应用终端的基础。物联网的行业终端种类繁多,体积、处理能力、对外接口等各不相同,通信模块将成为物联网智能服务通道的统一承载体,嵌入各种行业终端,为各行各业提供物联网的智能通道服务。而在通信中,通信协议尤其重要,是指双方实体完成通信或服务所必须遵循的规则和约定,而且根据终端环境的不同对通信协议的要求完全不一致。
与互联网时代tcp/ip,http一统天下的局面不同,物联网的通信环境有ethernet, wi-fi, rfid, nfc(近距离无线通信), zigbee, 6lowpan(ipv6低速无线版本),bluetooth, gsm, gprs, gps, 3g, 4g等网络,而每一种通信应用协议都有一定适用范围。amqp、jms、rest/http都是工作在以太网,coap协议是专门为资源受限设备开发的协议,而dds和mqtt的兼容性则强很多。
1.rest(松耦合服务调用)
rest即表述性状态传递(英文:representational state transfer,简称rest)是roy fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
而rest被应用于物联网主要是基于http web服务的转化,因为rest模式的web服务与复杂的soap和xml-rpc对比来讲明显的更加简洁,越来越多的web服务开始采用rest风格设计和实现。
特点:
给一切物体一个id2.连接物体在一起
3.使用标准方法
4.资源多重表述
5.无状态通信
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。在一些要求比较严格的计费系统中,可以使用此级别
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服务质量策略互操作强实时跨平台支持多种底层物理通信协议仿真→测试→实装的全生命周期支持dds很好地支持设备之间的数据分发和设备控制,设备和云端的数据传输,同时dds的数据分发的实时效率非常高,能做到秒级内同时分发百万条消息到众多设备。dds在服务质量(qos)上提供非常多的保障途径,这也是它适用于国防军事、工业控制这些高可靠性、可安全性应用领域的原因。但这些应用都工作在有线网络下,在无线网络,特别是资源受限的情况下,没有见到过实施案例。
5.amqp协议(互操作性)
amqp,即advanced message queuing protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。erlang中的实现有 rabbitmq等。
amqp协议是一个二进制协议,拥有一些现代特点:多信道、协商式、异步、安全、跨平台、中立、高效。
• 模型层定义了一套命令(按功能分类),客户端应用可以利用这些命令来实现它的业务功能。
• 会话层负责将命令从客户端应用传递给服务器,再将服务器的应答传递给客户端应用,会话层为这个传递过程提供可靠性、同步机制和错误处理。
• 传输层提供帧处理、信道复用、错误检测和数据表示。
实现者可以将传输层替换成任意传输协议,只要不改变amqp协议中与客户端应用程序相关的功能。实现者还可以使用其他高层协议中的会话层。
amqp协议最早应用于金融系统之间的交易消息传递,在物联网应用中,主要适用于移动手持设备与后台数据中心的通信和分析。
6.xmpp协议(即时通信)
xmpp是一种基于标准通用标记语言的子集xml的协议,它继承了在xml环境中灵活的发展性。因此,基于xmpp的应用具有超强的可扩展性。经过扩展以后的xmpp可以通过发送扩展的信息来处理用户的需求,以及在xmpp的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,xmpp包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。
特点:
1.客户机/服务器通信模式
2.分布式网络
3.简单的客户端,将大多数工作放在服务器端进行
4.标准通用标记语言的子集xml的数据格式
xmpp协议是自由、开放、公开的,并且易于了解。而且在客户端、服务器、组件、源码库等方面,都已经各自有多种实现。但随着通常超过70%的xmpp协议的服务器的数据流量的存在和近60%的被重复转发,xmpp协议目前拥有一个大型架空中存在的数据提供给多个收件人。适用于即时通信的应用程序,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。
中兴通讯和联通完成TAPI北向接口对接,实现端到端业务快速配置和管理
采用电路编码实现立靶精度测量系统的设计与研究
燧原科技第二代芯片产品已大规模落地
经常使用的半导体开关有哪几种
涨升不断 MLED底气何来?MLED能否告别“价格战”?
物联网都有哪些通信协议?
2299元 麦芒10手机正式开售
安防监控系统的供电模式
常用的电子元器件及其分类方法
威视芯半导体落户合肥 将重点布局智能电视芯片领域并努力开拓中国的高清视频市场
射频技术中的基本单位dB/dBm/dBw介绍
无线通信蜂窝LPWA的用途是什么?
IBM发布最高性能嵌入式处理器,将集成到LSI下一代SoC多
虚拟电厂的定义是什么
十年前电脑DIY的那些事
三星Note10曝光采用了打孔屏设计配备45W充电器支持5G网络
74ls190引脚图及功能
物联网平台厂商如何做,才能在众多平台商中脱颖而出?
半导体≠芯片:你真的了解半导体技术吗?
中软国际携手用友共赢企业服务新生态