精华内容
下载资源
问答
  • 1 “通信”与“通讯”傻傻分得清 传统意义上的“通讯”主要指电话、电报、电传。通讯的“讯”指消息(Message),媒体讯息通过通讯网络从一端传递到另外一端。媒体讯息的内容主要是话音、文字、图片和视频图像。其...

    1  “通信”与“通讯”傻傻分得清

    传统意义上的“通讯”主要指电话、电报、电传。通讯的“讯”指消息(Message),媒体讯息通过通讯网络从一端传递到另外一端。媒体讯息的内容主要是话音、文字、图片和视频图像。其网络的构成主要由电子设备系统和无线电系统构成,传输和处理的信号是模拟的。所以,“通讯”一词应特指采用电报、电话、网络等媒体传输系统实现上述媒体信息传输的过程。“通讯”重在内容形式,因此通讯协议主要集中在ISO七层协议中的应用层。

    “通信”仅指数据通信,即通过计算机网络系统和数据通信系统实现数据的端到端传输。通信的“信”指的是信息(Information),信息的载体是二进制的数据,数据则是可以用来表达传统媒体形式的信息,如声音、图像、动画等。“通信”重在传输手段或使用方式,从这个角度,“通信”的概念包括了信息“传输”。因此通信协议主要集中在ISO七层协议中的物理层、数据链路层、网络层和传输层。

    在物联网应用中,通信技术包括Wi-Fi、RFID、NFC、ZigBee、Bluetooth、LoRa、NB-IoT、GSM、GPRS、3/4/5G网络、Ethernet、RS232、RS485、USB等。

    相关的通信协议(协议栈、技术标准)包括Wi-Fi(IEEE 802.11b)、RFID、NFC、ZigBee、Bluetooth、LoRa、NB-IoT、CDMA/TDMA、TCP/IP、WCDMA、TD-SCDMA、TD-LTE、FDD-LTE、TCP/IP、HTTP等。注:3GPP将5G技术标准制定分为两个阶段,原计划中第一阶段的标准将在2018年底作为R15的一部分公布,将仅针对NR。第二阶段的标准将在2019年底作为R16的一部分,包括整个5G架构(包括核心网络)。

    物联网技术框架体系中所使用到的通讯协议主要有:AMQP、JMS、REST、HTTP/HTTPS、COAP、DDS 、MQTT等。

    2 通讯协议

    2.1  HTTP/HTTPS

    一、HTTP

    HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

    HTTP协议的主要特点可概括如下:

    (1)支持客户/服务器模式。

    (2)简单快速。客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

    (3)灵活。HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

    (4)无连接。无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

    (5)无状态。HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

    二、HTTPS

    HTTPS(Hypertext TransferProtocol over Secure Socket Layer,基于SSL的HTTP协议)使用了HTTP协议,但HTTPS使用不同于HTTP协议的默认端口及一个加密、身份验证层(HTTP与TCP之间)。这个协议的最初研发由网景公司进行,提供了身份验证与加密通信方法,现在它被广泛用于互联网上安全敏感的通信。

    客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

    (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

    (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

    (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

    (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

    (5)Web服务器利用自己的私钥解密出会话密钥。

    (6)Web服务器利用会话密钥加密与客户端之间的通信。

    2.2  WebService/REST

    首先说明下,WebService和REST都不是一种协议,他们是基于HTTP/HTTPS的一种技术方式或风格,之所以放在这里,是因为在物联网应用服务对外接口方式常采用WebService和RESTful API。

     

    一、WebService

    WebService是一种跨编程语言和跨操作系统平台的远程调用技术。

    XML+XSD,SOAP和WSDL就是构成WebService平台的三大技术。

    (1)XML+XSD

    WebService采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么)。XML是WebService平台中表示数据的格式。除了易于建立和易于分析外,XML主要的优点在于它既是平台无关的,又是厂商无关的。无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。

    XML解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。例如,整形数到底代表什么?16位,32位,64位?这些细节对实现互操作性很重要。XML Schema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。WebService平台就是用XSD来作为其数据类型系统的。当你用某种语言(如VB.NET或C#)来构造一个Web service时,为了符合WebService标准,所有你使用的数据类型都必须被转换为XSD类型。你用的工具可能已经自动帮你完成了这个转换,但你很可能会根据你的需要修改一下转换过程。

    (2)SOAP

    WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC方法来调用Web Service。

    SOAP协议 = HTTP协议 + XML数据格式

    SOAP协议定义了SOAP消息的格式,SOAP协议是基于HTTP协议的,SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。打个比喻:HTTP就是普通公路,XML就是中间的绿色隔离带和两边的防护栏,SOAP就是普通公路经过加隔离带和防护栏改造过的高速公路。

    (3)WSDL

    好比我们去商店买东西,首先要知道商店里有什么东西可买,然后再来购买,商家的做法就是张贴广告海报。 WebService也一样,WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。

    WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。它是WebService客户端和服务器端都能理解的标准格式。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应WebService的代理类代码。

    WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:1.注册到UDDI服务器,以便被人查找;2.直接告诉给客户端调用者。

    二、REST

    REST (Representational State Transfer),表征状态转换,是基于HTTP 协议开发的一种通信风格,目前还不是标准。

    适用范围:REST/HTTP 主要为了简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,降低了客户端和服务器之间的交互延迟。因此适合在物联网的应用层面,通过REST 开放物联网中资源,实现服务被其他应用所调用。它有以下特点:

    (1)REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful;

    (2)客户端和服务器之间的交互在请求之间是无状态的;

    (3)在服务器端,应用程序状态和功能可以分为各种资源,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用URI (Universal Resource Identifier) 得到一个惟一的地址。所有资源都共享统一的界面,以便在客户端和服务器之间传输状态;

    (4)使用的是标准的HTTP方法,比如GET、PUT、POST 和DELETE。

    REST是互联网中服务调用API 封装风格,物联网中数据采集到物联网应用系统中,在物联网应用系统中,可以通过开放RESTAPI的方式,把数据服务开放出去,被互联网中其他应用所调用。

    2.3  CoAP 协议

    CoAP (Constrained Application Protocol),受限应用协议,应用于无线传感网中协议。

    适用范围:CoAP 是简化了HTTP 协议的RESTfulAPI,CoAP 是6LowPAN 协议栈中的应用层协议,它适用于在资源受限的通信的IP 网络。它有以下特点:

    (1)报头压缩。CoAP 包含一个紧凑的二进制报头和扩展报头。它只有短短的4B 的基本报头,基本报头后面跟扩展选项。一个典型的请求报头为10~20B。

    (2)方法和URIs。为了实现客户端访问服务器上的资源,CoAP 支持GET、PUT、POST 和DELETE 等方法。CoAP 还支持URIs,这是Web 架构的主要特点。

    (3)传输层使用UDP 协议。CoAP 协议是建立在UDP 协议之上,以减少开销和支持组播功能。它也支持一个简单的停止和等待的可靠性传输机制。

    (4)支持异步通信。HTTP 对M2M(Machine-to-Machine)通信不适用,这是由于事务总是由客户端发起。而CoAP 协议支持异步通信,这对M2M 通信应用来说是常见的休眠/唤醒机制。

    (5)支持资源发现。为了自主的发现和使用资源,它支持内置的资源发现格式,用于发现设备上的资源列表,或者用于设备向服务目录公告自己的资源。它支持RFC5785 中的格式,在CoRE 中用/.well—known/core 的路径表示资源描述。

    (6)支持缓存。CoAP 协议支持资源描述的缓存以优化其性能。

     

    CoAP协议主要实现:

    (1)libcoap(C 语言实现)

    (2)Californium(java 语言实现)

    另外,CoAP 和6LowPan,这分别是应用层协议和网络适配层协议,其目标是解决设备直接连接到IP 网络,也就是IP 技术应用到设备之间、互联网与设备之间的通信需求。因为IPV6 技术带来巨大寻址空间,不光解决了未来巨量设备和资源的标识问题,互联网上应用可以直接访问支持IPV6 的设备,而不需要额外的网关。

    2.4  MQTT 协议(低带宽)

    MQTT (Message Queuing Telemetry Transport ),消息队列遥测传输,由IBM 开发的即时通讯协议,相比来说比较适合物联网场景的通讯协议。MQTT 协议采用发布/订阅模式,所有的物联网终端都通过TCP 连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与设备之间消息的转发。

    MQTT 在协议设计时就考虑到不同设备的计算性能的差异,所以所有的协议都是采用二进制格式编解码,并且编解码格式都非常易于开发和实现。最小的数据包只有2个字节,对于低功耗低速网络也有很好的适应性。有非常完善的QOS 机制,根据业务场景可以选择最多一次、至少一次、刚好一次三种消息送达模式。运行在TCP 协议之上,同时支持TLS(TCP+SSL)协议,并且由于所有数据通信都经过云端,安全性得到了较好地保障。

    适用范围:在低带宽、不可靠的网络下提供基于云平台的远程设备的数据传输和监控。

    它具有以下特点:

    (1)使用基于代理的发布/订阅消息模式,提供一对多的消息发布;

    (2)使用TCP/IP 提供网络连接;

    (3)小型传输,开销很小(固定长度的头部是2 字节),协议交换最小化,以降低网络流量;

    (4)支持QoS,有三种消息发布服务质量:“至多一次”, “至少一次”, “只有一次”。

    协议主要实现和应用:

    (1)已经有PHP,JAVA,Python,C,C#等多个语言版本的协议框架;

    (2)IBM Bluemix 的一个重要部分是其IoTFoundation 服务,这是一项基于云的MQTT实例;

    (3)移动应用程序也早就开始使用MQTT,如Facebook Messenger 和com 等。

    另外,MQTT 协议一般适用于设备数据采集到端(Device→Server,Device→Gateway),集中星型网络架构(hub-and-spoke),不适用设备与设备之间通信,设备控制能力弱,另外实时性较差,一般都在秒级。

    2.5  DDS 协议(高可靠性、实时)

    DDS(Data Distribution Service for Real-Time Systems),面向实时系统的数据分布服务,这是大名鼎鼎的OMG 组织提出的协议,其权威性应该能证明该协议的未来应用前景。

    适用范围:分布式高可靠性、实时传输设备数据通信。目前DDS 已经广泛应用于国防、民航、工业控制等领域。

    它具有以下特点:

    (1)以数据为中心;

    (2)使用无代理的发布/订阅消息模式,点对点、点对多、多对多;

    (3)提供多大21 种QoS服务质量策略。

    协议主要实现:

    (1)OpenDDS 是一个开源的C++ 实现;

    (2)OpenSplice DDS;

    另外,DDS很好地支持设备之间的数据分发和设备控制,设备和云端的数据传输,同时DDS的数据分发的实时效率非常高,能做到秒级内同时分发百万条消息到众多设备。DDS在服务质量(QoS)上提供非常多的保障途径,这也是它适用于国防军事、工业控制这些高可靠性、可安全性应用领域的原因。但这些应用都工作在有线网络下,在无线网络,特别是资源受限的情况下,没有见到过实施案例。

    2.6  AMQP 协议(互操作性)

    AMQP(Advanced Message Queuing Protocol),先进消息队列协议,这是OASIS 组织提出的,该组织曾提出OSLC(Open Source Lifecyle)标准,用于业务系统例如PLM,ERP,MES等进行数据交换。

    适用范围:最早应用于金融系统之间的交易消息传递,在物联网应用中,主要适用于移动手持设备与后台数据中心的通信和分析。

    它有以下特点:

    (1)Wire 级的协议,它描述了在网络上传输的数据的格式,以字节为流;

    (2)面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全;

    协议实现:

    (1)Erlang 中的实现有RabbitMQ

    (2)AMQP 的开源实现,用C 语言编写OpenAMQ

    (3)Apache Qpid

    (4)stormMQ

    2.7  XMPP 协议(即时通信)

    XMPP(Extensible Messaging and Presence Protocol)可扩展通讯和表示协议,XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF 国际标准组织完成了标准化工作。

    适用范围:即时通信的应用程序,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。

    它有以下特点:

    (1)客户机/服务器通信模式;

    (2)分布式网络;

    (3)简单的客户端,将大多数工作放在服务器端进行;

    (4)标准通用标记语言的子集XML的数据格式。

    另外,XMPP 是基于XML 的协议,由于其开放性和易用性,在互联网及时通讯应用中运用广泛。相对HTTP,XMPP 在通讯的业务流程上是更适合物联网系统的,开发者不用花太多心思去解决设备通讯时的业务通讯流程,相对开发成本会更低。但是HTTP 协议中的安全性以及计算资源消耗的硬伤并没有得到本质的解决。

    2.8  JMS (JavaMessage Service)

    JMS (Java Message Service),JAVA 消息服务,这是JAVA 平台中著名的消息队列协议。

    Java 消息服务(Java Message Service)应用程序接口,是一个Java 平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java 消息服务是一个与具体平台无关的API,绝大多数MOM 提供商都对JMS 提供支持。

    JMS 是一种与厂商无关的API,用来访问消息收发系统消息,它类似于JDBC(Java DatabaseConnectivity)。这里,JDBC 是可以用来访问许多不同关系数据库的API,而JMS则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商都支持JMS,包括IBM的MQSeries、BEA 的Weblogic JMS service 和Progress 的SonicMQ。JMS能够通过消息收发服务(有时称为消息中介程序或路由器)从一个JMS 客户机向另一个JMS 客户机发送消息。消息是JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。根据有效负载的类型来划分,可以将消息分为几种类型,它们分别携带:简单文本(TextMessage)、可序列化的对象(ObjectMessage)、属性集合(MapMessage)、字节流(BytesMessage)、原始值流(StreamMessage),还有无有效负载的消息(Message)。

    2.9 通讯协议比较

     

    展开全文
  • 通讯协议检测工具(常见).rar
  • 常见的工业通讯协议有哪些

    千次阅读 2019-03-22 09:29:06
    每个仪表都自己独特的通讯协议常见modbus通讯协议 、RS-232通讯协议、RS-485通讯协议 、HART通讯协议等等,那么这些通讯协议究竟是怎么工作的,有哪些优缺点呢?本文将重点介绍目前常见的几种通讯协议! ...

    常见的工业通讯协议
    转载自@http://m.elecfans.com/article/578410.html?from=timelineTOC
    每个仪表都有自己独特的通讯协议,常见的有modbus通讯协议 、RS-232通讯协议、RS-485通讯协议 、HART通讯协议等等,那么这些通讯协议究竟是怎么工作的,有哪些优缺点呢?本文将重点介绍目前常见的几种通讯协议!

    通讯协议:又称通信规程,是指通讯双方对数据传送控制的一种约定。约定中包括对数据格式,同步方式,传送速度,传送步骤,检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守,它也叫做链路控制规程。

    常用的仪表通讯协议:
      · modbus通讯协议

    · RS-232通讯协议

    · RS-485通讯协议

    · HART通讯协议。

    · MPI通信

    · 串口通信

    · PROFIBUS通信

    · 工业以太网

    · ASI通信

    · PPI通信

    · 远程无线通信

    · TCP

    · UDP

    · S7

    · profibus

    · pofinet

    · MPI

    · PPI

    · Profibus-DP

    · Devicenet

    · Ethernet

    Modbus通讯协议1
      Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。

    由于modbus协议是完全公开透明的,所需的软硬件又非常简单,这就使它成为了一种通用的工业标准。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

    特点
      Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。

    modbus通讯协议是一种主从式异步半双工通信协议,采用主从式通讯结构,可以使一个主站对应多个从站进行双向通信。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。

    Modbus协议包括ASCII、RTU等通讯方式,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用主-从方式,主站发出数据请求消息,从站接收到正确消息后就可以发送数据到主站以响应请求;主站也可以直接发消息修改从站的数据,实现双向读写。

    主/从原理

    常见的工业通讯协议有哪些
      当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

    当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方。

    Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某从站点断开后(如故障或关机),主端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。

    Modbus与OSI参考模型
    常见的工业通讯协议有哪些

    Modbus之ASCII通讯方式
    常见的工业通讯协议有哪些

    数据帧
    常见的工业通讯协议有哪些

    广播模式(只用于写操作)
    常见的工业通讯协议有哪些

    非广播模式
    常见的工业通讯协议有哪些

    Modbus之RTU通讯方式
    常见的工业通讯协议有哪些

    RS-232通讯协议2
      RS-232是美国电子工业协会EIA(ElectronicIndustry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号通常。RS-232 接口以9个引脚 (DB-9) 或是25个引脚(DB-25) 的型态出现,一般个人计算机上会有两组RS-232 接口,分别称为 COM1 和 COM2 。

    RS-232接口
    常见的工业通讯协议有哪些
      RS-232标准设有25条信号线和9条信号线两种,包括一个主通道和一个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。

    传输速率
      RS-232标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200波特率。

    远程通信连接数据终端

    RS-232标准最初是远程通信连接数据终端设备(DTE)数据通信设备(DCE)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。

    “发送”和“接收”
      RS-232标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。

    电气特性
      EIA-RS-232 对电器特性、逻辑电平和各种信号线功能都作了规定。

    在TxD和RxD上:

    逻辑1(MARK)=-3V~-15V

    逻辑0(SPACE)=+3~+15V

    在RTS、CTS、DSR、DTR和DCD等控制线上:

    信号有效(接通,ON状态,正电压)=+3V~+15V

    信号无效(断开,OFF状态,负电压)=-3V~-15V

    RS-232接口定义(9芯)
    常见的工业通讯协议有哪些

    RS-232接口定义(25芯)
      1频蔽地线

    2 发送数据 TXD

    3接收数据 RXD

    4 请求发送RTS

    5允许发送 CTS

    6 数据准备好 DSR

    7信号地 SG

    8 载波检测 DCD

    9 发送返回(+)

    10 未定义

    11 数据发送(-)

    12~17 未定义

    18 数据接收(+)

    19 未定义

    20 数据终端准备好 DTR

    21 未定义

    22 振铃 RI

    23~24 未定义

    25 接收返回(-)

    RS-232串口通信接线方法(三线制)

    串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连。接收数据针脚(或线)与发送数据针脚(或线)相连,彼此交叉,信号地对应相接。

    9针D型串口:2“RXD”,3“TXD”,5“逻辑地”。

    常见的工业通讯协议有哪些

    25针串口通信接线方法

    常见的工业通讯协议有哪些

    RS-232缺点 :
      (1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。

    (2)传输速率较低,在异步传输时,波特率≤20Kbps。

    (3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。

    (4)传输距离有限,最大传输距离标准值为50英尺(实际≤15米)。

    RS-485通讯协议3
      RS-485标准是在RS232的基础上发展来的,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。

    RS-485的电气特性:
      逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电平比RS-232降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。

    传播速率:
      RS-485的数据最高传输速率为10Mbps

    RS-485接口:
      是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。

    波特率:
      1200bps、2400bps、4800bps、9600bps、19200bps、38400bps、125K

    通信接口方式:
      RS485接口:异步,半双工,串行

    数据格式:
      1位起始位、8位数据位、1位停止位、无校验

    1位起始位、8位数据位、1位停止位、奇校验

    1位起始位、8位数据位、1位停止位、偶校验

    当与现场总线适配器PROFIBUS连接时采用默认数据格式。

    RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米(理论上的数据,在实际操作中,极限距离仅达1200米左右),另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。

    9针型接口:
      RS485接口 信号含义

    3 RXD- 接收数据

    4 RXD+ 接收数据

    5 TXD+ 发送数据

    7 TXD- 发送数据

    缺点:
      很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患共模干扰问题:RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。

    HART协议4
      HART(HighwayAddressable Remote Transducer),可寻址远程传感器高速通道的开放通信协议,是美国ROSEMOUNT公司于1985年推出的一种用于现场智能仪表和控制室设备之间的通信协议。 HART装置提供具有相对低的带宽,适度响应时间的通信,经过10多年的发展,HART技术在国外已经十分成熟,并已成为全球智能仪表的工业标准。

    HART协议采用基于Bell202标准的FSK频移键控信号,在低频的4-20mA模拟信号上叠加幅度为0.5mA的音频数字信号进行双向数字通讯,数据传输率为1.2Mbps。由于FSK信号的平均值为0,不影响传送给控制系统模拟信号的大小,保证了与现有模拟系统的兼容性。在HART协议通信中主要的变量和控制信息由4-20mA传送,在需要的情况下,另外的测量、过程参数、设备组态、校准、诊断信息通过HART协议访问。

    协议基本情况
      · 4~20mA模拟信号+数字控制信号(FSK技术)

    · 支持双绞线全数字通信,可构成15个站网络

    · 支持OSI开放体系结构,1、2、7、层

    通信模型:
    常见的工业通讯协议有哪些

    物理层:
      基于Bell 202 通信标准的FSK 技术,基本内容:

    波特率 1200bps (速度较慢)

    逻辑1 1200HZ

    逻辑0 2400HZ

    常见的工业通讯协议有哪些

    数据链路层

    通信方式:
      1)主从式通信

    由主设备来控制数据帧的传送

    最多允许15个从设备连接到一条多点通讯线上

    2)突发模式

    从设备定时重复发送数据帧

    3)半双工通讯方式

    寻址范围:0 ~ 15

    当地址为0时,处于4~20mADC与数字通信兼容状态。

    当地址为1~15时,则处于全数字通信状态。

    规定通信数据的结构,每个字符由11位组成:

    1bit起始位 + 8bit数据 + 1bit奇偶校验位 + 1bit停止位

    应用层:

    通用命令:
      · 对所有符合HART协议的现场设备都适用的命令。包括以下内容:

    · 读变送器的量程、单位以及阻尼时间常数;

    · 读出传感器串联数目及其线制;

    · 读出制造厂及产品型号;

    · 读出主变量及单位;

    · 读出电流的输出及百分比输出;

    · 读写8个字符的标牌号,16个字符的描述内容以及日期等;

    通用命令适用于大部分符合HART协议的产品,但不同公司的HART产品可能会有少量区别,如写主变量单位,微调DA的零点和增益等:

    · 写入阻尼时间常数;

    · 写入变送器量程;

    · 标定(设置零点和量程);

    · 微调主变量零点;

    · 微调DAC的零点和增益;

    · 完成自检及主机复位;

    特殊命令:
      仅适用于某种具体的现场设备。这是各家公司的产品自己所特有的命令,不互相兼容,如特征化,微调传感头校正等。:

    · 读出或写入开方小流量截断值;

    · 启动、停止或清除累积器;

    · 选择主变量(质量流量或密度);

    · 读出或写入组态信息资料;

    · 微调传感器的标定;

    HART通讯模式:

    第一种“问答式”:2次/秒,适用于点对点,多站连接

    第二种“成组模式”:3.7次/秒,只适用于点对点连接

    HART协议的优点:

    · 模拟信号带有过程控制信息,数字信号允许双向通信;

    · (智能化现场仪表+模拟仪表、记录仪及控制器)混合系统;

    · 支持多主站数字通信,节省导线,减少安装费;

    · 通过租用电话线连接仪表,使远方的现场仪表使用相对便宜的接口设备;

    · 允许“问答式”及“成组模式”通信方式;

    · 报文结构灵活、规范、一次通信可携带4个过程变量。

    HART通信的应用通常有三种方式:

    · 最普通的是用手持通信终端(HHT)与现场智能仪表通信。

    · 带HART通信功能的控制室仪表,可与多台HART仪表进行通信并组态。

    · 第三种方式是与PC机或DCS操作站进行通信。

    在智能变送器与HART协议通讯器之间互联需要遵循负载电阻之和在250~600 Ω之间,太小了不能通讯,太大了变送器无法工作。实践中,一般在校验室内都至少要串接一个250 Ω以上的标准电阻,但在现场中如果系统基本满足负载电阻要求,可以直接在控制室内接线端子上跨接HART通讯器。如图1所示

    常见的工业通讯协议有哪些

    由于HART仪表与原4-20mA标准的仪表具有兼容性,HART仪表的开发与应用发展迅速,特别是在设备改造中受到欢迎。HART协议与FF等协议相比,较为简单,而且由于速度慢及低功耗的要求,数据链路层及应用层一般均由软件实现。物理层应用原有的Bell-202调制解调器。为解决不同厂家设备的互换性及互操作性问题,HART采用了设备描述语言(DDL)。

    MPI通讯协议5
      MPI协议,其英文全名为Multi-point-Interface。在PLC之间可组态为主/主协议或主/从协议.如何操作依赖于设备类型:如果控制站都是s7—300/400系列PLC,那么就建立主/主连接关系,因为MPI协议支持多主站通讯,所有的s7—300 CPU都可配置为网络主站,通过主/主协议可以实现PLC之间的数据交换。如果某些控制站是s7—200系列PLC,则可以建立主/从连接关系,因为s7—200 CPU是从站,用户可以通过网络指令实现s7—300 CPU对s7200 CPU的数据读写操作。

    PROFIBUS通讯协议6
      PROFIBUS,是一种国际化.开放式.不依赖于设备生产商的现场总线标准。PROFIBUS传送速度可在 9.6kbaud~12Mbaud范围内选择且当总线系统启动时,所有连接到总线上的装置应该被设成相同的速度。广泛适用于制造业自动化、流程工业自动化和楼宇、交通电力等其他领域自动化。PROFIBUS是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术。可实现现场设备层到车间级监控的分散式数字控制和现场通信网络,从而为实现工厂综合自动化和现场设备智能化提供了可行的解决方案。

    PROFIBUS协议结构是根据ISO7498国际标准,以开放式系统互联网络(Open System Interconnection-OSI)作为参考模型的。该模型共有七层。 (1)PROFIBUS-DP:定义了第一.二层和用户接口。第三到七层未加描述。用户接口规定了用户及系统以及不同设备可调用的应用功能,并详细说明了各种不同PROFIBUS-DP设备的设备行为。 (2)PROFIBUS-FMS:定义了第一.二.七层,应用层包括现场总线信息规范(Fieldbus Message Specification - FMS)和低层接口(Lower Layer Interface - LLI)。FMS包括了应用协议并向用户提供了可广泛选用的强有力的通信服务。LLI协调不同的通信关系并提供不依赖设备的第二层访问接口。 (3) PROFIBUS-PA:PA的数据传输采用扩展的PROFIBUS-DP协议。另外,PA还描述了现场设备行为的PA行规。根据IEC1158-2标准,PA的传输技术可确保其本征安全性,而且可通过总线给现场设备供电。使用连接器可在DP上扩展PA网络。 注:第一层为物理层,第二层为数据链路层,第三-六层末使用,第七层为应用层。

    TCP/UDP协议7
      TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。

    TCP:
      TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。

    TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。

    如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。

    TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。

    面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。

    UDP:
      UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。

    UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。

    UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询—应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。

    欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。

    数据格式:
      数据帧:帧头+IP数据包+帧尾 (帧头包括源和目标主机MAC初步地址及类型,帧尾是校验字)

    IP数据包:IP头部+TCP数据信息(IP头包括源和目标主机IP地址、类型、生存期等)

    TCP数据信息:TCP头部+实际数据 (TCP头包括源和目标主机端口号、顺序号、确认号、校验字等)

    UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!

    PPI通讯协议8
      是西门子公司专为S7-200系列PLC开发的通讯协议。内置于S7-200CPU中。PPI协议物理上基于RS-485口,通过屏蔽双绞线就可以实现PPI通讯。PPI协议是一种主-从协议。主站设备发送要求到从站设备,从站设备响应,从站不能主动发出信息。主站靠PPI协议管理的共享连接来与从站通讯。PPI协议并不限制与任意一个从站的通讯的主站的数量,但在一个网络中,主站不能超过32个。PPI协议最基本的用途是让西门子STEP7-Micro/WIN编程软件上传和下载程序和西门子人机界面与PC通信。

    pofinet通讯协议9
      PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技术的自动化总线标准。

    PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技术的自动化总线标准。作为一项战略性的技术创新,PROFINET为自动化通信领域提供了一个完整的网络解决方案,囊括了诸如实时以太网、运动控制、分布式自动化、故障安全以及网络安全等当前自动化领域的热点话题,并且,作为跨供应商的技术,可以完全兼容工业以太网和现有的现场总线(如PROFIBUS)技术,保护现有投资。

    PROFINET是适用于不同需求的完整解决方案,其功能包括8个主要的模块,依次为实时通信、分布式现场设备、运动控制、分布式自动化、网络安装、IT标准和信息安全、故障安全和过程自动化。

    分布式现场设备:
      通过集成PROFINET接口,分布式现场设备可以直接连接到PROFINET上。

    对于现有的现场总线通讯系统,可以通过代理服务器实现与PROFINET的透明连接。例如,通过IE/PB Link(PROFINET和PROFIBUS之间的代理服务器)可以将一个PROFIBUS网络透明的集成到PROFINET当中,PROFIBUS各种丰富的设备诊断功能同样也适用于PROFINET。对于其他类型的现场总线,可以通过同样的方式,使用一个代理服务器将现场总线网络接入到PROFINET当中。

    运动控制:
      通过PROFINET的同步实时(IRT)功能,可以轻松实现对伺服运动控制系统的控制。

    在PROFINET同步实时通讯中,每个通讯周期被分成两个不同的部分,一个是循环的、确定的部分,称之为实时通道;另外一个是标准通道,标准的TCP/IP数据通过这个通道传输。

    在实时通道中,为实时数据预留了固定循环间隔的时间窗,而实时数据总是按固定的次序插入,因此,实时数据就在固定的间隔被传送,循环周期中剩余的时间用来传递标准的TCP/IP数据。两种不同类型的数据就可以同时在PROFINET上传递,而且不会互相干扰。通过独立的实时数据通道,保证对伺服运动系统的可靠控制。

    网络安装:
      PROFINET支持除星形、总线形和环形拓扑结构。为了减少布线费用,并保证高度的可用性和灵活性,PROFINET提供了大量的工具帮助用户方便的实现PROFINET的安装。特别设计的工业电缆和耐用连接器满足EMC和温度要求,并且在PROFINET框架内形成标准化,保证了不同制造商设备之间的兼容性。

    根据响应时间的不同,PROFINET支持下列三种通讯方式。

    TCP/IP标准通讯
      PROFINET基于工业以太网技术,使用TCP/IP和IT标准。TCP/IP 是IT 领域关于通信协议方面事实上的标准,尽管其响应时间大概在100 ms的量级,不过,对于工厂控制级的应用来说,这个响应时间就足够了。

    实时(RT)通讯
      对于传感器和执行器设备之间的数据交换,系统对响应时间的要求更为严格,大概需要5-10ms的响应时间。目前,可以使用现场总线技术达到这个响应时间,如PROFIBUS DP。

    对于基于TCP/IP的工业以太网技术来说,使用标准通信栈来处理过程数据包,需要很可观的时间,因此,PROFINET提供了一个优化的、基于以太网第二层(Layer 2)的实时通讯通道,通过该实时通道,极大地减少了数据在通讯栈中的处理时间,因此,PROFINET获得了等同、甚至超过传统现场总线系统的实时性能。

    同步实时(IRT)通讯
      在现场级通讯中,对通讯实时性要求最高的是运动控制(Motion Control),PROFINET的同步实时(Isochronous Real-Time, IRT)技术可以满足运动控制的高速通讯需求,在100个节点下,其响应时间要小于1ms,抖动误差要小于1μs,以此来保证及时的、确定的响应。

    DEVICENET通讯协议10
      Devicenet是90年代中期发展起来的一种基于CAN(Controller Area Network)技术的开放型、符合全球工业标准的低成本、高性能的通信网络,最初由美国Rockwell公司开发应用。

    Devicenet是一种低成本的通讯总线。它将工业设备(如:限位开关,光电传感器,阀组,马达启动器,过程传感器,条形码读取器,变频驱动器,面板显示器和操作员接口)连接到网络,从而消除了昂贵的硬接线成本。直接互连性改善了设备间的通讯,并同时提供了相当重要的设备级诊断功能,这是通过硬接线I/O接口很难实现的。

    Devicenet的优点:
      1、提高设计的弹性
      · 通过提供网络数据流的能力来提供无限制的IO端口

    · 提供互操作性和即插即用能力

    2、改善的过程数据管理
      · 提供对等(Peer-to-Peer)或主/从(Master/Slave)管理

    · 作为一个快速响应处理元的结果,提高了吞吐量和可重复性

    · 包含在位置刻度和预先事件及报警通知中的隐含诊断信息

    · 在诊断中可延长定期检修的间隔周期

    3、降低安装成本
      · 简化配线,避免了潜在的错误点,减少了所需的文件,减少劳动力资源并节省了安装空间

    Devicenet协议是一个简单、廉价而且高效的协议,适用于最低层的现场总线,例如:过程传感器、执行器、阀组、电动机起动器、条形码读取器、变频驱动器、面板显示器、操作员接口和其他控制单元的网络。可通过DeviceNet连接的设备包括从简单的挡光板到复杂的真空泵各种半导体产品。DeviceNet也是一种串行通信链接,可以减少昂贵的硬接线。DeviceNet所提供的直接互连性不仅改善了设备间的通信,而且同时提供了相当重要的设备级诊断功能,这是通过硬接线I/O接口很难实现的。除了提供OSI模型的第7层(应用层)定义之外,DeviceNet规范还定义了部分第1层(物理收发器)和第0层(传输介质)。图为DeviceNet在ISO模型中的相关层。对DeviceNet节点的物理连接也作了清楚的规定。连接器、电缆类型和电缆长度,以及与通信相关的指示器、开关、相关的室内铭牌都作了详细规定。

    常见的工业通讯协议有哪些

    Ethernet通讯协议11
      以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802.3系列标准相类似。

    Ethernet的工作原理:
      以太网(Ethernet)采用带冲突检测的载波帧听多路访问(CSMA/CD)机制。以太网中节点都可以看到在网络中发送的所有信息,因此,我们说以太网是一种广播网络。

    以太网的工作过程如下:
      当以太网中的一台主机要传输数据时,它将按如下步骤进行:

    1、监听信道上是否有信号在传输。如果有的话,表明信道处于忙状态,就继续监听,直到信道空闲为止。

    2、若没有监听到任何信号,就传输数据

    3、传输的时候继续监听,如发现冲突则执行退避算法,随机等待一段时间后,重新执行步骤1(当冲突发生时,涉及冲突的计算机会发送会返回到监听信道状态。

    注意:每台计算机一次只允许发送一个包,一个拥塞序列,以警告所有的节点)

    4、若未发现冲突则发送成功,所有计算机在试图再一次发送数据之前,必须在最近一次发送后等待9.6微秒(以10Mbps运行)。

    展开全文
  • 常见的网络协议有哪些? 1.什么是网络协议 计算机网络中为方便进行数据交换而建立的规则或约定的集合 2.网络协议的组成 网络协议有三大部分组成:语法、语义和时序 语义:规定发出什么控制信息,做出什么样的反应 ...

    常见的网络协议有哪些?

    1.什么是网络协议

    计算机网络中为方便进行数据交换而建立的规则或约定的集合
    

    2.网络协议的组成

    网络协议有三大部分组成:语法、语义和时序
    语义:规定发出什么控制信息,做出什么样的反应
    语法:用户数据和发出的控制信息具备的结构和样式、数据出现的顺序
    时序:对事件发生顺序的详细说明
    

    3.计算机网络通信协议的七层结构分别是什么

    应用层
    表示层
    会话层
    传输层
    网络层
    数据链路层
    物理层
    

    4.常用的网络协议有哪些

    TCP(Transport Control Protocol):传输控制协议
    IP(Internet Protocol):Internet协议
    FTP(File Transfer Protocol):远程文件传输协议,允许用户将远程主机上的文件拷贝到自己的计算机上。 
    SMTP(Simple Mail transfer Protocol):简单邮政传输协议,用于传输电子邮件。 
    NFS(Network File Server):网络文件服务器,可使多台计算机透明地访问彼此的目录。 
    UDP(User Datagram Protocol):用户数据包协议,它和TCP一样位于传输层,和IP协议配合使用,在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短的文件。
    
    展开全文
  •   嵌入式开发中,常见通信接口/协议有SPI,I2C,UART三种,本文先分三个部分对SPI,I2C,UART进行介绍,最后对这三种协议进行比较。   1 SPI 1.1 SPI的简介   SPI(Serial Peripheral Interface):串行外围...
  • 微信公众号“智物客”和您免费分享物联网、智慧城市相关技术和项目解决方案。本文从物联网体系各层协议入手,重点分析了物联网体系常用的通讯协议,在下半部分,笔者将分享物联网体系的通信协议

    物联网常见通信协议与通讯协议梳理【上】- 通讯协议


    1  “通信”与“通讯”傻傻分得清

    传统意义上的“通讯”主要指电话、电报、电传。通讯的“讯”指消息(Message),媒体讯息通过通讯网络从一端传递到另外一端。媒体讯息的内容主要是话音、文字、图片和视频图像。其网络的构成主要由电子设备系统和无线电系统构成,传输和处理的信号是模拟的。所以,“通讯”一词应特指采用电报、电话、网络等媒体传输系统实现上述媒体信息传输的过程。“通讯”重在内容形式,因此通讯协议主要集中在ISO七层协议中的应用层。

    “通信”仅指数据通信,即通过计算机网络系统和数据通信系统实现数据的端到端传输。通信的“信”指的是信息(Information),信息的载体是二进制的数据,数据则是可以用来表达传统媒体形式的信息,如声音、图像、动画等。“通信”重在传输手段或使用方式,从这个角度,“通信”的概念包括了信息“传输”。因此通信协议主要集中在ISO七层协议中的物理层、数据链路层、网络层和传输层。

    在物联网应用中,通信技术包括Wi-Fi、RFID、NFC、ZigBee、Bluetooth、LoRa、NB-IoT、GSM、GPRS、3/4/5G网络、Ethernet、RS232、RS485、USB等。

    相关的通信协议(协议栈、技术标准)包括Wi-Fi(IEEE 802.11b)、RFID、NFC、ZigBee、Bluetooth、LoRa、NB-IoT、CDMA/TDMA、TCP/IP、WCDMA、TD-SCDMA、TD-LTE、FDD-LTE、TCP/IP、HTTP等。注:3GPP将5G技术标准制定分为两个阶段,原计划中第一阶段的标准将在2018年底作为R15的一部分公布,将仅针对NR。第二阶段的标准将在2019年底作为R16的一部分,包括整个5G架构(包括核心网络)。

    物联网技术框架体系中所使用到的通讯协议主要有:AMQP、JMS、REST、HTTP/HTTPS、COAP、DDS 、MQTT等。


    2 通讯协议

    2.1  HTTP/HTTPS

    一、HTTP

    HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

    HTTP协议的主要特点可概括如下:

    (1)支持客户/服务器模式。

    (2)简单快速。客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

    (3)灵活。HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

    (4)无连接。无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

    (5)无状态。HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

    二、HTTPS

    HTTPS(Hypertext TransferProtocol over Secure Socket Layer,基于SSL的HTTP协议)使用了HTTP协议,但HTTPS使用不同于HTTP协议的默认端口及一个加密、身份验证层(HTTP与TCP之间)。这个协议的最初研发由网景公司进行,提供了身份验证与加密通信方法,现在它被广泛用于互联网上安全敏感的通信。

    客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

    (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

    (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

    (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

    (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

    (5)Web服务器利用自己的私钥解密出会话密钥。

    (6)Web服务器利用会话密钥加密与客户端之间的通信。


    2.2  WebService/REST

    首先说明下,WebService和REST都不是一种协议,他们是基于HTTP/HTTPS的一种技术方式或风格,之所以放在这里,是因为在物联网应用服务对外接口方式常采用WebService和RESTful API。


    一、WebService

    WebService是一种跨编程语言和跨操作系统平台的远程调用技术。

    XML+XSD,SOAP和WSDL就是构成WebService平台的三大技术。

    (1)XML+XSD

    WebService采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么)。XML是WebService平台中表示数据的格式。除了易于建立和易于分析外,XML主要的优点在于它既是平台无关的,又是厂商无关的。无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。

    XML解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。例如,整形数到底代表什么?16位,32位,64位?这些细节对实现互操作性很重要。XML Schema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。WebService平台就是用XSD来作为其数据类型系统的。当你用某种语言(如VB.NET或C#)来构造一个Web service时,为了符合WebService标准,所有你使用的数据类型都必须被转换为XSD类型。你用的工具可能已经自动帮你完成了这个转换,但你很可能会根据你的需要修改一下转换过程。

    (2)SOAP

    WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC方法来调用Web Service。

    SOAP协议 = HTTP协议 + XML数据格式

    SOAP协议定义了SOAP消息的格式,SOAP协议是基于HTTP协议的,SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。打个比喻:HTTP就是普通公路,XML就是中间的绿色隔离带和两边的防护栏,SOAP就是普通公路经过加隔离带和防护栏改造过的高速公路。

    (3)WSDL

    好比我们去商店买东西,首先要知道商店里有什么东西可买,然后再来购买,商家的做法就是张贴广告海报。 WebService也一样,WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。

    WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。它是WebService客户端和服务器端都能理解的标准格式。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应WebService的代理类代码。

    WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:1.注册到UDDI服务器,以便被人查找;2.直接告诉给客户端调用者。

    二、REST

    REST (Representational State Transfer),表征状态转换,是基于HTTP 协议开发的一种通信风格,目前还不是标准。

    适用范围:REST/HTTP 主要为了简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,降低了客户端和服务器之间的交互延迟。因此适合在物联网的应用层面,通过REST 开放物联网中资源,实现服务被其他应用所调用。它有以下特点:

    (1)REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful;

    (2)客户端和服务器之间的交互在请求之间是无状态的;

    (3)在服务器端,应用程序状态和功能可以分为各种资源,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用URI (Universal Resource Identifier) 得到一个惟一的地址。所有资源都共享统一的界面,以便在客户端和服务器之间传输状态;

    (4)使用的是标准的HTTP方法,比如GET、PUT、POST 和DELETE。

    REST是互联网中服务调用API 封装风格,物联网中数据采集到物联网应用系统中,在物联网应用系统中,可以通过开放RESTAPI的方式,把数据服务开放出去,被互联网中其他应用所调用。

    2.3  CoAP 协议

    CoAP (Constrained Application Protocol),受限应用协议,应用于无线传感网中协议。

    适用范围:CoAP 是简化了HTTP 协议的RESTfulAPI,CoAP 是6LowPAN 协议栈中的应用层协议,它适用于在资源受限的通信的IP 网络。它有以下特点:

    (1)报头压缩。CoAP 包含一个紧凑的二进制报头和扩展报头。它只有短短的4B 的基本报头,基本报头后面跟扩展选项。一个典型的请求报头为10~20B。

    (2)方法和URIs。为了实现客户端访问服务器上的资源,CoAP 支持GET、PUT、POST 和DELETE 等方法。CoAP 还支持URIs,这是Web 架构的主要特点。

    (3)传输层使用UDP 协议。CoAP 协议是建立在UDP 协议之上,以减少开销和支持组播功能。它也支持一个简单的停止和等待的可靠性传输机制。

    (4)支持异步通信。HTTP 对M2M(Machine-to-Machine)通信不适用,这是由于事务总是由客户端发起。而CoAP 协议支持异步通信,这对M2M 通信应用来说是常见的休眠/唤醒机制。

    (5)支持资源发现。为了自主的发现和使用资源,它支持内置的资源发现格式,用于发现设备上的资源列表,或者用于设备向服务目录公告自己的资源。它支持RFC5785 中的格式,在CoRE 中用/.well—known/core 的路径表示资源描述。

    (6)支持缓存。CoAP 协议支持资源描述的缓存以优化其性能。


    CoAP协议主要实现:

    (1)libcoap(C 语言实现)

    (2)Californium(java 语言实现)

    另外,CoAP 和6LowPan,这分别是应用层协议和网络适配层协议,其目标是解决设备直接连接到IP 网络,也就是IP 技术应用到设备之间、互联网与设备之间的通信需求。因为IPV6 技术带来巨大寻址空间,不光解决了未来巨量设备和资源的标识问题,互联网上应用可以直接访问支持IPV6 的设备,而不需要额外的网关。

    2.4  MQTT 协议(低带宽)

    MQTT (Message Queuing Telemetry Transport ),消息队列遥测传输,由IBM 开发的即时通讯协议,相比来说比较适合物联网场景的通讯协议。MQTT 协议采用发布/订阅模式,所有的物联网终端都通过TCP 连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与设备之间消息的转发。

    MQTT 在协议设计时就考虑到不同设备的计算性能的差异,所以所有的协议都是采用二进制格式编解码,并且编解码格式都非常易于开发和实现。最小的数据包只有2个字节,对于低功耗低速网络也有很好的适应性。有非常完善的QOS 机制,根据业务场景可以选择最多一次、至少一次、刚好一次三种消息送达模式。运行在TCP 协议之上,同时支持TLS(TCP+SSL)协议,并且由于所有数据通信都经过云端,安全性得到了较好地保障。

    适用范围:在低带宽、不可靠的网络下提供基于云平台的远程设备的数据传输和监控。

    它具有以下特点:

    (1使用基于代理的发布/订阅消息模式,提供一对多的消息发布;

    (2使用TCP/IP 提供网络连接;

    (3小型传输,开销很小(固定长度的头部是2 字节),协议交换最小化,以降低网络流量;

    (4支持QoS,有三种消息发布服务质量:“至多一次”, “至少一次”, “只有一次”。

    协议主要实现和应用:

    (1已经有PHP,JAVA,Python,C,C#等多个语言版本的协议框架;

    (2IBM Bluemix 的一个重要部分是其IoTFoundation 服务,这是一项基于云的MQTT实例;

    (3移动应用程序也早就开始使用MQTT,如Facebook Messenger 和com 等。

    另外,MQTT 协议一般适用于设备数据采集到端(Device→Server,Device→Gateway),集中星型网络架构(hub-and-spoke),不适用设备与设备之间通信,设备控制能力弱,另外实时性较差,一般都在秒级。

    2.5  DDS 协议(高可靠性、实时)

    DDS(Data Distribution Service for Real-Time Systems),面向实时系统的数据分布服务,这是大名鼎鼎的OMG 组织提出的协议,其权威性应该能证明该协议的未来应用前景。

    适用范围:分布式高可靠性、实时传输设备数据通信。目前DDS 已经广泛应用于国防、民航、工业控制等领域。

    它具有以下特点:

    (1以数据为中心;

    (2使用无代理的发布/订阅消息模式,点对点、点对多、多对多;

    (3提供多大21 种QoS服务质量策略。

    协议主要实现:

    (1OpenDDS 是一个开源的C++ 实现;

    (2OpenSplice DDS;

    另外,DDS很好地支持设备之间的数据分发和设备控制,设备和云端的数据传输,同时DDS的数据分发的实时效率非常高,能做到秒级内同时分发百万条消息到众多设备。DDS在服务质量(QoS)上提供非常多的保障途径,这也是它适用于国防军事、工业控制这些高可靠性、可安全性应用领域的原因。但这些应用都工作在有线网络下,在无线网络,特别是资源受限的情况下,没有见到过实施案例。

    2.6  AMQP 协议(互操作性)

    AMQP(Advanced Message Queuing Protocol),先进消息队列协议,这是OASIS 组织提出的,该组织曾提出OSLC(Open Source Lifecyle)标准,用于业务系统例如PLM,ERP,MES等进行数据交换。

    适用范围:最早应用于金融系统之间的交易消息传递,在物联网应用中,主要适用于移动手持设备与后台数据中心的通信和分析。

    它有以下特点:

    (1Wire 级的协议,它描述了在网络上传输的数据的格式,以字节为流;

    (2面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全;

    协议实现:

    (1Erlang 中的实现有RabbitMQ

    (2AMQP 的开源实现,用C 语言编写OpenAMQ

    (3Apache Qpid

    (4stormMQ

    2.7  XMPP 协议(即时通信)

    XMPP(Extensible Messaging and Presence Protocol)可扩展通讯和表示协议,XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF 国际标准组织完成了标准化工作。

    适用范围:即时通信的应用程序,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。

    它有以下特点:

    (1客户机/服务器通信模式;

    (2分布式网络;

    (3简单的客户端,将大多数工作放在服务器端进行;

    (4标准通用标记语言的子集XML的数据格式。

    另外,XMPP 是基于XML 的协议,由于其开放性和易用性,在互联网及时通讯应用中运用广泛。相对HTTP,XMPP 在通讯的业务流程上是更适合物联网系统的,开发者不用花太多心思去解决设备通讯时的业务通讯流程,相对开发成本会更低。但是HTTP 协议中的安全性以及计算资源消耗的硬伤并没有得到本质的解决。

    2.8  JMS (JavaMessage Service)

    JMS (Java Message Service),JAVA 消息服务,这是JAVA 平台中著名的消息队列协议。

    Java 消息服务(Java Message Service)应用程序接口,是一个Java 平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java 消息服务是一个与具体平台无关的API,绝大多数MOM 提供商都对JMS 提供支持。

    JMS 是一种与厂商无关的API,用来访问消息收发系统消息,它类似于JDBC(Java DatabaseConnectivity)。这里,JDBC 是可以用来访问许多不同关系数据库的API,而JMS则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商都支持JMS,包括IBM的MQSeries、BEA 的Weblogic JMS service 和Progress 的SonicMQ。JMS能够通过消息收发服务(有时称为消息中介程序或路由器)从一个JMS 客户机向另一个JMS 客户机发送消息。消息是JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。根据有效负载的类型来划分,可以将消息分为几种类型,它们分别携带:简单文本(TextMessage)、可序列化的对象(ObjectMessage)、属性集合(MapMessage)、字节流(BytesMessage)、原始值流(StreamMessage),还有无有效负载的消息(Message)。

    2.9 通讯协议比较



    更多图文资料,敬请关注微信公众号“智物客”,“智物客”和您免费分享物联网、智慧城市相关技术和项目解决方案。


    扫码关注

    展开全文
  • 各种通信协议整理

    万次阅读 多人点赞 2020-07-02 10:19:35
    无论是做硬件还是软件,每天都在接触一些通信相关的名词,若不认真整理这些概念,就很可能会混淆或忘记具体的含义与区别,因为最近正好在做项目用到了SPI协议传输数据,接下来我打算整理一下各种通信协议的区别。...
  • SPI--Serial Peripheral Interface,(Serial Peripheral Interface:串行外设接口)串行外围设备接口,是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单...
  • 常见串行通讯协议

    2020-06-20 10:32:23
    常见串行通信协议似乎就是三个:UART IIC SPI https://zhuanlan.zhihu.com/p/147503708 http://www.elecfans.com/lab/code/20180201628091.html
  • 那么物联网都有哪些通信协议?你都了解吗?通信对物联网来说十分常用且关键,无论是近距离无线传输技术还是移动通信技术,都影响着物联网的发展。而在通信中,通信协议尤其重要,是指双方实体完成通信或服务所必须...
  • 微信公众号“智物客”和您免费分享物联网、智慧...在上文分析物联网常用通讯协议的基础上,本文按近距离通信、远距离蜂窝通信、远距离非蜂窝通信、有线通信4个方面分享了物联网常用通信协议。后续将分享三表远抄系统。
  • 通信协议中,尤其是十六进制格式的通信协议常见的生成最后两个字节CRC校验码的文档,QT使用。
  • 1 “通信”与“通讯”傻傻分得清 传统意义上的“通讯”主要指电话、电报、电传。通讯的“讯”指消息(Message),媒体讯息通过通讯网络从一端传递到另外一端。媒体讯息的内容主要是话音、文字、图片和视频图像。其...
  • 联网常见通信协议通讯协议梳理【上】- 通讯协议1 “通信”与“通讯”傻傻分得清传统意义上的“通讯”主要指电话、电报、电传。通讯的“讯”指消息(Message),媒体讯息通过通讯网络从一端传递到另外一端。媒体...
  • 【转】物联网常见通信协议

    千次阅读 2018-08-03 22:33:17
    通信”与“通讯”傻傻分得清传统意义上的“通讯”主要指电话、电报、电传。通讯的“讯”指消息(Message),媒体讯息通过通讯网络从一端传递到另外一端。媒体讯息的内容主要是话音、文字、图片和视频图像。其网络的...
  • 通信可以形象的比喻成两个人讲话:1、你说的别人得能听懂:双方约定信号的协议。2、你的语速别人得能接受:双方满足时序要求。 一、IIC协议: 2C串行总线一般两根信号线,一根是双向的数据线SDA,另一根是时钟线...
  • 常见工控通讯协议(ICS)

    千次阅读 2021-04-27 21:19:07
    工控网络概述 ...工控通讯协议 Modbus 施耐德 S7 西门子 FF 基金会现场总线 PROFIBUS 西门子 CIP 通用工业协议 CAN 控制器局域网 LonWorks 现场总线 协议简单概述 Modbus协议 Modbus是一种
  • 在介绍常用的通信协议HTTP,UDP,TCP,HTTPS等之前,我们先明确下什么是通信协议!  通信协议(communications protocol)是指双方实体完成通信或服务所必须遵循的规则和约定。通过通信信道和设备互连起来的多个不同...
  • 常见硬件通信协议总结

    万次阅读 2017-06-10 15:25:12
    (正好手上的nodemcu支持UART、SPI、I2C协议,所以这篇文章干脆就用nodemcu来分析协议了~)UART用逻辑分析仪捕捉nodemcu init.lua给上位机发送 “A”:-- init.lua tmr.alarm(1, 1000, tmr.ALARM_AUTO, function() ...
  • 常见硬件通信协议介绍

    千次阅读 2020-08-09 16:11:30
    电子工业经过了百余年的发展,衍生出了繁多的协议,其中既行业公认的标准协议,也企业自研的内部标准,这些协议通常可以分为并行通信协议和串行通信协议。 并行通信,在同一时刻发送多位数据(可以是多根线)。...
  • 1.蓝牙 兼容的蓝牙IoT传感器非常适合需要短...基于IEEE 802.15.4标准的Zigbee已成为嵌入式应用中使用最广泛的通信协议之一。Zigbee用于连接10-100米范围内的设备,支持高达250 Kbps的数据速率。作为一种低功耗,低数
  • 常见网络通信协议

    千次阅读 2021-06-08 17:59:28
    常见网络通信协议 应用层 TCP 常见使用TCP协议的应用层服务 HTTP: 超文本传输协议(版本1) SMTP: 简单邮件传输协议 XMPP: 可扩展和通讯表示协议 HTTP2: 超文本传输协议(版本2) FTP: 文件传输协议 POP3: 邮局协议(第...
  • 该压缩包是工作中整理的关于工控行业协议的pcap数据包,包含了10多种常见的工业互联网通信协议。对于需要分析工业互联网协议很大的帮助。
  • TCP HTTP  UDP:都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。TCP HTTP  UDP三者的关系...
  • 常见的硬件通讯协议打包了,内含9中通讯串口协议,包括I2C、CAN、SPI、UART、USB2.0、RS232、RS422-RS485、RS485和TCP/IP协议。下到就是赚到,赶紧收藏且下载起来吧。学海无涯,尽情浪吧!坚持以学的方式做事,秉持...
  • 根据OSI分层,将各个协议及之间关系标注在一张图里。网络工程师考试必备。
  • 无线通信协议有哪些

    千次阅读 2013-10-17 10:09:37
    用于实现计算机与网络连接之间的标准,网络如果没有统一的通信协议,电脑之间的信息传递就无法识别。... 目前常见通信协议主要:NetBEUI、IPX/SPX、NWLink、TCP/IP,在这几种协议中用得最多、最为复杂的当然还是
  • 常见的物联通讯协议(一)

    千次阅读 2021-01-06 13:23:16
    还有一种是物联网的通讯应用协议常见 AMQP:先进消息队列协议,用于业务系统例如PLM,ERP,MES等进行数据交换。 范围:最早应用于金融系统之间的交易消息传递,在物联网应用中,主要适用于移动手持设备与后台...
  • 触摸屏通信协议.pdf

    2019-11-21 01:35:12
    常见手机触摸屏通信协议,三星,Cypress,atmel,新思等!
  • 三种常见嵌入式设备通信协议

    千次阅读 2020-12-23 20:48:32
    关注、星标公众号,直达精彩内容嵌入式设备在运行中需要设置参数,这个工作经常由PC机来实现,需要为双方通信设计协议代表性协议是如下三种:从上表可以看到,一般嵌入式设备内存和运算性能都...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 229,548
精华内容 91,819
关键字:

常见的通讯协议有哪些