![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MQTT
Mr.Qubb
IOT Builder,Make Industry Smarter!
展开
-
MQTT与TCP通信协议的对比
一、背景在物联网场景开发中,大多数通信模组都支持TCP、UDP、MQTT、CoAP、HTTP、LwM2M等网络通信协议,其中既有负责传输层协议,也有应用层协议,不同协议适用的场景也不尽相同。二、协议分层上图中举例了网络分层中最常见的几种协议:应用层:应用程序负责将数据以相应规则(协议)进行包装,发给传输层 MQTT:消息队列遥测传输 CoAP:受限应用协议 HTTP:超文本传输协议 传输层:负责将应用层传输过来的数组进行分组,为确保终端接收数据的顺序和完整性,会对每个分原创 2022-02-17 17:44:51 · 23066 阅读 · 2 评论 -
JavaScript通过WebSocket连接MQTT服务器(mqttws31.js、mqtt.js)
一、业务场景有时候我们采用MQTT协议接收到的消息想直接在前端页面展示,由于MQTT客户端在订阅后接收到的消息是在回调函数中处理的,所以无法直接将消息发送给前端展示,此时就用到的MQTT对应的WebSocket。二、本文暂时介绍对于mqttws.js的使用...原创 2020-07-23 14:56:33 · 5483 阅读 · 6 评论 -
MQTTv5.0协议详解
一、MQTT协议具体是什么MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),基于TCP/IP的长连接。MQTT是机器对机器(M2M)/物联网(IoT)连接协议,发布/订阅模式,是专为受限设备和低带宽、高延迟、不可靠网络而设计。作为一种低开销、低时延、低带宽占用的即时通讯协议,MQTT在物联网、小型设备、移动应用等方面有广泛的应用。目前最新版本为:v5.0,在v3.1.1版本的基础上增加了会话/消息延时功能、原因码、主题别名、in-flight流原创 2020-07-02 19:06:54 · 3277 阅读 · 0 评论 -
java如何监听MQTT客户端状态(在线、离线)
一、业务场景好多朋友在咨询如何得知(监测)MQTT客户端状态(在线、离线),或者可以说是监测采集器状态。其实这个在MQTT协议中已经给出系统主题,MQTT服务端可以知道客户端的任何情况,比如:什么时候上线和下线。二、解决方案$SYS/brokers/${node}/clients/${clientid}/connected:上线事件。当某客户端上线时,会向该主题(Topic)发布消...原创 2020-01-17 15:37:47 · 19565 阅读 · 44 评论 -
MQTT将订阅到的消息存储数据库
一、业务场景 提示:对于Broker(MQTT服务器)来说,不论我们是发布方,还是订阅方,都是属于客户端 硬件方面将采集的数据上报至MQTT服务器,我们平台(自己的WEB服务)将订阅到的消息存储数据库,如何用JAVA作为客户端订阅消息在我的上一篇文章中有讲解如何使用JAVA编写MQTT客户端连接MQTT服务器。 好多朋友在看官网的时候对于这一...原创 2020-01-16 09:44:07 · 18321 阅读 · 28 评论 -
MQTT设置自动重连后,无法自动订阅以前的主题
一、业务场景我们在使用MQTT的时候,在设置客户端参数的时候设置的自动重连属性,但是断开重连后无法订阅断开之前订阅的消息。二、异常处理在设置MQTT客户端参数配置的时候记得设置不要清除Session即可 /** * MQTT连接参数设置 */ private MqttConnectOptions mqttConnectOptions(String...原创 2020-01-15 16:28:53 · 6033 阅读 · 2 评论 -
MQTT异常掉线原因
一、业务场景我们在使用MQTT协议的时候,有些伙伴可能会遇到MQTT客户端频繁掉线、上线问题二、原因分析及异常处理 原因:使用相同的clientID 方案:全局使用的clientID保证唯一性,可以采用UUID等方式 原因:在回调函数内进行业务处理遇到异常并没有捕获 方案:在可能出现异常的语句块,进行try-catch捕获 /** * ...原创 2020-01-15 16:12:04 · 30050 阅读 · 17 评论 -
java连接MQTT服务器(Springboot整合MQTT)
目录一、业务场景二、本文只讲解java连接MQTT服务器进行数据处理一、业务场景硬件采集的数据传入EMQX平台(采用MQTT协议),java通过代码连接MQTT服务器,进行采集数据接收、解析、业务处理、存储入库、数据展示。MQTT 是基于发布(Publish)/订阅(Subscribe)模式来进行通信及数据交换的。二、本文只讲解java连接MQTT服务器进行数据处理...原创 2020-01-13 19:38:18 · 37559 阅读 · 70 评论