高级进阶
MQTT 5
-
用户属性
点击新建按钮,来到新建客户端的页面,首先我们需要选择 MQTT 的版本为 5.0,这样就可以看到下方出现了配置用户属性的卡片,卡片内是一个可以配置键值对的输入框,可以点击右上角的添加按钮,来增加用户属性配置,点击每一行末尾的删除按钮可以删除配置,最后输入需要配置的属性名称和内容即可。连接成功后,MQTT 服务器就可以获取到该客户端的用户属性内容。
除了客户端连接时的用户属性配置外,该版本还支持配置发布消息时的用户属性。当新建连接为 MQTT 5.0 的客户端时,我们可以看到右下角的发布消息的区域出现了一个 Meta 按钮,点击该按钮即可出现配置发布时的属性的卡片,我们可以在卡片顶部看到用户属性配置。
-
请求响应
点击 Meta 按钮,输入框内输入一个响应主题:/ack/1,输入一个对比数据:light,并在当前连接客户端订阅一个 /ack/1。
-
内容类型和载荷格式
点击 Meta 按钮,在输入框内输入 Content Type,点击设置 Payload Format Indicator 的值后,发布消息即可。
-
订阅标识符和订阅选项
我们打开订阅主题的弹出框,下方可以设置 Subscription Identifier 和包含了 No Local、Retain as Published 和 Retain Handling 的订阅选项。用户可以在订阅报文中指定一个数字订阅标识符,并在消息分发时返回此标识符。客户端可以建立订阅标识符与消息处理程序的映射,以在收到 PUBLISH 报文时直接通过订阅标识符将消息定向至对应的消息处理程序,同时可以配置这些订阅选项来改变服务端的行为。
设置
点击左侧菜单栏底部的设置按钮,或使用快捷键,macOS 用户可以使用 command + ,
快捷键,其它用户可以使用 control + ,
快捷键来跳转到设置页面,目前支持选择语言,开启是否自动检查更新、设置跟随操作系统主题变化或手动选择主题,还有高级功能中的数据备份和恢复功能。
数据管理
高级设置中包含了数据的备份与恢复功能。用户可选择两种导入导出的方式,也可以通过连接页面中的右上角菜单,或者在设置页面中的高级功能栏里。
在设置页面里可以在最下方的高级功能中,选择点击数据备份和数据恢复两个按钮。选择数据备份时,将导出所有的连接数据,包含所有收发到的消息等。选择数据恢复时,选择完导入文件的路径,确认后即可恢复数据。文件格式支持 JSON
、XML
、CSV
和 Excel
。
脚本
在 v1.4.2 版本以后,MQTT X 新增了脚本编辑功能,在该功能中,用户可编写自定义脚本(JavaScript)对发送和接收到的 Payload
进行自定义转化,配合定时发送功能,可实现一些模拟数据上报的自动化测试功能。
注意:该功能目前属于测试 Beta 阶段。
点击左侧菜单栏中的 脚本
按钮,可进入到脚本编辑页面,在该页面中,用户可在最上方的代码编辑器中,编写 JavaScript 代码,全局只包含一个 execute
API,用户需要编写一个脚本函数,该函数接收一个 value
参数,即为 Payload
, 函数中便可对 value
进行自定义修改转化,最后将该函数作为参数传入到 execute
中即可执行自定义编写的函数。
下方还包含了一个 输入
和 输出
框,可输入预想输入值,点击右边的 测试
按钮,便可在 输出
框中查看执行结果,输入的值的格式包含了 JSON
和 Plaintext
,方便用户提前调试自定义编写的脚本功能。完成测试后,可点击最右上角的 保存
按钮,输入该脚本的名称后就可对该脚本进行保存。保存完成后就可以到连接页面进行使用了。保存完成的脚本还可进行编辑和删除。
在连接页面中,点击右上角的下拉功能菜单,选择 使用脚本
,在弹出窗中,选择你需要使用的预先保存好的脚本,然后选择应用类型,包含了,发送时,接收时和全部。选择完成后,根据数据类型选择发送或接收的数据格式,正常使用消息的收发,此时如果看到预期效果,便完成了一个完整的脚本使用的功能。如果用户需要取消脚本,可点击顶部状态栏中的红色的 停止脚本
按钮,便可停止使用脚本。
该功能具有一定的扩展性和灵活性,需用户配合实际需求来进行使用。
脚本使用实例可在 /docs/script-example 文件夹中查看,目前提供了两个内置脚本,时间戳转化和温湿度数据模拟。如果在您的使用中有更好的,更实用的脚本也可以提交您的代码到这里,方便让更多的人使用到。
日志
在 v1.5.0 版本后,MQTT X 引入了日志记录功能,方便用户调试连接、报告错误。生产环境下,日志系统显示 3 个级别的信息:
- INFO 用于提示用户操作信息
- WARN 产生不安全/潜在风险的警告
- ERROR 产生失败的错误
默认情况下,日志会被写入 log 文件:
- Linux:
~/.config/MQTTX/logs/log
- macOS:
~/Library/Application Support/MQTTX/logs/log
- Windows:
%USERPROFILE%\AppData\Roaming\MQTTX\logs\log
在每次关闭 MQTTX 时,当前的日志文件会被重命名为 timestamp [YY]-[MM]-[DD]T[hh]:[mm].log
格式。
其它
-
连接操作
点击顶部的操作栏按钮,可以快速断开连接,删除当前连接,当前数据导入导出,定时消息,流量统计等。
-
消息处理
在消息栏右上角的
All
,Received
,Published
按钮可以过滤出 全部消息,已接收的消息,和已发布的消息。点击顶部的操作栏按钮,选择
Search
项,或使用快捷键,macOS 用户可以使用command + f
快捷键,其它用户可以使用control + f
快捷键,来打开按Topic
搜索的的功能,支持主题和消息内容的模糊查询。点击顶部的操作栏按钮,选择
Clear History
项,可以快速清空当前连接所发送和接收的消息。 -
检查更新
点击左侧底部的
i
按钮,可进入到About
页面,了解 MQTT X 的版本信息和 EMQX 的相关信息。点击Check for Updates
可以检查是否有更新版本。 -
最大重连数
在自动检查更新的下方,有一个最大重连数设置,可以设置一个整数,当
Broker
断开,或者连接不上的情况下时,重连次数超过该数值,连接将会彻底断开。 -
多窗口
在连接列表中,右键点击,选择新建窗口,为该连接创建新窗口。在新窗口中,同样可以进行连接,订阅主题,发布和接受消息等。如果当创建的多个连接之间存在某种联系时,或需要查看同时接受到的消息,可以新建多个视图窗口,同时进行查看。在 v1.4.1 版本以后,用户还可点击顶部的窗口按钮,快速新建窗口。
-
流量统计
在右上角的下拉菜单中,可点击流量统计项,MQTT X 会自动订阅系统主题,并可以在页面中展示该 Broker 下的简单的流量统计图表,运行版本和运行时间。
EMQX 默认只允许本机的 MQTT 客户端订阅 $SYS 主题,请参照 内置 ACL 修改发布订阅 ACL 规则。
-
定时消息
在右上角的下拉菜单中,可点击定时消息项,设置发送频率,单位为秒,设置完成后手动发送一条消息,将会自动根据设置的发送频率自动发送消息。
-
禁止消息自动滚动
设置中新增了对接收和发布消息时,消息列表自动滚动的控制。可以到设置页面中开启自动滚动功能。关闭自动滚动功能后,可以提升部分发送和接收消息时的性能。