科丽图

高新技术企业大数据企业

咨询热线:

0551-65147038

电动观光车公众号智能硬件公众号 清洁设备公众号清洁设备管理平台

物联网协议--MQTT


 
为什么使用MQTT 协议?
MQTT(英语全称,Message Queue Telemetry Transport),中文翻译过来就是遥测传输协议:其主要提供订阅/发布模式,更为简约、轻量,易于使用,针对受限环境(带宽低、网络延迟高、网络通信不稳定),属于物联网(Internet of Thing)的一个传输协议。设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。例如,但不仅限于此:
MQTT协议的优势是可以支持所有平台,它几乎可以把所有的联网物品和互联网连接起来。特别适合于网络代价昂贵,带宽低、不可靠的环境。能在处理器和内存资源有限的嵌入式设备中运行。
使用发布/订阅消息模式,提供一对多的消息发布,从而解除应用程序耦合。
使用 TCP/IP 提供网络连接。
提供Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。
对消息中间件,估计大家不得不关心的就是消息的可靠性,也就是消息的发布服务质量,可喜的是,MQTT支持三种消息发布服务质量(QoS):
“至多一次”(QoS==0),消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
“至少一次”(QoS==1),确保消息到达,但消息重复可能会发生。
“只有一次”(QoS==2),确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。
 
支持一对多的消息订阅
MQTT协议,支持一对多的基于消息主题(Topic)的消息订阅,也就是一个MQTT的客户端,发送一条特定主题的消息,
能同时支持多个订阅者同时订阅。
下图是MQTT的发布/订阅消息模式(如下图)
 

 
MQTT客户端的语言支持
目前市面上的主流语言都支持。
Java
Javascript
C/C++
Python
Ruby
Objective-C
 
简单示例
 
MQTT 协议主要是根据以下情况设计的:
M2M(Machine to Machine),机器或设备间端到端通信,比如传感器之间的数据通讯。设备(Machine)中,例如传感器,硬件能力很弱,协议要考虑尽量小的资源消耗,比如计算能力和存储等。
根据 MQTT 的基础了解后并结合简单的架构,在这里做一个简单的示例图,可以更直观的理解MQTT协议的通信模型。MQTT Broker 就选择 EMQ 作为示范。比如有1个温度传感器(1个Machine),1个移动设备,1个电脑,一个服务器(3个Machine),都可以得到或者显示温度传感器的温度值,需要先通过 MQTT协议subscribe(订阅)一个比如叫 temperature 的 topic(主题)如下图:
 


图中移动设备,服务器,电脑需要先通过 EMQ subscribe 一个叫 temperature 的 topic,当温度传感器 publish 温度数据,三个设备就可以收到了。
科丽图智慧清洁物联网云平台,就是使用了MQTT协议搭建的洗地车智慧清洁设备管理系统,实现了对设备的位置定位、监测设备的实时运行数据、实时控制设备等,可以提供碳刷故障、电池寿命期限、电池低压充电语音播报提醒、租赁到期等故障信息报警以及显示设备的每天工作记录信息提示等业内最新的人工智能技术。通过物联网,让每台清洁设备都成为一个信息终端。
 
 

Copyright © 2023 安徽丽鑫智能版权所有  皖ICP备15021237号-2

在线客服

关闭

客户服务热线
0551-65147038


点击这里给我发消息 客服一

点击这里给我发消息 客服二



扫描二维码