MQTTX 1.10.0 发布:CLI高级文件管理与配置

MQTTX 1.10.0 发布:CLI高级文件管理与配置MQTTX 1.10.0 版本现已发布!
在本次更新中,CLI 版本在文件管理和配置功能方面进行了显著增强。主要更新包括:支持从文件中读取和

MQTTX 1.10.0 版本已发布。

通过本次更新,CLI版本在文件管理和配置功能方面得到了显着增强。主要更新包括支持从文件读取和写入消息、高级配置选项、文本输出模式和日志记录改进。此外,桌面版本现在支持数据库重建,以防止因文件损坏而导致的问题,并可以更好地处理大数据演示。这些更新预计将为所有MQTTX 用户提供更强大且用户友好的体验。

最新版本:https://mqttx.app/zh/downloads

CLI 中的文件管理

MQTTX 1.10.0 为CLI 引入了强大的文件读写功能。此功能无缝处理文件输入和输出的消息加载,从而实现数据工作流集成和自动化。

文件读取

注意:由于MQTT 协议限制,消息负载大小不能超过256MB。发送前请检查MQTT 代理的有效负载大小限制。

使用pub 命令

要从文件中读取消息,请使用以下命令:

mqttx pub -t topic –文件读取路径/到/文件

–file-read 选项允许您直接从文件中读取内容作为已发布的有效负载。当在不同的发布场景中使用预定义的测试数据时,这非常有用。

使用bench pub 命令

–file-read 命令从文件中读取消息正文,类似于简单的pub 命令。

mqttx bench pub -c 10 -t topic –文件读取路径/到/文件

–split 选项允许您利用bench 命令的内置功能将文件的内容拆分为单独的消息并发送不同的数据段。默认字符是\\n。

例如,我有一个包含以下内容的文件:

你好

世界

您可以使用:

mqttx bench pub -c 10 -t topic –file-read 路径/到/文件–split

如果文件以逗号分隔,请将–split 更改为,

mqttx bench pub -c 10 -t topic –file-read 路径/到/文件–split \’,\’

最后,你还可以设置-im来定义发布消息的时间间隔。

文件写入

如果要将收到的消息写入文件,可以使用以下命令:

mqttx sub -t topic –file-write 路径/到/文件

默认情况下,–file-write 选项将每条消息附加到文件中,并以换行符\\n 分隔。这非常适合记录和累积文本数据。此功能对于需要维护传入消息的连续日志的应用程序非常有用。

如果要更改分隔符,可以使用–delimiter 选项。例如:

mqttx sub -t topic –file-write 路径/到/文件–delimiter \’,\’

文件保存

要将单个消息保存为单独的文件,请使用:

mqttx sub -t topic –file-保存路径/到/文件

–file-save 选项将每条传入消息保存到单独的文件中。现有文件会自动重新编号并保存以防止覆盖。此功能对于需要存储单个消息以进行进一步处理或分析的应用程序非常有用。

例如,要将传入消息保存到指定目录:

mqttx sub -t topic –file-save /path/to/directory/message.txt

如果/path/to/directory/message.txt 已存在,则新消息将保存为message(1).txt、message(2).txt 等。这可以防止由于覆盖现有文件而导致数据丢失。

不要同时使用–file-write 和–file-save。

类型格式

文件传输还支持指定相应的文件格式来格式化消息。如果未指定,则默认使用纯文本(UTF-8)格式。您可以使用–format 选项来格式化消息内容以处理不同的数据格式。

mqttx pub -t topic –文件-读取路径/到/文件–格式类型

mqttx sub -t topic –file-保存路径/到/文件–format type

支持输出到文件的数据格式包括json、base64、hex、binary 和cbor。

为此,该版本还引入了新的二进制格式来处理更常见的文件传输场景。如果指定二进制格式,MQTTX 在发送或接收时会处理并生成相应的二进制文件。

如果文件具有以下扩展名,则文件格式将自动识别为二进制:

图片:png、jpg、jpeg、gif、bmp、ico、tif、tiff 视频:mp4、avi、mov、mkv、flv、wmv、mpeg、3gp音频:mp3、wav、flac、aac、ogg、wma、m4a、m4p 压缩:zip、gz、rar、tar、7z、bz2、xz、jar二进制文件:bin、exe、dll、so、dmg、iso、img 文档:pdf、epub

要手动指定二进制格式,请使用:

mqttx pub -t topic –file-read 路径/到/文件–format 二进制

mqttx sub -t topic –file-保存路径/到/文件–format 二进制

CLI 配置文件

此版本引入了配置文件功能来存储各种设置的默认值,从而提供简化且可自定义的MQTTX CLI 体验。初始化完成后,配置文件保存在用户主目录$HOME/.mqttx-cli/config中。

功能

配置文件包含控制界面和功能参数的设置。这些设置允许您在MQTTX CLI 中使用预定义值,从而提高效率并无需重复输入信息。

默认:

输出

text: 默认模式提供包含重要信息的简洁输出。 log: 显示详细的日志输出,包括日期和时间戳。

MQTT:

host: 的默认值是localhost。默认端口: 为1883。 max_reconnect_times: 默认值为10。用户名:默认为空。默认情况下,密码:为空。

默认部分中的输出设置控制CLI 的输出显示。用户可以根据自己的需要选择不同的模式。

如果未在命令行上指定这些参数,MQTTX CLI 将使用mqtt 部分中配置文件中的值。主机、端口、用户名、密码

max_reconnect_times 控制重新连接尝试的次数。一旦达到配置的次数,连接将自动断开,防止无限次重连。

如果不需要用户名、密码等配置项,可以在配置文件中省略。

初始设定

默认情况下不提供配置文件。运行init命令来创建或更新配置文件。此命令会提示您输入所需的值。

mqttx初始化

? 选择MQTTX CLI 输出模式文本

? 输入默认MQTT 代理主机“broker.emqx.io”。

? 输入默认MQTT 端口1883。

? 输入MQTT 连接的最长重新连接时间5

? 输入MQTT连接认证管理员的默认用户名。

? 输入MQTT 连接验证的默认密码******

配置文件在/Users/.mqttx-cli/config 中创建/更新

配置文件示例

[默认]

输出=文本

[mqtt]

主机=Broker.emqx.io

端口=1883

最大重新连接次数=5

用户名=管理员

密码=公开

界面改进

配置文件输出设置提供两种模式:

文本模式:提供简洁清晰的输出,仅包含重要信息,以便于阅读和理解。

mqttx 连接

连接的

日志模式:此模式显示带有日期和时间戳的详细日志输出,以帮助记录和调试。

mqttx 连接

[5/24/2024] [11:26:17 AM] › .正在连接.

[2024/5/24] [11:26:17 AM] › 已连接

用户可以根据自己的工作流程和偏好,通过选择适当的输出模式来自定义MQTTX CLI。

桌面版本白屏问题

我们调查了桌面版本中白屏问题的报告,并确定了两个主要原因:数据库文件损坏和处理大量消息负载时的性能问题。我们优化了MQTTX 来解决这些问题。

数据库重建

SQLite 数据库文件的损坏可能是由多种因素引起的,尤其是在软件升级之后。

架构更改不兼容:升级过程中数据库结构发生更改,但旧数据未正确迁移。升级中断:软件更新期间意外中断导致数据库文件不完整。竞争条件:并发访问管理不当,导致写入冲突。升级脚本错误:更新期间的数据库脚本执行错误会影响数据完整性。磁盘空间不足:磁盘空间不足会导致更新过程中数据无法完全写入。文件系统或硬件问题:导致文件损坏的底层存储问题。

这些问题导致用户无法打开MQTTX。如果较新版本的MQTTX 检测到数据库文件损坏,它们将显示数据库重建页面。用户可以单击“重建”按钮来修复损坏的数据库文件并重新初始化数据。

注意:重建数据库时,所有本地数据都将丢失。

另一个问题是加载大量消息导致的性能下降。典型的MQTT 消息负载通常小于1MB,但最多可达256MB。因此,当用户发送大文件时,MQTTX 在渲染这些消息时可能会冻结或崩溃用户界面,从而导致白屏。

新版本中增加了数据阈值。如果负载大小超过512KB,MQTTX 仅显示部分消息内容。用户可以单击“显示更多”来查看整个消息。此外,用户可以使用“保存本地”按钮将大消息保存到本地系统,以便在其他应用程序中查看。

这些改进使MQTTX 能够更有效地处理大负载、防止用户界面冻结并改善整体用户体验。

Web 版更新

通过 env 文件支持 BASE_URL 配置

如果您需要进行个人设置,例如更改默认连接路径、部署路径或输出路径,可以在web/.env 或web/.env.docker 文件中进行相应更改。这两个文件满足不同的打包要求,可以根据您的情况进行修改。

配置描述VUE_APP_PAGE_TITLE 浏览器标题栏中显示的标题VUE_APP_PAGE_DESCRIPTION SEO 的简洁页面描述VUE_APP_DEFAULT_HOSTMQTT 代理服务器连接的默认地址BASE_URL 应用程序部署的根URL,用于帮助构建链接和路由VUE_APP_OUTPUT_DIR 编译后的构建文件如下所示:排列好的目录

这些更新旨在提供更灵活和用户友好的体验,使您可以根据需要定制MQTTX Web 设置。

重要更新

旧命令新命令mqttx conn -h Broker.emqx.io -p 1883 –savemqttx conn -h Broker.emqx.io -p 1883 –save-optionsmqttx conn –config /Users/mqttx-cli-config.jsonmqttx conn –load-options /Users/mqttx-cli-options.json

在本次更新中,我们将原来的–config 参数更改为–options 参数。这一变化更好地体现了常用命令参数的用途:保存和加载这些参数。

-so, –save-options:将参数保存到本地配置文件,支持JSON和YAML格式。默认路径是./mqttx-cli-options.json。 -lo, –load-options:从本地配置文件加载参数,支持JSON和YAML格式。默认路径是./mqttx-cli-options.json。

其他更新

新功能和改进

自动重新订阅提示:现在,订阅对话框中添加了自动重新订阅提示。订阅时,您可以查看是否启用自动重新订阅。 GPT-4o 支持:MQTTX Copilot 增加了对GPT-4o 的支持,为MQTTX 体验带来先进的AI 功能。

Bug修复

版本更新对话框:修复了版本更新对话框,以更好地适应深色模式并在不同主题之间提供一致的用户体验。主题过滤:解决主题过滤问题,保证主题过滤准确可靠。日志记录改进:通过以灰色显示输出元信息来增强日志格式和对基准子例程的改进,使日志更具可读性和对调试有用。订阅错误:修复处理多个主题时的订阅错误逻辑,确保订阅更流畅、更可靠。处理CLI 发布失败:CLI 发布失败重新连接逻辑已得到改进,以允许CLI 更好地处理发布失败并尝试重新连接。

这些更新侧重于改善用户体验、增强功能和修复关键错误,以确保MQTTX 运行更流畅、更可靠。

未来规划

有效负载图表可视化增强功能- MQTTX 查看器:

主题树视图:增强主题组织和可视化。差异视图:轻松比较不同的消息或有效负载。仪表板视图:提供MQTT 活动的可自定义概览,以获得个性化见解。 JSON 视图:改进了JSON 格式数据的处理和显示。系统主题视图:专用于系统相关MQTT 主题的视图。 支持可配置的断开连接属性(MQTT 5.0):通过自定义断开连接设置增强连接管理。物联网场景数据模拟:将此功能引入桌面客户端可以简化物联网场景的测试。 Sparkplug B 支持:我们扩展了MQTTX 功能,包括对Sparkplug B 的特殊支持。 QoS 0 消息存储优化:提供可配置选项以减少存储空间使用。 MQTT GUI 调试功能:帮助调试MQTT 通信的新功能。插件功能:引入了支持CoAP、MQTT-SN等协议扩展的插件系统。 Avro 消息格式支持:添加了对Avro 消息格式进行编码和解码的功能。脚本化测试自动化(流程):简化自动化测试工作流程的创建和管理。

以上#MQTTX 1.10.0版本的信息:CLI高级文件管理和配置相关的内容源网络仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92069.html

(0)
CSDN's avatarCSDN
上一篇 2024年6月24日 下午6:45
下一篇 2024年6月24日 下午6:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注