Mocktasticは、ESP32ベースのハードウェア、特にLilyGO T3 LoRa32 V1.6.1をターゲットに設計されたカスタマイズ可能なLoRaクライアントです。公式のMeshtasticファームウェアの製品版フォークとしてではなく、教育および実験プロジェクトとして開発されており、ユーザーがC++を使用してMeshtastic互換のパケットを構築およびデコードする方法を理解するためのフレームワークを提供します。このプロジェクトは、プラットフォームに依存しないプロトコルロジックとハードウェア固有の効果を分離するように構成されており、開発者はターゲットハードウェアに展開する前に、ユニットテストを通じてホストマシン上でコアロジックを練習することができます。

GitHub上のMocktasticプロジェクトリポジトリのスクリーンショット
Mocktasticプロジェクトのリポジトリは、Meshtastic互換のパケットを構築およびデコードするためのフレームワークを提供します。github.com

プロジェクトは、プラットフォームに依存しないプロトコルロジックとハードウェア固有の効果を分離するように構成されています。

このファームウェアは、ユーザーの目的に応じて2つの異なるコンパイル時モードで動作します。DECODERモードは、設定されたMeshtasticチャンネルやダイレクトメッセージを通じてテキストメッセージを受信、デコード、送信できるインタラクティブなシリアルシェルを提供します。あるいは、SENSORモードでは、ボードを専用のDHT22温度・湿度センサーに変換します。このモードでは、デバイスは測定値を送信でき、プライベートチャンネル上で/dhtなどの特定のコマンドに応答することができます。これらの操作をサポートするために、このプロジェクトはAESやX25519などの暗号化機能のためのMBDTLSや、Protobufペイロード用の軽量エンコーダであるNano-Protobufを含む技術スタックを利用しています。

MocktasticはMeshtasticプロトコルとやり取りするための合理的な方法を提供しますが、公式のファームウェアと比較すると特定の制限があります。このプロジェクトはプロトタイピングを意図したものであり、公式のMeshtastic製品ソフトウェアに見られる高度な電力効率、信頼性、堅牢なチャンネル処理を備えていません。限られたフィールドテストしか行われていないため、著者は安全性が重要な用途や製品用途でのMocktasticの使用を明示的に推奨していません。ユーザーは依然として「Long Range / Slow」や「Medium Fast」などの地域別無線プリセットを手動で設定し、ハードウェアのピンマッピングと16進数キーが地域の規制およびネットワーク要件と正しく一致していることを確認する必要があります。