皆さん、こんにちは。アストラです。
災害が起きても使えるネットワークの構築
自然災害が地域を襲ったと想像してください。家庭のインターネットや携帯電話のサービスが使えなくなり、人と連絡を取ったり重要な情報にアクセスしたりするのが難しくなります。こうした状況では、信頼できる安全な通信手段が非常に重要です。
ここで、¥5000程度のデバイスのネットワークがあって、従来のインフラに依存せず何キロも通信ができ、すべてのノードがリレー役を果たしてメッセージをさらに遠くまで届けられると想像してください。これがMeshtasticの役割です。
メッシュネットワークとは?
まずは基本から始めましょう。メッシュネットワークとは何でしょう?
従来のトランシーバーの動きを見てみましょう。これは私たちが無線通信で慣れ親しんでいる形態です。ここにはAさん、Bさん、Cさんがいます。AさんはBさんと直接話せて、BさんはCさんと話せますが、AさんとCさんはお互いに届きません。ラジオの出力が足りないからです。
では、両方の声を聞けるBさんに、AさんからCさんへのメッセージを中継してもらったらどうでしょう?
これで二人は話せますね、素晴らしい!でももっと複雑なトポロジーだと?
これだと、全員に「どこにどのメッセージを送るか」を説明するのはほぼ不可能です。しかもネットワーク全体の状態を知らない人もいて、メッセージを次にどこへ送れば目的地に届くのか全くわかりません。ここでメッシュネットワークが問題解決を目指します。
メッシュネットワークは、基本的には複雑なネットワーク内でAからBにメッセージを最適に届ける方法を自動で見つける仕組みです。現代のメッシュネットワークはそれ以上のこともでき、ノードが移動し隣接ノードが変わった際に動的に再設定したり、メッセージのループを検出して止めたり、最も効率的な経路を選択したり、多彩な機能を備えています。
LoRaとは?
さて、素晴らしいネットワーキング技術があっても、スマホのWi-FiやBluetoothの電波がせいぜい50mしか届かないとなると何の役にも立ちません。もし東京の真ん中にいて周囲みんなが同じネットワークを使っているなら良いですが、そうでなければ接続はほとんど無理です。
ここでLoRaの登場です。LoRa(Long Range)は、長距離・低消費電力向けに設計された無線通信技術です。従来のトランシーバーと同じサブGHz帯の周波数を使いながら、非常に巧妙な変調方式を採用し、雑音よりも弱い信号であってもデータを復元できます。これにより、LoRaデバイスは数キロメートル、場合によってはそれ以上の距離で通信可能となります。理想的な条件下では1000キロ以上の通信に成功したという報告もあります。(https://www.thethingsnetwork.org/article/new-lora-world-record-1336-km-830-mi)。
ただし欠点もあります。最大のものは通信速度の遅さで、最大でも数キロバイト/秒、時には数バイト程度です。そのため、音声や映像などリアルタイムのアプリケーションには向かず、基本的には短いテキストパケットの送信に限定されます。
Meshtasticとは?
最後にMeshtasticの本命を紹介しましょう。
MeshtasticはオープンソースのLoRaベースのメッシュネットワークソリューションで、低価格な市販LoRaラジオを使い、スマホやPCと連携して、従来のインフラに頼らず暗号化された長距離通信を実現します。各デバイスがメッセージを中継する分散型ネットワークを構築し、困難な環境でも通信範囲と信頼性を拡張します。
2020年に初めて公開されて以来急速に世界中に広まり、かなり控えめに見積もっても数万台規模のノードが展開・稼働中です。ユーザー増加と新機能の開発が非常に速いペースで続いています。
ハードウェアの対応も秀逸で、低価格の基板のみのモデルからGPSや各種センサーを搭載した高機能デバイスまで幅広くサポートしています。この柔軟性により、ニーズと予算に合わせて最適なハードを選べるため、多くの人に手が届きやすくなっています。
また、秋葉原の店舗で完成済みノードが販売されていたり、パーツ単位で自作用の部品が買えたりするため非常に入手もしやすいです。
何ができるの?
かなり多彩です!
まず、テキストチャットが基本です。Meshtasticでは「チャンネル」と呼ばれる通信のための周波数スロット群(チャンネル名から決定論的かつランダムに生成)と暗号鍵のセットを作成・共有できます。ただし「デフォルト」チャンネルのみ例外で、全ノードがアクセス可能かつ暗号化されていません。これは周囲の誰でも読めることが前提のメッセージを暗号化する意味がないためです。
さらに、メッセージと共にノードは位置情報、バッテリー残量、状態、センサーの読み取り値(例:その地点の温度や湿度)など、多彩なメタデータも共有します。
ネットワーク内のノードにはそれぞれ役割を設定可能です。例えば「リレーノード」は自分は通信に直接参加せず通信範囲を拡大する役割を担い、「センサーノード」は中継せず環境データの収集・共有に専念し省電力を優先します。
このため特定のユースケースに最適化した緻密なネットワーク設計が可能で、不確実な状況や変化する環境下でも柔軟に対応できます。
例えば救助隊は災害地域で迅速にリレーネットワークを構築し、伝統的な通信インフラが途絶えていても互いに連絡を取り合い、作戦を調整できます。
始め方
Meshtasticを試したい場合、まずはラジオノードを選びます。おすすめはいくつかあります。
Heltec LoRa 32 v3
最安で約¥1200から。基板とアンテナのみのセットで、USB給電か別途バッテリーが必要です。初めての入門には良いですが、多少のDIYが要ります。
Lilygo T-Beam
GPSモジュールと18650バッテリーホルダー内蔵で導入が格段に楽。バッテリーを用意するだけで使えます。価格は¥3000〜で最新の「supreme」モデルは約¥5000です。
Lilygo T-Echo
ケース、e-inkディスプレイ、内蔵バッテリー等を備えたオールインワンパッケージ。最も初心者向けですが価格は高めで¥8000前後。nRFチップ搭載のためESP32より省電力でバッテリー持ちも良好です。
Sensecap T-1000E
カード型でコンパクトかつ耐久性が特徴。IP65防水仕様。¥8000前後からですが、割引で¥4500程度で出ることもあります。
Lilygo T-Deck
スマホがなくても単独で動作する完全スタンドアロン型。TFTディスプレイ、フルQWERTYキーボード、充電式バッテリーを内蔵。専用の「Meshtastic UI」OSを搭載し、ノード管理、マップ、メッセージ、ネットワーク診断ツールなど充実したUIを提供。価格は約¥10000から。
他にも優良ノードは多数あり、meshtasticフラッシャーツールで全て確認可能です。
https://flasher.meshtastic.org/
そしてノードを手に入れたら、次はmeshtasticファームウェアを書き込みます。フラッシャーツールのおかげで簡単です。ノードモデルを選び、インストールしたいバージョンを選択し、USBで接続して「Flash!」をクリックするだけ。ESP-32デバイスは自動でプログラムされ再起動します。nRFベースのデバイスは画面上の指示に従って処理を完了させてください。通常5分ほどで終わります。
書き込み後はノードの設定を行い、使用開始です!
専用のスマホアプリをインストールし、画面の指示に従ってスマホとノードを接続。接続後はノード名、表示設定、そして最も大事なLoRaのパラメータなど様々な設定が可能です。
日本にいるので「Japan」地域と「LongFast」モデムプリセットを選んでください。
それで準備完了!全ノードが聞けるデフォルトの「LongFast」チャンネルでメッセージ送信を試したり、周囲のノード一覧を確認したりできます。