随着物联网技术的发展,接入互联网的设备越来越多,像粮食、水务、矿山、建筑等行业的传感器或其他物联网设备等。不同的设备接入物联网平台需要不同的通信协议,因此物联网平台接入协议需要具有灵活性和广泛性。下面介绍在物联网中常用的几种协议在设备接入中使用。
- MQTT协议
MQTT是一种基于发布/订阅模式的应用层通信协议,目前已成为市面上最主流的物联网协议,广泛应用于各类物联网设备。平台和设备通过消息代理服务器(broker)交换消息。上报数据时,设备作为消息发布者,将采集的数据发布到指定主题topic A,平台作为消息订阅者订阅该主题。消息代理收到消息会转发给所有订阅该主题的订阅者。相应的,下发数据时,平台与设备角色对调,平台发布消息,设备订阅消息。
特点:
- 一个消费者可以订阅多个主题,即平台可以订阅多个设备的数据。
- 基于TCP/IP传输协议,提供可靠的通信服务。
- 轻量、占用带宽低,可以为大量的低功率、工作网络环境不可靠的物联网设备提供通信保障。
- 支持3种x消息发布QoS(Quality of Service)服务等级:至多一次、最少一次、只有一次,保证消息传递的质量。
- 支持使用SSL/TLS加密传输,保证数据安全。
- TCP协议
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,在物联网中常用于接入需要使用串口服务器转换协议的硬件设备,比如温湿度传感器。与MQTT协议相比,TCP协议是一种端到端的通信方式,通常平台作为服务端,设备作为客户端。设备与平台建立连接之后,基于连接进行数据上报和下发。为了将各种设备上报的字节报文解析平台可读的数据,需要借助编解码器实现透传数据解析。
特点:
- 支持各种私有协议,能够接入多种设备类型。
- ACK确认和重传机制,保证数据的完整性、可靠性和顺序性。但同时也增加了数据传输的开销,降低了数据传输效率。
- 流量控制和拥塞控制,避免接收方过载和网络拥塞。
- 支持使用SSL/TLS加密传输,保证数据安全。
- UDP协议
UDP是一种无连接的、不可靠的、基于数据包的传输层通信协议,在物联网中被广泛应用于传感器数据的传输、实时视频流的传输等。与TCP相比,UDP不能保证数据的完整性,存在数据丢失的可能,但传输效率会有很大提高。设备直接使用UDP协议接入平台时,平台从数据包中获取设备地址,并在短时间内缓存起来,以备平台使用该地址向设备发送数据。数据包中的消息体为二进制格式,需要借助编解码器实现透传数据解析。
特点:
- HTTP协议
HTTP是一种请求/响应式的应用层协议,在物联网中常用于平台之间的数据对接。由客户端向服务器指定端口发起一个请求,服务端监听端口接收并处理请求。服务端处理完请求后,会向客户端返回一个状态码以及其他数据响应。数据对接时,平台作为服务端,设备或其他第三方物联网平台作为客户端,向平台上报数据。
特点
- CoAP协议
CoAP是一种专为物联网设备设计的应用层协议,适用于资源受限的低功耗设备。传统的HTTP协议基于tcp连接,使用文本格式,消息头冗长,不适合低功耗设备使用。而CoAP协议参考HTTP协议,采用请求/响应模式,基于rest风格,服务端的资源地址使用url格式,支持客户端通过get、post、put、delete方法访问资源。不同的是,CoAP采用udp,减少了tcp建立连接带来的开销;使用二进制格式,报文头部长度大大缩短,减少了网络传输的开销;基于消息模型,支持观者模式,可实现消息订阅与发布。
特点:
- 基于UDP协议,更适用于无连接、低延迟和高效率的通信。
- CoAP协议针对资源受限设备和网络进行了优化,具有低能耗和低带宽消耗的特性。
- 采用和HTTP相似语义的请求和响应码,使用二进制报文,报文大小较小。
- 支持使用DTLS加密传输,保证数据安全。
插个安利, inBuilder低代码平台开源社区版(https://ibc.inspures.com/),可免费下载、免费试用,大家可点击体验。
原文地址:https://blog.csdn.net/m1024292777/article/details/134733364
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_26836.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!