浏览器本地 LORAWAN 工作台

先测试 codec,别让下一个传感器数据包变成生产环境谜题。

粘贴实际部署的 JavaScript codec,加入真实 payload 和预期 JSON,再在隔离的本地沙箱中运行整套 fixture。支持现代 TTN、ChirpStack 函数以及旧式 Decoder 和 Encoder。

  • 配置 TTN v3 · ChirpStack v4 · Legacy
  • 价格 免费 · 开源
  • 执行 在浏览器内隔离
  • 导出 Fixture · 测试 · 报告
PAYLOAD 实验室
FPORT 4 · UPLINK temperature: -21.3°C
Fixture 与预期结果一致
真正有用的部分

这是测试框架,不是 decoder 目录。它用你的 payload 运行你的 codec,指出具体失败的 fixture,并生成可与设备集成代码一起保存的测试。

运行真实代码

Payload Codec 工作台

从示例开始,或粘贴厂商 codec。每个向量都可测试不同操作、fPort、编码、变量、downlink 输入和预期结果。

代码和 payload 留在本地
LoRaWAN Codec 实验室一次性沙箱 · 确定性 fixture
01

Codec 源码

沙箱只提供 formatter 输入。网络、存储、import 和页面访问均不可用。

02

测试向量

03

结果与导出

运行一个向量或整套测试,查看输出、契约问题、字节读取和预期差异。

不透明来源 Worker 沙箱1 秒执行上限不上传,不持久化

从厂商 PDF 到回归测试

经得住试点阶段的 codec 工作流

翻译厂商规范、迁移网络服务器和检查后续固件变更时,都能复用同一套 fixture。

  1. 01

    粘贴实际部署的 formatter

    使用设备配置中的原始 JavaScript,包括辅助函数和查找表。

  2. 02

    添加真实数据包和预期

    采集代表性的 uplink 与 downlink,并声明完整的预期 JSON。

  3. 03

    导出长期测试

    把 fixture 与 Vitest 文件放在集成代码旁,避免固件或 codec 变更悄悄改变字段含义。

来自现场实践

当设备群不止一台理想设备时真正有用

Wavect 为城市级 LoRaWAN 平台中的多厂商硬件编写过 uplink decoder 和 downlink encoder。代价高的错误往往是字节、端口、固件版本和输出契约之间的隐性分歧。

两类网络服务器约定

无需先创建应用,即可测试现代 The Things Stack、ChirpStack 签名和旧式 Decoder、Encoder 函数。

依靠预期结果,不靠看起来正确

完整输出与声明值不一致时,fixture 会明确失败。

可带走的产物

导出可移植向量、可运行测试或 Markdown 报告,用于代码审查和交接。

明确边界

工作台无法证明什么

  • 工具使用浏览器 JavaScript 语义,目标网络服务器的运行时限制仍需最终验证。
  • 只有预期结果暴露差异时,工具才会指出大小端或有符号问题,不会猜测厂商意图。
  • 它测试应用 payload formatter,不测试 LoRaWAN 加密、覆盖、join、duty cycle 或网关调度。
  • 通过的 fixture 只验证提供的案例,不代表覆盖所有固件变体。

关于 Codec 测试器

不会。代码与 fixture 在不透明来源沙箱中的一次性 worker 里运行,不会发送或保存。
可以。支持当前 decodeUplink、encodeDownlink 契约和旧式 Decoder、Encoder 签名。
可以。为各固件和数据包形态建立命名向量。如果 codec 本身不同,也可导出独立 fixture 文件。
只有提供预期结果时可以。多种字节解释都可能语法有效,所以工具不会虚构设备语义。

免费 · 开源 · 不上传

把今天失败的数据包,变成保护明天的测试。

在本地运行 codec,导出 fixture,并把证据留在集成代码旁。