Mocktastic 是一个为基于 ESP32 的硬件设计的可定制 LoRa 客户端,特别针对 LilyGO T3 LoRa32 V1.6.1。该项目作为教育和实验项目开发,而非官方 Meshtastic 固件的生产就绪分支,它为用户提供了一个框架,帮助用户了解如何使用 C++ 构建和解码兼容 Meshtastic 的数据包。该项目的结构将独立于平台的协议逻辑与特定于硬件的效果分离,允许开发人员在部署到目标硬件之前,通过单元测试在主机机器上练习核心逻辑。

GitHub 上 Mocktastic 项目仓库的截图
Mocktastic 项目仓库提供了一个构建和解码兼容 Meshtastic 数据包的框架。github.com

该项目的结构旨在将独立于平台的协议逻辑与特定于硬件的效果分离。

根据用户的目标,该固件在编译时运行在两种不同的模式中。DECODER 模式提供一个交互式串口 shell,允许用户在配置好的 Meshtastic 通道和直接消息中接收、解码和发送文本消息。或者,SENSOR 模式将开发板转换为专用的 DHT22 温度和湿度传感器。在此模式下,设备可以在私有通道上传输测量值并响应特定命令(如 /dht)。为了支持这些操作,该项目利用了包括 MBDTLS(用于 AES 和 X25519 等加密功能)以及 Nano-Protobuf(作为 Protobuf 有效负载的轻量级编码器)的技术栈。

虽然 Mocktastic 提供了一种简化与 Meshtastic 协议交互的方法,但与官方固件相比,它具有特定的局限性。该项目旨在用于原型设计,缺乏官方 Meshtastic 生产软件中具备的复杂功耗效率、可靠性和强大的通道处理能力。由于该项目经过的实地测试有限,作者明确建议不要将 Mocktastic 用于安全关键或生产应用。用户仍必须手动配置区域无线电预设——例如“长距离/慢速”或“中等快速”——并确保其硬件引脚映射和十六进制密钥与当地法规和网络要求正确对齐。