物联专栏丨常见的物联网通信协议使用介绍

        随着物联网技术的发展,接入互联网的设备越来越多,像粮食、水务、矿山、建筑等行业的传感器或其他物联网设备等。不同的设备接入物联网平台需要不同的通信协议,因此物联网平台接入协议需要具有灵活性和广泛性。下面介绍在物联网中常用的几种协议在设备接入中使用。

  1. MQTT协议

MQTT是一种基于发布/订阅模式的应用层通信协议,目前已成为市面上最主流的物联网协议,广泛应用于各类物联网设备。平台和设备通过消息代理服务器(broker)交换消息。上报数据时,设备作为消息发布者,将采集的数据发布到指定主题topic A,平台作为消息订阅者订阅该主题。消息代理收到消息会转发给所有订阅该主题的订阅者。相应的,下发数据时,平台与设备角色对调,平台发布消息,设备订阅消息。

特点:

  • 一个消费者可以订阅多个主题,即平台可以订阅多个设备的数据。
  • 基于TCP/IP传输协议,提供可靠的通信服务。
  • 轻量、占用带宽低,可以为大量的低功率、工作网络环境不可靠的物联网设备提供通信保障。
  • 支持3种x消息发布QoS(Quality of Service)服务等级:至多一次、最少一次、只有一次,保证消息传递的质量。
  • 支持使用SSL/TLS加密传输,保证数据安全。
  1. TCP协议

TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,在物联网中常用于接入需要使用串口服务器转换协议的硬件设备,比如温湿度传感器。与MQTT协议相比,TCP协议是一种端到端的通信方式,通常平台作为服务端,设备作为客户端。设备与平台建立连接之后,基于连接进行数据上报和下发。为了将各种设备上报的字节报文解析平台可读的数据,需要借助编解码器实现透传数据解析。

特点:

  • 支持各种私有协议,能够接入多种设备类型。
  • ACK确认和重传机制,保证数据的完整性、可靠性和顺序性。但同时也增加了数据传输的开销,降低了数据传输效率。
  • 流量控制和拥塞控制,避免接收方过载和网络拥塞。
  • 支持使用SSL/TLS加密传输,保证数据安全。
  1. UDP协议

UDP是一种无连接的、不可靠的、基于数据包的传输层通信协议,在物联网中被广泛应用于传感器数据的传输、实时视频流的传输等。与TCP相比,UDP不能保证数据的完整性,存在数据丢失的可能,但传输效率会有很大提高。设备直接使用UDP协议接入平台时,平台从数据包中获取设备地址,并在短时间内缓存起来,以备平台使用该地址向设备发送数据。数据包中的消息体为二进制格式,需要借助编解码器实现透传数据解析。

特点:

  • 不建立连接,直接发送数据包,无法保证数据顺序。
  • 无消息确认和重传机制,传输效率高,但数据不可靠。
  1. HTTP协议

HTTP是一种请求/响应式的应用层协议,在物联网中常用于平台之间的数据对接。由客户端向服务器指定端口发起一个请求,服务端监听端口接收并处理请求。服务端处理完请求后,会向客户端返回一个状态码以及其他数据响应。数据对接时,平台作为服务端,设备或其他第三方物联网平台作为客户端,向平台上报数据。

特点

  • 基于TCP协议,通信可靠,可以保证数据的正确传输和顺序传送,但也会导致功耗过高。
  • HTTP协议实现简单,调试方便。
  • 支持接口鉴权认证
  • 支持使用SSL/TLS加密传输,保证数据安全。
  1. CoAP协议

CoAP是一种专为物联网设备设计的应用层协议,适用于资源受限的低功耗设备。传统的HTTP协议基于tcp连接,使用文本格式,消息头冗长,不适合低功耗设备使用。而CoAP协议参考HTTP协议,采用请求/响应模式,基于rest风格,服务端的资源地址使用url格式,支持客户端通过get、post、put、delete方法访问资源。不同的是,CoAP采用udp,减少了tcp建立连接带来的开销;使用二进制格式,报文头部长度大大缩短,减少了网络传输的开销;基于消息模型,支持观者模式,可实现消息订阅与发布。

特点:

  • 基于UDP协议,更适用于无连接、低延迟和高效率的通信。
  • CoAP协议针对资源受限设备和网络进行了优化,具有低能耗和低带宽消耗的特性。
  • 采用和HTTP相似语义的请求和响应码,使用二进制报文,报文大小较小。
  • 支持使用DTLS加密传输,保证数据安全。   

插个安利, inBuilder低代码平台开源社区版(https://ibc.inspures.com/),可免费下载、免费试用,大家可点击体验。                                                           

你可能感兴趣的:(网络)