
MQTT
文章平均质量分 83
猪哥-嵌入式
这个作者很懒,什么都没留下…
展开
-
一种通过MQTT Broker实现远程调试、创建网络隧道的解决方案
前言先说一下场景需求:1、远程ssh访问设备,但是设备端不具备公网访问能力。2、物联网采集网关,通过4G连接外网,网关部署在项目现场,我们不知道网关的IP,就算知道,网络链路也不通。对于网关的远程调试和运维都无法进行。目前的解决方案:1、通过SD-WAN技术,设备与设备之间打通隧道。2、通过VPN,本地部署VPN服务器,实现VPN专网。3、采用阿里云/华为云边缘计算解决方案,设备连接到阿里云/华为云边缘平台,实现远程运维、调试。现有方案优缺点1、SD-WAN技术,需要配备SD-WAN软件或原创 2021-06-02 22:19:44 · 1555 阅读 · 7 评论 -
MQTT协议详解及开发教程(12)Keep Alive机制
推荐一款稳定的基于C编写的MQTT Client开源库 cMQTTMQTT协议详解及开发教程(一)MQTT协议概述MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建MQTT协议详解及开发教程(三)MQTT Client工具软件选择及简单测试MQTT协议详解及开发教程(四)MQTT协议报文格式MQTT协议详解及开发教程(五)CONNECT/CONNACK报文分析MQTT协议详解及开发教程(六)PUBLISH发布QoS0消息报文分析MQTT协议详解及开发教程(七)PUBLISH发布QoS1原创 2021-03-25 17:08:03 · 1630 阅读 · 0 评论 -
物联网:断点续传策略及流程图
前言在物联网数据采集场景中,当现场有采集网关时,断点续传功能就尤为重要,可以保证数据的连续性,这个主要是因为使用2G/4G网络时,信号不太稳定。策略如上图所示,基本思路是:(1)“断线”是基于与云端交互进行判断的,比如说MQTT协议中,我们基本上能够检测到设备是在线还是离线,当然前提是,MQTT的心跳设置的不要过长。(2)存储的数据并不是实时的,而是存储当前要传的数据,比如设备1分钟上传1次数据,时间到后,检测到网关断线了,则把当前次数据存放到历史库中,而且只存当前次的一条,实时数据库该怎么刷新原创 2021-03-16 15:20:56 · 3456 阅读 · 1 评论 -
MQTT协议详解及开发教程(11)心跳请求PINGREQ及响应PINGRSP报文流程分析
推荐一款稳定的基于C编写的MQTT Client开源库 cMQTTMQTT协议详解及开发教程(一)MQTT协议概述MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建MQTT协议详解及开发教程(三)MQTT Client工具软件选择及简单测试MQTT协议详解及开发教程(四)MQTT协议报文格式MQTT协议详解及开发教程(五)CONNECT/CONNACK报文分析MQTT协议详解及开发教程(六)PUBLISH发布QoS0消息报文分析MQTT协议详解及开发教程(七)PUBLISH发布QoS1原创 2021-01-04 17:20:41 · 3040 阅读 · 3 评论 -
MQTT协议详解及开发教程(十)取消订阅UNSUBSCRIBE及UNSUBACK报文流程分析
推荐一款稳定的基于C编写的MQTT Client开源库 cMQTTMQTT协议详解及开发教程(一)MQTT协议概述MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建MQTT协议详解及开发教程(三)MQTT Client工具软件选择及简单测试MQTT协议详解及开发教程(四)MQTT协议报文格式MQTT协议详解及开发教程(五)CONNECT/CONNACK报文分析MQTT协议详解及开发教程(六)PUBLISH发布QoS0消息报文分析MQTT协议详解及开发教程(七)PUBLISH发布QoS1原创 2021-01-04 16:38:15 · 1277 阅读 · 0 评论 -
MQTT协议详解及开发教程(九)订阅SUBSCRIBE及SUBACK报文流程分析
推荐一款稳定的基于C编写的MQTT Client开源库 cMQTTMQTT协议详解及开发教程(一)MQTT协议概述MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建MQTT协议详解及开发教程(三)MQTT Client工具软件选择及简单测试MQTT协议详解及开发教程(四)MQTT协议报文格式MQTT协议详解及开发教程(五)CONNECT/CONNACK报文分析MQTT协议详解及开发教程(六)PUBLISH发布QoS0消息报文分析MQTT协议详解及开发教程(七)PUBLISH发布QoS1原创 2021-01-04 16:25:29 · 3019 阅读 · 1 评论 -
MQTT协议详解及开发教程(八)PUBLISH发布QoS2报文流程分析
推荐一款稳定的基于C编写的MQTT Client开源库 cMQTTMQTT协议详解及开发教程(一)MQTT协议概述MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建MQTT协议详解及开发教程(三)MQTT Client工具软件选择及简单测试MQTT协议详解及开发教程(四)MQTT协议报文格式MQTT协议详解及开发教程(五)CONNECT/CONNACK报文分析MQTT协议详解及开发教程(六)PUBLISH发布QoS0消息报文分析MQTT协议详解及开发教程(七)PUBLISH发布QoS1原创 2021-01-04 15:43:11 · 1989 阅读 · 0 评论 -
MQTT协议详解及开发教程(七)PUBLISH发布QoS1报文流程分析
推荐一款稳定的基于C编写的MQTT Client开源库 cMQTTMQTT协议详解及开发教程(一)MQTT协议概述MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建MQTT协议详解及开发教程(三)MQTT Client工具软件选择及简单测试MQTT协议详解及开发教程(四)MQTT协议报文格式MQTT协议详解及开发教程(五)CONNECT/CONNACK报文分析MQTT协议详解及开发教程(六)PUBLISH发布QoS0消息报文分析前言在上一篇文章中,我们对PUBLISH发布QoS 0报原创 2021-01-04 14:07:53 · 1825 阅读 · 0 评论 -
MQTT协议详解及开发教程(六)PUBLISH发布QoS0消息报文分析
推荐一款稳定的基于C编写的MQTT Client开源库 cMQTTMQTT协议详解及开发教程(一)MQTT协议概述MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建MQTT协议详解及开发教程(三)MQTT Client工具软件选择及简单测试MQTT协议详解及开发教程(四)MQTT协议报文格式MQTT协议详解及开发教程(五)CONNECT/CONNACK报文分析前言在上一篇文章中,我们对CONNECT和CONNECT的报文进行了分析,本文接着介绍PUBLISH发布QoS0消息报文,该报文原创 2021-01-03 21:47:43 · 2447 阅读 · 0 评论 -
MQTT协议详解及开发教程(五)CONNECT/CONNACK报文分析
推荐一款稳定的基于C编写的MQTT Client开源库 cMQTTMQTT协议详解及开发教程(一)MQTT协议概述MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建MQTT协议详解及开发教程(三)MQTT Client工具软件选择及简单测试MQTT协议详解及开发教程(四)MQTT协议报文格式前言在上一篇文章中,我们对MQTT协议的报文格式做了整体的介绍,从本文开始,将通过实例代码,分析MQTT的不同类型的控制报文,我们会使用之前搭建的MQTT服务器和MQTT.fx来进行测试,同时使用Wi原创 2021-01-03 20:55:42 · 5298 阅读 · 0 评论 -
MQTT协议详解及开发教程(四)MQTT协议报文格式
推荐一款稳定的基于C编写的MQTT Client开源库 cMQTTMQTT协议详解及开发教程(一)MQTT协议概述MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建MQTT协议详解及开发教程(三)MQTT Client工具软件选择及简单测试前言在前面的文章中,我们对MQTT的应用场景,MQTT服务器搭建、MQTT client工具测试进行了简单的描述,对MQTT有了初步的了解,从本文开始,将会详细的分析MQTT协议内容。1.MQTT 控制报文结构名称备注Fixed原创 2021-01-03 15:40:46 · 5379 阅读 · 2 评论 -
MQTT协议详解及开发教程(三)MQTT Client工具软件选择及简单测试
推荐一款稳定的基于C编写的MQTT Client开源库《cMQTT》MQTT协议详解及开发教程(一)MQTT协议概述MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建在上一篇文章中,我们使用EMQx搭建了一个MQTT服务器,有了服务器,自然就需要MQTT Client,在协议了解阶段,我们还是选择别人做好的MQTTclient软件更容易理解MQTT的整个过程,我们以目前常用的MQTTclient软件 MQTT.fx为例,这个可以在官网下载,也可以在其他网站下载,下载完成...原创 2021-01-02 22:55:54 · 5696 阅读 · 1 评论 -
MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建
MQTT协议详解及开发教程(一)MQTT协议概述在上一篇文章中,我们对MQTT协议进行了概述,后面的文章,我们就要基于开发环境,对协议进行详细介绍,我们首先就要进行MQTT服务器搭建。MQTT服务器我们选择目前比较常用的EMQx,之所以选择这个broker,主要是因为它开源,部署也比较简单,EMQx的下载安装步骤可以参考EMQx官网资料:...原创 2021-01-02 22:02:55 · 6534 阅读 · 0 评论 -
MQTT协议详解及开发教程(一)MQTT协议概述
推荐一款稳定的基于C编写的MQTT Client开源库《cMQTT》一概述 MQTT协议目前在物联网技术中应用非常广泛,各种公有云的IOT平台通信基本上都是按照该协议来实现的,这里先简单的做个总结: (1)MQTT协议框架及内容比较标准,可以认为是“物联网行业的Modbus协议”。 (2)不同厂家的MQTT服务器或客户端在通信层面是完全一致的,只有业务数据不同而已。这也就意味着,如果知道client ID 、password、payload格式,那么任何的 ...原创 2021-01-02 21:16:07 · 7684 阅读 · 2 评论 -
阿里云IOT SDK中的MQTT稳定架构分析
1、TCP的read和write都采用select机制进行这里使用select可以实现至少两种功能:(1)select可以检测socket状态,如果select返回为负,说明当前socket异常,就不会再进行read/write 这样就能有效的避免 SIGPIPE带来的终止进程操作。(2)select还可以检测当前socket是否拥堵,这样就变相的实现了同一个socket的“并发”读写。2、由于 MQTT协议标准,所以在进行“读”socket操作时,步骤:...原创 2020-12-29 21:42:10 · 1826 阅读 · 0 评论 -
MQTT协议:Retain (保留消息)功能分析小结
场景分析 某个mqtt客户端A每小时向某个特定的topic发布一条消息,所有订阅这个topic的客户端将会收到该消息,这是正常流程,如果客户端A刚刚发布消息,此时有一个新的客户端B订阅该topic,也就是“订阅”是在“发布”后,这个时候客户端B将接收不到该消息。 Retain 功能就是为了解决这一问题,当客户端A发布小时时,将 retain标志置1,那么broker就会保存该消息,当有新的客户端订阅该topic时,会立刻将该条消息推送给客户端B。 所以官方的协议中是这样介绍原创 2020-12-24 13:27:47 · 8243 阅读 · 0 评论