新兴 IoT 物联网场景中 MQTT 与 TCP 通信协议对比

在IoT 物联网开发中,大多数通信模组都支持 TCP、UDP、MQTT、CoAP、HTTPLwM2M 等网络通信协议,其中既有传输层协议,也有应用层的协议,不同协议适用的场景也不同。

我们在设计IoT硬件产品时,通常只需选择一种协议即可。那么,如何选择一种符合业务应用场景的通信协议就显得尤为重要。

网络通信协议分层

719a2c97951b4ccd423101897ce88246.png

上图中例举了网络分层中最常见的协议:

1bc23b7cb18e0f6ef957ade0a40ecbe4.png

MQTT vs TCP

b8340bbbe1e47df096b8b30b6eef4da0.png

d1fc2439460bdac357ac8ddef5ce358a.png

MQTT 协议在 IoT 场景的优势

传输层TCP协议是否适合直接运用到IoT物联网终端设备上?

传输层协议负责传输数据,好比是一辆物流配送的货车。但我们想让货物完好运到目的地,就需要做打包、装车、验货、入库、签回单等工作。这些工作也就是应用层协议要做的工作。所以物联网设备终端要想对数据进行稳定、可靠高效地交互,就需要使用应用层的协议,而不是直接使用传输层的协议。

MQTT 相比于 TCP 长连接的优势有如下几点:

1. MQTT协议更标准

MQTT是标准的RFC协议,相比于基于TCP的私有协议而言更加标准。

(1)协议非常完整,能够马上用于生产。设备和云端服务器约定Topic和ayload之后,就能进行通信;私有协议还需要进行大量的验证,排除缺陷。

(2)大量的开源组件,降低开发难度。随着物联网生态越来越好,开源组件越来越丰富,可以减少重复编码和底层Bug。

(3)标准协议利于第三方接入。当第三方设备、平台想要对接的时候,只需拿出标准的MQTT协议对接即可。

2. MQTT协议特点

(1)MQTT协议提供了qos0、qos1和qos2的服务质量,简化了消息发送的工作量。MQTT客户端和服务端通过Session来保障不同的QoS等级。TCP协议需要自己实现类似机制,而MQTT自带这一功能,无需应用开发人员重复造轮子。

(2)心跳机制。不需要自己做业务协议层的心跳了。

(3)MQTT协议可以根据不同Topic来实现消息的业务划分,有灵活的Topic订阅匹配的机制。

(4)MQTT协议支持双向的通信,订阅发布机制。轻松实现远程控制、远程下发、远程升级等功能。

(5)MQTT协议Payload采用二进制协议可以更节约流量。流量比HTTP协议要低

(6)MQTT协议有LWT遗嘱机制,异常情况下,通知相应Topic的订阅者客户端已经离线了。

(7)MQTT协议支持TLS安全,保证数据传输过程的安全性。

(8)MQTT协议轻巧、简单,容易实现,mqtt客户端哪怕在单片机中也可以运行。

(9)MQTT协议支持一对多的消息分发。一次发布,多个客户端订阅,这对于M2M场景很省电、省流量。

(10)MQTT协议客户端Connect时,可以带有用户名和密码,用于验证客户端。服务端可以根据clientid、IP地址、用户名等进行ACL访问控制。可以通过自定义应用消息实现客户端对服务端的身份验证。

(11)MQTT协议可以通过MQTT over websocket来穿越防火墙,不需要开1883(MQTT)或8883(MQTTS)端口。

当然,以上的功能基于TCP自己开发也能做到,但如果我们全部实现了,其实不就是MQTT协议了吗?

与其重复造轮子,不如投入精力到业务架构设计中去。

往期推荐

☞ 云厂商的「物联网平台」不香了吗?

☞ 2021国内四大IoT平台性能对比

☞ 国内MCU行业发展研究报告

☞ 2021年4G通信模组企业排行

☞ 艾瑞 2021中国 IoT物联网平台研究

☞ 动图|带你了解PCB板制作过程?

531601fed2b99660901bbe14e4f6e748.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/61386.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lot物联网场景通用架构分享

1.通用参考架构: 2.lot物联网硬件设备上云技术方案: #lot物联网业务链路包含:数据采集,通信连接,数据存储,数据可视化,洞察,行动决策;其中以设备端各种厂商提供得协议差…

物联网网络通讯知识

RTU是什么 RTU英文全称Remote Terminal Units,中文全称为远程终端单元。远程终端设备(RTU)是安装在远程现场的电子设备,用来监视和测量安装在远程现场的传感器和设备。通俗理解就是能够编程的还可以将数据传输到服务器的工具。RTU内部是包含通讯模块的&…

APP与服务器之间通过 http(POST、GET)进行数据交互 ( 实现一个简单的物联网系统-1 )

文章目录 一、APP POST 数据到服务器二、APP 从服务器 GET 数据三、APP 界面部分四、相关疑问五、学习方法六、专栏地址 一、APP POST 数据到服务器 首先 post 的数据应该包括识别这个花卉的信息和我们想要浇水的量,这里我们识别花卉采用花卉的名字,这样…

什么是物联网(Internet of Things)?

你可能在某些时候会听到物联网这个词,但是你对它可能不知所以然,这篇文章让你弄清楚什么是物联网,以及它代表什么? 物联网(Internet of Things)是指设备到互联网的连接。汽车,厨房电器&#xff…

物联网网关有哪些能力和哪些应用?

工业物联网的应用受到越来越多企业的关注,很多人都了解网关这个概念。网关就是一个网络连接到另一个网口的桥梁,起到协议解析、数据采集的作用,实现运行状态数据的高效利用。 物联网网关具备的能力 1、广泛连接的能力 目前各个行业、不同设…

一文了解物联网网关

物联网是指通过射频识别(RFID)、红外感应器、GPS、激光扫描器等信息传感设备,按约定的协议,实现任何时间、任何地点、任何物体进行信息交换和通信,以实现智能化识别、定位、监控和管理的一种网络。物联网是具有全面感知、可靠传输、智能处理特…

什么是物联网?有哪些应用?终于有人讲明白了

作者:佩里利(Perry Lea) 来源:大数据DT(ID:hzdashuju) 我们将从连接设备的角度来研究物联网,这些设备之前未必相互连接或接入互联网。它们可能一直没有太多的计算或通信能力。我们假…

LPWA物联网通信

物联网LPWA是物联网中的无线通信技术之一。 根据物联网无线通信技术的覆盖距离,大致可分为两类:一类是短距离通信技术,包括蓝牙(蓝牙);NFC,Zigbee、WIFI、NFC,主要用于室内智能家庭、消费电子等场景;另一种…

物联网通讯协议:MQTT,NB-IOT,Zigbee,CoAP,RFID,BLUETOOTH,NFC,4G,HTTP

目录 一、按网络四层协议分类二、按需要网关来分类三、NB-IoT,4G对比四、应用层协议:MQTT和COAP对比物联网组网技术WIFI蓝牙ZigBee2G/4G/5GNB-IoTLoRa网关 物联网中常见的物联通信协议TCPUDPTCP和UDP比较HTTPMQTTCoAPLwM2M 一、按网络四层协议分类 NB-I…

chatgpt赋能python:如何使用Python拷贝微信聊天记录的图片?

如何使用Python拷贝微信聊天记录的图片? 微信聊天记录中的图片是我们很重要的一部分。它们记录了我们和我们的朋友、家人和同事之间的重要时刻和特殊瞬间。然而,有些时候我们需要把这些图片从微信聊天记录中拷贝出来,以便于备份和共享。本文…

《辉煌优配》科技股强势引领A股反弹 沪深两市日成交额再超万亿元

受美联储再度加息扰动,昨日早盘沪深两市指数低开,随后科技股强势拉升,带动商场回暖。到收盘,上证综指报3286.65点,上涨0.64%;深证成指报11605.29点,上涨0.94%;创业板指报2361.41点&a…

深度分析台积电的投资价值:伟大的公司,伟大的投资

来源:猛兽财经 作者:猛兽财经 公司介绍 台积电(TSM)是一家在1987年成立于台湾的半导体公司,并在全球范围内率先实施了“商业晶圆厂”代工模式。该公司为部分或全部外包生产的半导体生产商提供晶圆代工服务。台积电的产…

汇正财经靠谱吗?沪深创再现调整

盘面回顾: 周三A股开盘时间段,人民币再现快速贬值,再加上5月PMI数据不及预期,空头情绪放大,沪深创再陷调整,截止收盘沪指跌0.61%,深成指跌0.7%,创业板指跌1.14%。全天唯独科创50能逆…

超级模型GPT-4发布!

本文来源 量子位 一觉醒来,万众期待的GPT-4,它来了! OpenAI老板Sam Altman直接开门见山地介绍说: 这是我们迄今为止功能最强大的模型! 有多强? 根据OpenAI官方的介绍,GPT-4是一个超大的多模态…

透过现象看本质 | GPT爆火的背后

前言: 近年来,GPT(Generative Pre-trained Transformer)作为一种革命性的语言模型,以其强大的文本生成能力和广泛的应用领域引发了全球范围内的热议。然而,GPT爆火的背后,是一个更加深刻的本质。…

2014年考研英语二作文PartB图表题

作文详细解析 题目 Write an essay based on the following chart, in which you should interpret the chart, and give your comments You should write about 150 words on the ANSWER SHEET.(15 points) 注意点 1.图表题在第一段描述图表信息时,一定要写清楚y轴变化…

【考研】2018-Part B 作文(英一)

前言 10月要开始冲刺英一作文,会陆续推出 2013 - 2022 英一 Part A 和 PartB 的优秀范文,并用红色字体标明应用模板,并列举重点单词和词组,以积累词汇。 一、2018 Part B (一)题目及解析 提示信息信息解析…

python代码打包成可执行文件(exe)

【前言】:我们在开发完一个小项目后,想要把项目发布出来给别人用。通常都会把代码打包成exe后再给别人,而不是让别人去安装运行环境再跑裸代码。本文就是介绍如何使用pyinstaller这个工具将python带包成可直接运行的exe。 ▍概述 在介绍pyi…

关于Vivado中Vitis Model Composer无法打开的解决办法

目录 一、问题1、问题描述2、WINR键 在命令窗口中操作 二、解决办法 一、问题 1、问题描述 安装好官方提供的vivado 2021.1及其他扩展内容之后,双击无法打开Vitis Model Composer,只有命令窗口一闪而过; 2、WINR键 在命令窗口中操作 按如图…

jupyter闪退的解决方法以及卸载与安装教程

问题: 今天打开电脑准备使用jupyter,双击后指令窗口打开后闪退,无法正常使用软件,报错: C:\Users\***>jupyter notebook --generate-config Traceback (most recent call last): File "D:\LeStoreDownload\…