资讯动态

mqtt-spy的Kura负载解码:快速解析Eclipse Kura Protobuf消息的完整指南

发布时间:2026/8/24 9:17:20 来源:尧图企业网站定制
mqtt-spy的Kura负载解码快速解析Eclipse Kura Protobuf消息的完整指南【免费下载链接】paho.mqtt-spymqtt-spy is an open source desktop command line utility intended to help you with monitoring activity on MQTT topics项目地址: https://gitcode.com/gh_mirrors/pah/paho.mqtt-spymqtt-spy是一款开源的 MQTT 主题监控工具桌面 命令行内置Kura 负载解码能力能一键将 Eclipse Kura 平台发布的 Protobuf 二进制消息解析成人类可读的结构化数据是排查 Kura 边缘设备通信问题的得力助手。一、什么是 Kura Protobuf 负载为什么需要解码Eclipse Kura 是运行在边缘网关上的物联网中间件它会按照自己的私有 Protocol Buffer 格式把遥测数据打包后通过 MQTT 主题如$EDC/account/...发送到云端。这种负载对监控者来说是一串天书二进制 Protobuf 编码肉眼无法直接阅读包含时间戳、指标、位置、正文等结构化字段用十六进制查看器只能看到乱码字节mqtt-spy 的解决方案非常直接内置 Eclipse Kura 格式化器Formatter订阅消息到达后自动完成 Protobuf → 结构化文本的解码。二、解码核心实现KuraPayloadFormatter解码逻辑集中在 mqtt-spy-common 模块中mqtt-spy-common/src/main/java/pl/baczkowicz/mqttspy/kura/KuraPayloadFormatter.java它的工作原理只有三步调用 Kura 官方的CloudPayloadProtoBufDecoderImpl解码器解析原始字节还原出标准KuraPayload对象将结果拼装为可读的类 JSON 字符串解码出的 Kura 消息包含 4 类字段字段含义示例timestamp采集时间戳1454624650802metrics遥测指标键值对{temp: 23.5}position设备位置可选{lat:.., lon:..}body消息正文可选任意 JSON 数据如果收到的负载不是合法的 Kura 消息格式化器不会报错崩溃而是返回具体的异常描述方便你快速判断问题所在。三、快速上手3 步启用 Kura 负载解码第 1 步获取并构建 mqtt-spygit clone https://gitcode.com/gh_mirrors/pah/paho.mqtt-spy cd paho.mqtt-spy mvn package第 2 步创建连接与订阅启动 mqtt-spy 桌面端新建一个 MQTT 连接并填写 Broker 地址、用户名密码然后添加一个订阅主题填写 Kura 设备的发布路径如$EDC/account-name/...。第 3 步选择 Eclipse Kura 格式化器在订阅的消息列表区域打开格式化器下拉菜单选择内置的Eclipse Kura选项即可。Kura 格式化器与 Pretty JSON、Pretty XML 一样都预注册在默认脚本格式化器列表中spy-common/src/main/java/pl/baczkowicz/spy/formatting/FormattingManager.java它的官方描述是Decodes the Eclipse Kura Protocol Buffer format and converts it to pretty JSON. 想自定义解码逻辑点击菜单栏的Formatters...窗口即可管理、编辑格式化脚本。四、解码背后的脚本机制mqtt-spy 的格式化器本质上是一个 Groovy/JS 脚本通过 JS 互操作调用 Java 类完成重活。内置的 Kura 脚本非常精简mqtt-spy-common/src/main/resources/formatters/eclipseKura.jsformat()取receivedMessage的原始负载交给KuraPayloadFormatter.format()解码pretty()把解码结果再渲染为缩进 JSON观感更佳这种脚本 格式化器的架构意味着你不需要改 Java 代码写一个类似的小脚本就能扩展新的二进制协议解码能力。五、关键源码与测试资源一览路径说明mqtt-spy-common/src/main/java/pl/baczkowicz/mqttspy/kura/KuraPayloadFormatter.javaKura Protobuf 解码核心mqtt-spy-common/src/main/resources/formatters/eclipseKura.js内置 Kura 格式化脚本mqtt-spy-common/src/test/java/pl/baczkowicz/mqttspy/kura/KuraFormatterTest.java解码功能测试mqtt-spy-common/src/test/resources/kura/kura.birth真实 Kura 二进制样本mqtt-spy-common/src/test/resources/kura/kura.messages录制的 MQTT 消息日志mqtt-spy-common/pom.xml依赖 Kura 官方库org.eclipse.kura.core.cloud等六、总结mqtt-spy 把 Kura Protobuf 解码做成了开箱即用的内置格式化器无需手写解析代码解码结果覆盖时间戳、指标、位置、正文四大字段结构清晰、排查高效基于可插拔的脚本格式化架构扩展自定义协议解码同样简单如果你正被 Kura 设备的二进制 MQTT 消息困扰用 mqtt-spy 打开一个订阅、选上 Eclipse Kura 格式化器几秒钟就能看到可读数据——这就是它的价值所在。【免费下载链接】paho.mqtt-spymqtt-spy is an open source desktop command line utility intended to help you with monitoring activity on MQTT topics项目地址: https://gitcode.com/gh_mirrors/pah/paho.mqtt-spy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价