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