Mqtt — 使用详解EMQX,MQTTX
1. 配置好EMQX
配置好EMQX之后,在浏览器中访问http://localhost:18083/,然后就没有任何操作了。
2. 配置MQTTX
1.新建三个链接(只需要输入名称与服务器地址,选择你自己的),三个操作一致
2. 点击两个接收的订阅,点击添加订阅,然后选择topic进行更改,我是改成a(两个操作一致)
3. 查看EMQX是否有对应设备的显示。
3. 用MQTTX进行消息的发送
1. 选择发送的连接,更改topic为a,选择对应的json,即可发送信息。
一 Qos配置
26-消息详解-保留消息的介绍_哔哩哔哩_bilibili本节内容全部来自于尚硅谷的blibli课程
因为物联网的设备,网络连接是不稳定的,所以会使用多次发送情况,来保持数据传输的稳定性,
QOS为0的情况,意思是,可能会导致消息的丢失
QOS为1的情况,意思是,消息不会丢失,但是也许会重复
QOS为2的情况,意思是,消息不会消失也不会重复,
二 主题(Topic)
1. 层级关系
主题本质是字符串,可以通过/(斜杠)对主题层级的划分
例如:
a/1
a/2
a/3
即我们通过发送信息端publish向主题(Topic)a发送信息,他们三个都可接受得到,因为他们是a/层级下的分级
同理,实际应用中a可能是一个设备的名字或者区域的名字,例如
beijing/tiananmen/leftroom001
beijing/tiananmen/leftroom002
shanghai/pudongxinqu
而且topic是支持中文的,即我们想要控制某个区域的物联网设备(很方便)
成都/武侯区/环球中心/一楼/104房间电梯/设备id
成都/武侯区/环球中心/一楼/105房间电梯/设备id
2 通配符
通配符的作用就是,订阅者如何可以同时订阅多个信息。
2.1 单层通配符+
匹配单个层级 订阅者可以订阅到多个主题,+的意思可以理解为*,值得注意的是,+匹配的是单层的,即他们发信息,你都可以一个一个接受到
发
收
2.2 多层通配符#
可以匹配主题中的任意层级
1. 必须最后一个层级
2. 多层即包含其子类
发
收
三 保留设置(retain)
可以理解为,订阅者离线状态,发布者发布信息,信息会保留在mqtt数据库的服务器之中,当订阅者上线,mqtt信息,则会发送给订阅者。(相当于离线发送功能)
1. 信息只保留最新的,即发送方的最后一条信息