MQTT学习整理

文章目录

  • MQTT 介绍
    • MQTT 介绍
    • MQTT 协议介绍【重要&详细】
    • MQTT 问题记录
  • MQTT 嵌入式开发
    • 嵌入式MQTT开源库
    • MQTT QOS 2
    • 平台 MQTT Broker (exmq)
  • MQTT 测试环境
    • MQTT Broker 选型
    • MQTT 服务器搭建 (未验证)
  • MQTT调试工具
    • MQTT.fx (MQTT客户端软件)
    • emqttd (MQTT borker 及 client)
    • MQTT 其他工具
  • MQTT 抓包(尚未验证)

MQTT 介绍

MQTT 介绍

https://www.cnblogs.com/lulipro/p/10914482.html
https://blog.csdn.net/mayue_web/article/details/118567654

MQTT 协议介绍【重要&详细】

https://cloud.tencent.com/document/product/634/14630
https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/01-Introduction.html

MQTT 问题记录

MQTT是什么?
MQTT怎么用?
MQTT使用规则?
MQTT协议怎么定?
MQTT调试工具?
MQTT测试环境搭建?
MQTT协议和协议标准?

MQTT 嵌入式开发

嵌入式MQTT开源库

paho.mqtt.c 下载和使用(下载指定版本呢?)

Paho - MQTT C Cient的实现
https://blog.csdn.net/weixin_37139197/article/details/78934961
物联网 MQTT C Cient的实现和详解
https://www.cnblogs.com/homejim/p/8196763.html/78934961)

使用Paho接入阿里物联网平台
https://www.alibabacloud.com/help/zh/doc-detail/146611.htm#title-0a4-2nq-kat

paho MQTT C API接口描述
https://blog.csdn.net/guozhongwei1/article/details/85207169

阿里云 Paho-MQTT C接入示例
https://www.alibabacloud.com/help/zh/doc-detail/146611.htm#title-0a4-2nq-kat

Paho 介绍
http://wiki.eclipse.org/Paho

MQTT QOS 2

问题:今天遇到一个问题,设备SIM卡一个下午流量消耗十几个G,正常一天大概是几百兆。

通过启动端口服务器、抓包等方式,定位到是MQTT设置QOS=2一直重传导致。(以往都没遇到过,初步怀疑和代理配置有关)

MQTT QOS 2:https://www.bilibili.com/read/cv8681431/

疑问:一直失败一直重传,队列有没有上限?查看库源码,源码是只要能申请到堆内存就一直能加到队列(此时库不会返回失败)。结论:队列没有上限,除非达到资源上限。

平台 MQTT Broker (exmq)

MQTT 测试环境

基本测试环境需要:MQTT服务器+MQTT客户端即可。这里进行嵌入式开发,MQTT服务器直接选用网络公关的MQTT测试服务器/MQTT Broker,嵌入式开发板使用paho.mqtt.c,windows电脑安装MQTT.fx客户端。

MQTT服务器:broker.emqx.io TCP端口:1883 / 8883(TLS) Websocket端口:8083
MQTT嵌入式:paho.mqtt.c 开源库下的client demo (做开发)
MQTT PC电脑:MQTT.fx客户端(做调试验证)

消息流:
1.PC 使用 MQTT.fx 订阅主题。(订阅者)
2.Linux/嵌入式使用paho.mqtt.c发布主题消息。(发布者)
3.PC 使用 MQTT.fx 查看验证是否收到消息。
MQTT学习整理_第1张图片

MQTT Broker 选型

对于调试/测试来说,直接选用网络上公关能用的的MQTT测试服务器即可。
https://www.zhihu.com/question/27663804/answer/1507327921
https://www.jianshu.com/p/cf91f4bea071

MQTT 服务器搭建 (未验证)

【MQTT】在Windows下搭建MQTT服务器
https://blog.csdn.net/yannanxiu/article/details/52703946

MQTT调试工具

基于MQTT发布订阅模式,可以分为MQTT服务器工具和 MQTT客户端工具。

MQTT.fx (MQTT客户端软件)

MQTT.fx 是目前主流的 MQTT 桌面客户端,它支持 Windows、 Mac、Linux 操作系统,可以快速验证是否可与 IoT Cloud 进行连接,并发布或订阅消息。

MQTT客户端软件(MQTT.fx)的使用详解
https://kunaly.blog.csdn.net/article/details/107492604

MQTT.fx下载地址
https://softblade.de/download/
http://mqttfx.jensd.de/index.php/download
http://www.jensd.de/apps/mqttfx

emqttd (MQTT borker 及 client)

https://blog.csdn.net/dee53994040/article/details/102178995

MQTT 其他工具

http://www.bewindoweb.com/248.html

MQTT 抓包(尚未验证)

可以搭建MQTT测试环境结合MQTT协议,然后windows下抓包,对数据包进行分析和理解。

MQTT协议
https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/01-Introduction.html


你可能感兴趣的:(物联网,物联网,MQTT)