MQTT协议和TCP协议有什么区别?为什么人们推荐MQTT协议?

MQTT协议和TCP协议有什么区别?为什么人们推荐MQTT协议?,第1张

MQTT协议是Message Queuing Telemetry Transport的缩写,中文名叫作消息队列遥测传输。是一个即时通讯协议,该协议支持所有平台,可以当作传感器来使用,举个例子,你仅仅在家通过此协议制造一个“传感器”,家里有医疗设备和装置并且安上了无线发射器,这样很适合那些有旧疾而且需要定期检查的病人们,在家就可以用设备自我检查之后通过无线MQTT协议将检查结果发送给负责你的医生,医生可以随时查看你的健康状况,并给出合理的建议,这样极大地方便了用户和医生的交流,非常便利。所以在推送信息和快速即时方面MQTT协议发展前景很是可观。

而TCP协议是学过计算机的人都比较熟悉的协议,分了四层,面向连接又可靠,可以用于文件传输、远程登陆、发送邮件等,但传输速度较慢,要求也比较多。这两个协议中大多数人都会推荐MQTT协议,因为MQTT是建立在TCP基础之上的,光实时性这一点就符合许多人的要求,现在信息高速时代大家要的第一点就是快速,让生活方便,并且比TCP有过之而无不及

我也相信在未来MQTT协议会出现在我们的生活各个方面,这样灵活便捷的协议如果我们很好地利用,对我们信息技术的发展一定有着很大的帮助,这也是移动互联网发展的特色了吧。其实也不能绝对性地说MQTT比TCP好,只能说它功能更加全面,适应时代发展的要求,所以推荐选择它。

现在MQTT协议国内外也在逐渐应用,相信它会发展得越来越好的。

物联网主要功能是将用户端的所有需要的信息互通互联,实现全方位的远程识别、读取和 *** 控、互动。
应用层位于物联网三层结构中的最顶层,其功能为“处理”,即通过云计算平台进行信息处理。应用层与最低端的感知层一起,是物联网的显著特征和核心所在,应用层可以对感知层采集数据进行计算、处理和知识挖掘,从而实现对物理世界的实时控制、精确管理和科学决策。
从结构上划分,物联网应用层包括以下三个部分:
1. 物联网中间件:物联网中间件是一种独立的系统软件或服务程序,中间件将各种可以公用的能力进行统一封装,提供给物联网应用使用。
2. 物联网应用:物联网应用就是用户直接使用的各种应用,如智能 *** 控、安防、电力抄表、远程医疗、智能农业等等。
3. 云计算:云计算可以助力物联网海量数据的存储和分析。依据云计算的服务类型可以将云分为:基础架构即服务(IaaS)、平台即服务(PaaS)、服务和软件即服务(SaaS)
从物联网三层结构的发展来看,网络层已经非常成熟,感知层的发展也非常迅速,而应用层不管是从受到的重视程度还是实现的技术成果上,以前都落后于其他两个层面。但因为应用层可以为用户提供具体服务,是与我们最紧密相关的,因此应用层的未来发展潜力很大。

城轨系统中WLAN使用的通信协议有:
1、蓝牙低功耗(BLE);
2、WiFi,WiFi是另一种广泛用于物联网设备间通信的协议;
3、ZigBee,ZigBee是基于IEEE802154标准的短距离无线通信协议,其工作频率是24GHz,数据速率为250kbps;
4、Z-Wave,Z-Wave是低功耗射频通信协议,主要用于家庭自动化系统和电子设备,如灯控制器和传感器;
5、远程广域网,远程广域网(LoRaWAN)是一种通信协议,主要用于区域、国家或全球的由电池供电的远程无线物联网设备;
6、近场通信,近场通信(NFC)是一种简单且安全的协议,可以简化物联网设备之间的双向通信。

物联网 (IoT) 不只是新技术, 还是与旧技术的集成,其关键在于通信。 可用的通信方法各不相同,但是,各种不同的协议在将海量“事物”连接到互联网时发挥着重要的作用。 本文介绍了两种物联网补充协议: 用于短距离设备连接的本地协议 Modbus 以及支持物联网进行全局通信的可扩展互联网协议“消息队列遥测传输 (MQTT)”。
Modbus 是一个串行通信协议,首次出现于 1979 年,是连接行业设备实际使用的标准协议。 MQTT 早在 20 年前便已出现,但是将这两个协议结合在一起使用,能够为深度嵌入式设备提供物联网的规模和连接性。 图 1 展示了这些协议之间的一般关系,同时介绍了连接的支持解决方案:物联网网关。
图 1 物联网 (IoT) 网关作为物联网通信的支持解决方案 我们来看一下 Modbus 和 MQTT,以了解其区别以及如何在物联网中互相补充。
Modbus
自 1979 年首次出现至今,Modbus 已经演变为一套全面的支持多种物理链接的协议集(如 RS-485)。 Modbus 的核心是一个串行通信协议,采用主从模式。 主机向从机发送请求,从机予以回复。 在标准 Modbus 网络中,有一台主机以及最多 247 台从机(但是,如果采用 2 字节寻址,则可显著提高这一界限)。
借助 RS-485,主从机之间的通信发生在指示功能码的帧中。 该功能码可识别要 *** 作的功能,如读取独立输入;读取先进先出队列;或执行诊断函数。 然后,从机根据收到的功能码进行响应,该响应较为简单,由一组字节指示。 因此,从机可以是智能设备,也可以是只有一个传感器的简单设备。
从该描述中,您可以看到 Modbus 协议非常简单,但是其作为协议的开放性使其成为整个行业或 SCADA 系统的实际通信协议。
消息队列遥测传输

从技术架构上来看,物联网可分为三层:感知层、网络层和应用层。感知层由各种传感器以及传感器网关构成,包括二氧化碳浓度传感器、温度传感器、湿度传感器、二维码标签、RFID标签和读写器、摄像头、GPS等感知终端。感知层的作用相当于人的眼耳鼻喉和皮肤等神经末梢,它是物联网识别物体、采集信息的来源,其主要功能是识别物体,采集信息。 网络层由各种私有网络、互联网、有线和无线通信网、网络管理系统和云计算平台等组成,相当于人的神经中枢和大脑,负责传递和处理感知层获取的信息。应用层是物联网和用户(包括人、组织和其他系统)的接口,它与行业需求结合,实现物联网的智能应用。

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行业又叫:泛互联,意指物物相连,万物万联。由此,“物联网就是物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。

物联网的基本特征从通信对象和过程来看,物与物、人与物之间的信息交互是物联网的核心。物联网的基本特征可概括为整体感知、可靠传输和智能处理。整体感知—可以利用射频识别、二维码、智能传感器等感知设备感知获取物体的各类信息。

coap是比较常用的物联网传输协议,基于udp协议之上的应用层协议。
下面基于rfc7252对coap报文进行分析。

rfc7252对coap的报文头定义如上,8位表示一个字节,可以看到coap协议字节还是比较节省的。
第一个字节的8位,2位表示协议版本号(每个协议都有协议版本号,为了兼容性考虑),在这里rfc7252规定这里必须填01,其他的留给以后的版本。
2位表示消息类型,其实是一个枚举值2^2有四个消息类型对于这四种消息类型,rfc7252给的回复标准是:

4位的token,结合可选的token确定是否在报文里面携带token信息,也就是说coap协议最多可携带2^4-1的15个字节的token信息

紧接着是1字节的code信息,这里的code也是一个枚举值类型,表明请求类型,类似于>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/10288581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存