什么是MQTT协议
MQTT(消息队列遥测传输协议)是IBM在1999年专门针对物联网等应用场景来制订的轻量级双向消息传输协议,它主要是为了解决物联网上使用到的设备的互相通信的问题,以及这些设备与后端应用系统之间通信的问题。
为什么需要MQTT(或类似)协议
随着智能硬件和移动互联网技术的快速发展,传统的互联网协议越来越难以满足物联网的需要,体现在:移动网络代价昂贵,带宽低、可靠性差;在嵌入设备中运行,处理器和内存资源有限;海量在线设备产生庞大数据,给云端带来很大的网络开销和处理压力。
MQTT如何工作
MQTT包括客户端、代理(broker)两部分,以智能家居系统为例,末端智能电器与手机为客户端,云中心为代理。客户端首先向代理发起请求,代理收到后对客户端认证,认证通过后在客户端与代理之间建立一个TCP长连接通道,客户端通过该通道订阅若干关注的主题(Topic),同时在自身状态变化时,向相应的主题发布消息,代理将该消息发给正在订阅该主题的所有客户端,如下图。与HTTP不同,MQTT是一种多对多的通信协议,设备直接不直接相连,而是通过一个代理实现互相通信。它是一种天然的异步协议,可以很好地将请求端与响应端解耦。
MQTT协议有什么好处
MQTT针对物联网场景优化设计,考虑了网络的可达性,消息的连通性,能耗等方面。具体来讲:
一是它本身是特别轻量级的,使用一个8位的系统、30K的空间,就可以运行MQTT的客户端。
二是它针对不稳定网络而设计,通常意义上的传输协议都是基于稳定网络的传输的,会专门为了这种稳定的网络去做一些优化。MQTT正好相反,协议较多地考虑了网络的不确定性,它本身还非常精简,最小的传输字节只有两个,使得在较恶劣的网络条件下仍然有较好的消息可达率。
三是它的消息的交互模式跟传统意义上不太一样,它采用了发布和订阅的模式。当数据源发布一条消息的时候,可以有多个订阅端同时能收到这个消息,这对于很多设备互联的物联网场景比较灵活。
四是有消息发布服务质量(QoS)机制,用户可根据应用场景需要,选择“至多一次”、“至少一次”或“只有一次”的传输质量,在效率与质量之间进行权衡。
五是客户端异常中断的通知机制(Last-Will-And-Testament)。当一个设备连不上的时候,服务器端有一个专门的机制能马上知道这个设备出了什么状况,从而可以非常快的反馈,对某一个结点做出一些补偿。
MQTT取得了哪些成功实践
1.物联网云
Evothings:国外物联网生态平台,提供全套的软硬件开发工具,帮助开发者构建智能硬件原型、开发消息推送服务。
Yeelink:国内最大的物联网云平台之一,为用户和智能硬件开发者提供传感器云服务,并通过实时数据处理, 实现可靠的状态监控。
2.实时消息推送
Facebook是较早大规模采用MQTT 协议的互联网巨头,其在移动客户端中使用MQTT来更新通知、消息和书签等。
云吧等平台借助MQTT 协议提供实时消息服务,实时推送消息到任意设备、快速的给上百万用户发送消息,实现单台设备一对一推送,实时展示在线用户、使用情况。目前在为几万开发者、上亿终端提供推送服务。国内搜狐等企业也使用了MQTT作为Android手机客户端与服务器端推送消息的协议。
MQTT还有哪些问题
1.在网络变化频繁或者不太稳定的2G/3G网络环境下表现不佳。
客户端在每次TCP断开或断网后,会即刻发起TCP重连,连接成功后依次发送CONNECT命令、订阅SUBSCRIBLE命令,当网络频繁切换或者不太稳定时,上述机制一定程度上加重已经不堪的弱网络负担。一些参考资源指出在业务层面进行重连策略、等待超时等调整可优化该问题。此外,CoAP等其他基于UDP传输的物联网协议对这类网络具有更好的适应性。
2.针对没有TCP/IP支持的终端环境MQTT无法应用。
可以采用MQTT-SN(MQTT For Sensor Networks)协议进行补充,它是为了非常受限类似传感器设计的,能够基于IEEE 802.15.4等无线局域网发送UDP数据包,再通过MQTT-SN网关与MQTT broker建立连接。流程架构大致如下:
MQTT推荐资源
Mosca:基于Nodejs实现的一款功能较完善的broker
Paho: C/C++、Python、Java等语言的MQTT 客户端库
mosquitto:一款功能完善的开源原生broker
版权声明:原文出处:http://mt.sohu.com/20160310/n439960879.shtml?qq-pf-to=pcqq.c2c,作者:海鑫科金,感谢原作者的辛苦创作,如转载涉及版权等问题,请与我们联系(公众号:数通畅联)将在第一时间处理,谢谢!
相关推荐
海鑫科金:2018年年度报告.PDF
海鑫科金:2019年半年度报告.PDF
【海鑫集团:年报2021.rar】这个压缩包文件包含了海鑫集团在2021年度的财务和业务报告。年报是企业向公众、股东、投资者展示其过去一年运营状况、财务表现以及未来发展规划的重要文件。通过分析这份年报,我们可以...
【海鑫集团2019年报关键知识点】 海鑫集团是一家专注于消防安全系统工程的公司,成立于香港,拥有超过30年的行业经验。其主要业务包括设计、供应、安装、保养和维修消防安全系统,涵盖火警警报系统、排水及排气系统...
【海鑫科金2021年半年度报告】展示了公司在该时期的业务发展与成就。在科技创新方面,海鑫科金及其控股子公司在报告期内取得了显著的进步,新增软件著作权13项,专利5项,总计拥有500项软件著作权和87项专利,包括31...
海鑫科金作为一家在IT行业内具有影响力的企业,其2021年半年度报告为我们提供了深入了解该公司在该时间段内的业务发展、财务状况和技术成果的重要窗口。以下是对这份报告的详细解析: 首先,报告通常会包含公司概述...
海鑫指纹模组通信协议SPI是用于在嵌入式系统中与指纹识别模块进行数据交换的一种通信协议。在这个协议中,SPI(Serial Peripheral Interface)是一种常见的串行接口,被广泛应用于微控制器和各种外围设备之间,它...
### Excel基础入门知识点详解 #### 一、基础知识与名词解释 **1.1 Excel软件的认识** - **Excel**: 是一款广泛应用于数据处理和分析的强大工具,由微软公司开发,属于Office套件的一部分。 - **WorkBook(工作簿...
首先,智慧零售指的是利用先进的信息通信技术,特别是大数据、云计算、物联网以及人工智能等,对零售行业进行升级改造,使零售变得更加智能化,更好地满足消费者的个性化需求,提高运营效率和服务质量。 大数据则是...
《关于小额贷款公司的合作协议》概述了三个企业——天津尧舜实业集团有限公司、天津市心连心钢管有限公司和兆利达——合作成立天津海鑫小额贷款有限公司的详细条款。这份协议旨在利用资本推动社会功能,缓解“三农”...
崔海鑫-捕捉经克拉.sb3
海鑫商场消防工程施工组织设计.doc
海鑫人脸识别监控系统介绍汇编.pdf
该文档由北京海鑫智圣技术有限公司提供,其官方网站为www.facefinger.cn,具有一定的保密等级。 ### 第 1 章 简介 1.1 **开发流程** 在开发过程中,首先需要理解FaceFinger服务提供的接口和功能,然后按照提供的...
2. **URL文件(注册帐号.url、海鑫主页.url)**:这类文件并不包含实际的数据,而是存储了网页的URL地址,用于快速打开指定的网页。`注册帐号.url`可能是指向跑跑游戏的注册页面,方便用户创建新账号;而`海鑫主页....
- 海鑫人脸监控系统、门禁系统等:这些产品提供了从人脸识别到自动比对的一整套解决方案,适用于多种场景,如安全监控和考勤管理。 4. 北京数字奥森科技有限公司: - 数字奥森人脸识别系统和智能监控系统:结合了...
【东营市海鑫石油装备质量管理体系】 东营市海鑫石油装备公司依据API Spec Q1-2007《石油、石化和天然气行业质量纲要规》第八版和ISO9001:2008《质量管理体系要求》标准,制定了一套详细的质量手册,旨在强化企业...
首先,快狗打车从创业之初开始,就快速迭代并试错业务孵化,快速孵化了多个业务,如家政、速运、美甲等。在这个过程中,他们采取了3周内上线的节奏,快速推出了用户侧APP、商家APP和管理后台等产品。这种快速发展的...
海鑫科技的产品线丰富,包括人脸识别SDK、监控系统、门禁系统以及自动比对系统等,为客户提供全方位的人脸识别解决方案。 5. 数字奥森科技: 数字奥森的人脸识别系统和智能监控系统广泛应用于门禁和考勤,其...
《实用合同模板2021-钢材供货合同》是一份基于中华人民共和国《合同法》的典型钢材供货协议,旨在规范购货方(甲方)与供货方(乙方)之间的交易行为,确保双方在钢材供应过程中的权益。以下是合同的主要知识点: 1...