部署
1.perl
要安装perl , 可以参考perl
2.编译qt的MQTT源码
编译中可能遇到的问题:
error: <QtMqtt/qmqttglobal.h> file not found 解决
解决: <QtMqtt/qmqttglobal.h> 替换为<qmqttglobal.h>
然后可以把生成的文件布置到Qt目录下,方便使用
3.EMQ X服务器(调试用)
MQTT服务
1.两个重要的端口号要记住:
1883(暴露给外部的MQTT服务端口)
18083(服务器控制面板端口)
本地浏览器输入http://127.0.0.1:18083/
输入初始用户名admin和用户密码public,即可进入控制面板,并进行MQTT服务器相关配置。
4.MQTT X
MQTT协议
一些介绍
Broker代理 | 发布者 | 订阅者 |
---|---|---|
消息中间件 | 发布信息到代理上面 | 接受信息的客户端 |
MQTT | 基于TCP连接 |
---|---|
MQTT-SN | 基于UDP |
至多一次 | 依赖底层TCP/IP网络,会发生消息丢失或重复 |
---|---|
至少一次 | 确保消息到达,但消息重复可能会发生 |
只有一次 | 确保消息到达一次 |
MQTT协议中的方法 | |
---|---|
Connect | 等待与服务器建立连接 |
Disconnect | 等待MQTT客户端完成所作的工作,并于服务器断开TCP/IP会话 |
Subscribe | 等待完成订阅 |
UnSubscribe | 等待服务器取消客户端的一个活多个和topics订阅 |
Publish | MQTT客户端发送消息请求,发送完成后返回应用程序线程 |
Demo
可以看附件,也可以看git