Modbus 是一个串行通信协议,首次出现于 1979 年,是连接行业设备实际使用的标准协议。 MQTT 早在 20 年前便已出现,但是将这两个协议结合在一起使用,能够为深度嵌入式设备提供物联网的规模和连接性。 图 1 展示了这些协议之间的一般关系,同时介绍了连接的支持解决方案:物联网网关。
图 1 物联网 (IoT) 网关作为物联网通信的支持解决方案 我们来看一下 Modbus 和 MQTT,以了解其区别以及如何在物联网中互相补充。
Modbus
自 1979 年首次出现至今,Modbus 已经演变为一套全面的支持多种物理链接的协议集(如 RS-485)。 Modbus 的核心是一个串行通信协议,采用主从模式。 主机向从机发送请求,从机予以回复。 在标准 Modbus 网络中,有一台主机以及最多 247 台从机(但是,如果采用 2 字节寻址,则可显著提高这一界限)。
借助 RS-485,主从机之间的通信发生在指示功能码的帧中。 该功能码可识别要 *** 作的功能,如读取独立输入;读取先进先出队列;或执行诊断函数。 然后,从机根据收到的功能码进行响应,该响应较为简单,由一组字节指示。 因此,从机可以是智能设备,也可以是只有一个传感器的简单设备。
从该描述中,您可以看到 Modbus 协议非常简单,但是其作为协议的开放性使其成为整个行业或 SCADA 系统的实际通信协议。
消息队列遥测传输1、面向连接的:使用TCP协议通信的双方必须先建立连接,然后才能开始数据的读写,TCP连接是全双工的,即双方的数据读写可以通过一个连接进行。完成数据交换之后,通信双方都必须断开连接以释放资源。TCP协议的这种连接是一对一的,所以基于广播和多播(目标是多个主机地址)的应用程序不能使用TCP服。而无连接协议UDP则非常适合于广播和多播。
2、流式服务:TCP的字节流服务的表现形式就体现在,发送端执行的写 *** 作数和接收端执行的读 *** 作次数之间没有任何数量关系,当发送端应用程序连续执行多次写 *** 作的时,TCP模块先将这些数据放入TCP发送缓冲区中。当TCP模块真正开始发送数据的时候,发送缓冲区中这些等待发送的数据可能被封装成一个或多个TCP报文段发出。(下图3-1)
3、UPD的数据报服务:发送端应用程序每执行一次写 *** 作,UDP模块就将其封装成一个UDP数据报并发送之。接收端必须及时针对每一个UDP数据报执行读 *** 作(通过recvfrom系统调用),否则就会丢包(这经常发生在较慢的服务器上)。并且,如果没有指定足够的应用程序缓冲区来读取UDP数据,则UDP数据将被截断。品牌型号:华为MateBook D15
系统:Windows 11
物联网是通过传感设备按照约定的协议。物联网是互联网基础上的延伸和扩展的网络,将各种信息传感设备与网络结合起来而形成的一个巨大网络,实现任何时间、任何地点,人、机、物的互联互通。
物联网是新一代信息技术的重要组成部分,IT行业又叫:泛互联,意指物物相连,万物万联。由此,“物联网就是物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。
物联网的基本特征从通信对象和过程来看,物与物、人与物之间的信息交互是物联网的核心。物联网的基本特征可概括为整体感知、可靠传输和智能处理。整体感知—可以利用射频识别、二维码、智能传感器等感知设备感知获取物体的各类信息。
物联网是在计算机互联网的基础上,利用RFID、无线数据通信等技术,构造一个覆盖世界上万事万物的“Internet of Things”。在这个网络中,物品(商品)能够彼此进行“交流”,而无需人的干预。以原生支持“MQTT协议”切入物联网战场原生支持MQTT协议成为百度开放云推出的物联网服务一大特点。首先需要解读的是,为什么百度开放云会选择“MQTT协议”?
百度开放云支持的MQTT(Message Queuing Telemetry Transport)是国际物联网标准协议,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务,可以适应各种物联网应用场景。
相对于其它标准协议,MQTT属于轻量级双向消息传输协议,主要优势是开源、可靠、轻巧、简单。MQTT的传输格式非常精小,最小的数据包只有2个比特,且无应用消息头。MQTT可以保证消息的可靠性,它包括三种不同的服务质量(最多只传一次、最少被传一次、一次且只传一次),如果客户端意外掉线,可以使用“遗愿”发布一条消息,同时支持持久订阅。
MQTT在物联网应用中的主要优势有:一,可靠传输。MQTT可以保证消息可靠安全的传输,并可以与企业应用简易集成;二,消息推送。支持消息实时通知、丰富的推送内容、灵活的Pub-Sub以及消息存储和过滤。三,低带宽、低耗能、低成本。占用移动应用程序带宽小,并且带宽利用率高,耗电量较少。
MQTT的优势还表现在安全性。安全设计对于物联网项目而言,是需要非常重视的问题,但是却常常容易被工程师所轻视。今年央视315晚会,揭秘了无人机、智能摄像头、智能POS机、智能汽车、洗衣机、电烤箱、智能插座等智能家居存在的三大安全隐患——泄露隐私、财产损失、甚至危及生命安全。而MQTT协议则可以提供多层次的安全特性,在传输层上可以使用TLS加密;在应用层提供了客户标识(Client Identifier)以及用户名密码,不但传输的内容是二进制字节,而且还受惠于传输层的TLS加密。
MQTT开放协议已有17年历史,先期在2014年被国际标准化组织定义为物联网的推荐协议。在应用层传输协议这个领域,它已经走在了其它协议的前面。正因为MQTT的综合优势非常突显,业界不少专家认为,MQTT非常适合各种物联网场景,有望是未来最主流的物联网标准协议。
原生支持“MQTT协议”背后旨在推动物联网标准化
接下来的问题是,那么为什么百度开放云要在国内率先成为原生支持MQTT协议的公有云服务商?
在笔者看来,首先,这和百度开放云在物联网行业的核心目标有着紧密的关系。在去年的“百度世界2015”开放云论坛上,百度开放云高层曾对物联网的发展战略做出阐述,指出:打破行业与行业之间的界限,以“连接人与服务”为核物联网平台为设备提供安全可靠的连接通信能力,向下连接海量设备,支撑设备数据采集上云;向上提供云端API,指令数据通过API调用下发至设备端,实现远程控制。
物联网平台也提供了其他增值能力,如设备管理、规则引擎、数据分析、边缘计算等,为各类IoT场景和行业开发者赋能。
如下是共享单车基于物联网平台的解决方案。
物联网平台提供边缘计算能力,支持在离设备最近的位置构建边缘计算节点处理设备数据。
在断网或弱网情况下,边缘计算可缓存设备数据,网络恢复后,自动将数据同步至云端。
提供多种业务逻辑的开发和运行框架,包括场景联动、函数计算和流式计算,各框架均支持云端开发、动态部署。
边缘计算能力允许在最靠近设备的地方构建边缘计算节点,过滤清洗设备数据,并将处理后的数据上传至云平台。
物联网应用可广泛应用于:智能生活、智能工业、智能楼宇、环境保护、农业水利、能源监控等环境。计算平台主要涉及:
开发者使用设备接入SDK,将非标设备转换成标准物模型,就近接入网关,从而实现设备的管理和控制。
设备连接到网关后,网关可以实现设备数据的采集、流转、存储、分析和上报设备数据至云端,同时网关提供规则引擎、函数计算引擎,方便场景编排和业务扩展。
设备数据上传云端后,可以结合云功能,如大数据、AI学习等,通过标准API接口,实现更多功能和应用。
物联网 (IoT) 设备必须连接互联网。通过连接到互联网,设备就能相互协作,以及与后端服务协同工作。互联网的基础网络协议是 TCP/IP。MQTT(Message Queue Telemetry Transport,消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的,已成为 IoT 通信的标准。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)