在测试推送数据之前我们需要了解一下基本流程。我们和设备实际上都是客户端而EMQX就像是一个消息中转站。它负责根据不同的主题topic来决定将消息推送到哪个设备。简单来说EMQX就相当于快递小哥根据不同的地址(主题)将快送到指定位置这里我们会使用到 MQTTX 这款工具 ,专为帮助开发者和测试人员简化 MQTT 消息协议的调试和开发而设计。它支持跨平台使用并提供了一个图形用户界面GUI使得用户能够轻松地连接到 MQTT 代理Broker、发布和订阅消息、调试设备通信等。MQTTX下载地址: MQTTX 下载快速建立连接在设置好 MQTT Broker 后打开主程序页面点击左侧菜单栏的按钮。如果页面为空您也可以直接点击右侧的新建连接按钮来快速设定新的客户端连接。客户端连接信息在创建页面需要设定或填写连接客户端的相关信息。Broker 信息Client ID、Host和Port已经默认填写在Broker信息栏中您可以根据实际的Broker信息自行修改。点击Client ID右侧的刷新按钮可以迅速生成新的Client ID。选择框位于Host前面用以选择该连接的协议支持mqtt://ws://。如果使用SSL/TLS连接需要修改为mqtts://wss://。注意当协议更改时需要修改连接的端口。用户认证信息如果您的 Broker 开启了用户认证您可以在配置项中填写Username和Password信息。SSL/TLS如果需要开启SSL/TLS认证在配置中开启SSL/TLS并提供CA signed server或Self signed中的一种方式。若选择Self signed需要进行证书配置。点击最右侧的文件夹按钮选择您已经生成好的各项证书。若是单向连接只需选择您的CA File。若是双向认证还需要选择配置Client Certificate File和Client key file。开启Strict validate Certificate选项后将启用更完整的证书验证连接。此选项建议在需要测试正式环境时启用。关于使用 SSL 安全开关SSL 安全开关是您 MQTT 配置中的一个选项用于确定是否在建立连接时验证服务端证书链和地址名称。当将该开关设置为关闭时将不会进行验证即允许连接到未经验证的服务器。SSL 安全开关的使用场景开发环境在开发环境中为了方便测试和调试可以关闭 SSL 安全开关允许连接到未经验证的服务器。内部网络在受信任的内部网络环境中如果没有外部访问风险可以考虑关闭 SSL 安全开关简化证书管理和验证过程。需要注意的是关闭 SSL 安全开关会降低连接的安全性。在生产环境或与外部网络通信时建议打开 SSL 安全开关确保通信的安全性和数据保护。高级配置在高级配置中可以设置连接超时时长、KeepAlive、Clean Session、自动重连、MQTT 版本等。MQTT 5.0在高级配置中您可以选择 MQTT 的协议版本支持 MQTT v3.1.1 和 MQTT v5.0。默认版本为 v3.1.1。如果选择了 v5.0还可以配置Session Expiry Interval、Receive Maximum和Topic Alias Maximum可选。遗嘱消息在高级配置下方的配置卡片中您可以配置遗嘱消息。Last-Will-QoS和Last-Will-Retain的值默认为 0 和False。当您输入Last-Will-Topic和Last-Will-Payload后即可完成遗嘱消息的配置。完成配置后点击右上角的Connect按钮就可以快速创建一个连接并连接至 MQTT Broker。消息的发布与订阅主界面连接成功后即可进入连接的主界面。点击顶部连接名称旁的折叠按钮可以查看并修改该连接的基本信息。在断开连接的情况下修改这些常用配置项需要重新连接后才能生效。每次连接成功后面板都会自动折叠。断开连接时您也可以点击右边的配置按钮进行更多连接配置的修改。添加订阅点击左下角的New Subscription按钮可以快速添加一个 Topic。每个Topic可以用一种颜色进行标记颜色可以随机生成或通过颜色选择器进行选择。添加完成后点击订阅列表中的已订阅 Topic可以实现消息过滤。此时消息视图中只会显示当前主题的消息内容再次点击即可取消过滤。在添加Topic时可以给每个 Topic 设置一个别名。别名是可选项。设置别名并完成订阅后订阅列表中的Topic将以别名显示。鼠标悬浮在Topic项上时提示框将同时显示出该Topic的原值。这在需要监控查看的多个Topic过长难以辨别Topic具体含义时有很大帮助。在 Topic 输入框中输入多个 Topic使用逗号,进行分割点击确认订阅成功后订阅列表中会包含多个 Topic。对于使用客户端层别名功能也可以同时对多个 Topic 进行设置同样使用逗号分隔,。订阅的主题支持编辑/禁用/启用。右键点击已经订阅过的 Topic 列表项在右键菜单中我们可以快速选择编辑、禁用或启用等操作。当订阅的 Topic 过多时如果并非所有的 Topic 消息都需要接收您可以使用禁用功能避免再次订阅相同的 Topic。需要重新接收该 Topic 的消息时只需再次启用即可。消息发送与接收Topic订阅成功后就可以来测试消息的收发了。在页面右下角填入刚才所订阅的Topic信息可选择 QoS 和Retain的值输入payload后点击最右侧的发送按钮就向刚才订阅的Topic发送了一条消息。发送成功后您也可以立即接收到刚才所发送的消息。注意消息框内右侧是发送的消息左侧是接收到的消息。对于 macOS 用户您可以使用command enter快捷键其它用户可以使用control enter快捷键来快速发送消息。消息栏的payload选项支持将消息快速转化为Base64、Hex、JSON和Plaintext四种格式。至此您就完成了一条MQTT消息的测试。
阅读完成 · 觉得有帮助?