Meshtasticとは
Meshtastic はLoRaの無線を利用した分散型の通信です。LoRaWANなどではゲートウェイがありますが、Meshtasticではゲートウェイのないピアツーピアで通信を行います。
ノード
デバイスはスマートフォン経由等で設定を行うことができ、ノードがどのような役割として動作するかもそこで設定できるようになっています。
デバイスロール | 概要 |
---|---|
CLIENT | アプリ接続またはスタンドアロンのメッセージング デバイス。 |
CLIENT_MUTE | 他のデバイスからのパケットを転送しないデバイス。 |
CLIENT_HIDDEN | ステルスまたは電力節約のために必要な場合にのみブロードキャストするデバイス。 |
TRACKER | GPS 位置パケットを優先的にブロードキャストします。 |
LOST_AND_FOUND | デバイスの回復を支援するために、位置情報をメッセージとして定期的にデフォルト チャネルにブロードキャストします。 |
SENSOR | テレメトリ パケットを優先的にブロードキャストします。 |
TAK | ATAK システム通信用に最適化されており、定期的なブロードキャストを削減します。 |
TAK_TRACKER | 自動 TAK PLI ブロードキャストを有効にし、定期的なブロードキャストを削減します。 |
REPEATER | 最小限のオーバーヘッドでメッセージを中継することにより、ネットワーク範囲を拡張するためのインフラストラクチャ ノード。ノード リストには表示されません。 |
ROUTER | メッセージを中継してネットワーク範囲を拡張するためのインフラストラクチャ ノード。ノード リストに表示されます。 |
対応デバイス
サイトを見ると多くのデバイスを対応しているようですが、国内で技適を取得しているデバイスがないようなので、以前使用したこちらの Grove-Wio-E5 を使ってみます。今回も M5Stack の Port A をシリアルポートとして使ってみます。
コード
コードは こちら をご覧ください。
ソースコードをクローンし、Visual Studio Code の PlatformIO でディレクトリを開きます。
ビルド方法の詳細はこちら https://meshtastic.org/docs/development/firmware/build/
概要は、
ソースコードのクローン
git clone https://github.com/fukuen/meshtastic-firmware.git
cd meshtastic-firmware && git submodule update --init
コマンドパレットでプロジェクト環境を選択(env:m5stack-core-WioE5)
PlatformIO: Pick Project Environment
コマンドパレットからビルド
PlatformIO: Build
コマンドパレットからアップロード
PlatformIO: Upload
設定
ファームウェアを書き込んでデバイスを起動すると、設定待ちの状態で起動します。スマートフォンを使いBluetoothで接続します。接続したら最初にリージョンコード「JP」を設定します。
詳細はこちらの初期設定方法 https://meshtastic.org/docs/getting-started/initial-config/
その他
その他詳細はこちらのMeshtasticサイトをご覧ください https://meshtastic.org/