Meshtastic: オープンソースのオフグリッド分散型メッシュネットワーク
(meshtastic.org)- Meshtasticは、基地局やインターネットなしで低消費電力・低コストの機器同士を接続するオープンソースのメッシュネットワークであり、通信インフラがない状況で役立つ
- LoRaベースの長距離通信とAES-256暗号化を使用し、オフグリッド環境でも非公開のピアツーピアメッセージをやり取りできる
- コミュニティがサポートする機器は8種類以上、世界中のコード貢献者は149人以上、LoRa地域は26、対応言語は39で、エコシステムの広がりが拡大している
- iOS・iPad・Mac OSアプリ、Androidアプリ、Web Client、Python CLI/SDKを通じて、モバイルユーザーと開発者が同じネットワークにアクセスできる
- 複数のクライアントとドキュメント・フラッシャーツールを提供し、ハードウェアの準備から機器の設定・制御まで、導入の経路が比較的明確である
インフラなしで動作するメッシュネットワーク
- Meshtasticはオープンソースベースのオフグリッド分散型メッシュネットワークである
- 安価で低消費電力の機器で動作するように作られており、基地局・インターネットなしでピアツーピア接続を提供する
- 核となる前提は「No cell towers. No internet. Just pure peer-to-peer connectivity.」である
通信機能
- Long Range: LoRa技術により数キロメートル範囲の通信を可能にする
- Encrypted: AES-256暗号化でメッセージを非公開かつ安全な状態に保つ
- No Infrastructure: 基地局、WiFi、インターネット接続なしで動作する
コミュニティと対応範囲
- Meshtasticが示すエコシステムの規模は次のとおりである
- コミュニティ対応機器: 8種類以上
- 世界中のコード貢献者: 149人以上
- LoRa地域: 26
- 対応言語: 39
接続および制御クライアント
- Apple Apps: iOS、iPad、Mac OS対応アプリでMeshtasticネットワークを外出先でも管理できる
- Android App: AndroidアプリからMeshtastic機器を接続・制御できる
- Web Client: Webベースのクライアントで複数の機器からMeshtasticネットワークにアクセスできる
- Python CLI/SDK: Python開発者向けのコマンドラインインターフェースとSDKを提供する
開始と設定ツール
- Get Started: Meshtasticの開始ドキュメントにリンク
- Read the Docs: ハードウェアが必要なユーザー向けのドキュメント導線
- Flasher: Meshtasticサイトのフラッシャーツールにリンク
1件のコメント
Hacker Newsのコメント
関連プロジェクトとして https://github.com/antirez/freakwan/ がある。
ちなみに自分が作ったもの。コンセプトは Meshtastic と似ているが、プロトコルレベルの選択をより文書化して明確にし、ハックや改造がずっとしやすい実装を目指した
イタリア語が分かるなら、ここで発表した内容もある: https://talks.codemotion.com/introduzione-alla-tecnologia-rf...
2023年の Burning Man で使ってみたが、Burning Man は機材に厳しく、無線周波数環境も驚くほど複雑だ
それでも安定していて、ユーザー体験も良かったのでかなり気に入った
playa の位置を表示する修正ファームウェアのフォークも作った
https://github.com/exadeci/Meshtastic-device-bm
LoRa/Meshtastic 機材を大量に買って、APRS のような形で自分の位置を記録して地図に表示できるか調べてみた
しかし、APRS iGate を設定して aprs.fi で自分の位置を見る手順よりもずっと難しそうだった
いつかまた試したいが、やる気につながるような良いスタートガイドが必要だと感じた
女性に年齢を、男性に給料を、LoRa トランシーバーにスループットを聞くな、という言い回しを思い出す
1秒あたり二桁ビット程度なら、パケットヘッダーや誤り訂正などを考えると、せいぜい1秒あたり数文字か、それ以下にしかならない
ただし、より広いチャネル幅と低い拡散率を使えば 62.5kbps まで上がる。Meshtastic がデフォルトでどのモードを使うのか正確には分からないが、プリセットは 8 個あるようだ
ことわざなのは分かっているし、親コメントを責めているわけではない
これを見てあまり興奮しすぎる前に指摘しておくと、半二重/TDD方式のメッシュ無線システムで無指向性アンテナを使うのは、町や小都市規模の無線IPネットワークを構築する方法としては最も効率の低い部類に入る。
無指向性アンテナ同士で通信すると、無指向性アンテナは360度のノイズ収集器でもあるため、いま送受信中の相手ではない、少し離れたメッシュノードのトラフィックやタイムスロット占有信号まで入ってきてしまう。
同様に、特定のノードへパケットを送るときも、RF信号の99%は望んでも必要でもない方位角方向へ拡散し、周囲の似たハードウェア構成のノードのノイズフロアを引き上げてしまう。
こういうことを非常に限られた予算でやろうとしている人には、2地点間にL2 Ethernetブリッジを作るよう設計されたポイントツーポイント802.11ac/ax無線システムを検討することを勧める。主にパラボラ反射アンテナベースで、最近では見通し線とフレネルゾーンの確保を前提とした低価格の24GHz・60GHzポイントツーポイントブリッジ機器もある。
LoRa系の機器でも、2.4GHzや5GHzよりはるかに低いVHF/UHFに近い帯域、たいていは1300MHz以下で、2地点間の固定リンクが必要であり、無指向性アンテナ2本を向かい合わせにする代わりに、八木・宇田アンテナやダイポールアンテナを互いに向けられるなら、その方がはるかによい。
ノードが移動せず、互いの位置関係も変わらないサイトなら、よりよいリンク安定性とデータ転送率のために、ノード間ネットワークリンクには無指向性以外のほぼあらゆる選択肢を検討することを強く勧める。
5秒検索で見つけた適当な例だが、特定方向での利得パターンを見てほしい: https://www.elprocus.com/design-of-yagi-uda-antenna/
最近のLoRa系チップセットとRFモジュールでできる面白いことの1つがExpressLRSだ。リモートコントローラとUAV、無人ボートや地上車両などのオンボード飛行制御装置との間に、シリアルUARTブリッジを実装している。RC用途のTBS Crossfireと同種の一般概念を発展させたものだ。
https://www.google.com/search?client=firefox-b-d&q=expresslr...
Meshtasticはチャンネル付きのテキストメッセージングであり、一部ノードのセンサーデータ送信と位置データ機能を提供する。
TCP/IPネットワーキングを提供することが目的ではない。
「町や小都市規模の無線IPネットワーク」を作ることは、そもそも目標ではなかった。到達範囲がかなり良く、帯域幅は低いシンプルなテキストメッセージングネットワークを作れるだけだ。
ISP回避の可能性が本当に大きそうだ。
ただしLoRaのようにスループットが非常に低く、時間領域で遅いシステムでは、移動性を考慮すると適用しやすい概念ではない。
とても熱心なイギリス人がAndroidアプリを実際に使いながら、traceroute機能などを見せている動画がある: https://www.youtube.com/watch?v=LmGr1pGJ4sM
80ノードまでしかスケールしないと書かれているので、自作しない限り参加できるメッシュを見つけるのは難しく、知り合い同士でしか成り立たなそうだ。
インターネットを置き換える世界規模のメッシュネットワークが欲しい。
「Taco Expressは今開いているか?」という検索が、グローバルに一意な名前をグローバルに一意なアドレスへ解決し、その後で遠くのサーバーに問い合わせ、そのサーバーがさらに位置情報を要求して、どのTaco Expressなのかを特定するような方式であってはならない。脆弱すぎる。
その代わり、検索は現在到達可能なメッシュに沿って伝播し、Taco Expressの営業時間について権威を持つノード、たぶんTaco ExpressにあるRaspberry Piに行き当たればよい。問い合わせ先がローカルな対象なので、ローカルな結果が得られる構造だ。
こうしたメッシュ同士をつなぐ問題も面白いが、個々のノードの安定したアドレスに依存しないアプリのエコシステムが生まれるまでは、それほど有用ではない。
必要なのはサーバーのアドレス指定とリクエスト/レスポンスではなく、コンテキストベースのアドレス指定とpub/subだ。かなり大きな発想の転換が必要で、残念ながら何らかの災害がその必要性を納得させるまでは、その転換は起きない気がする。
数百万ドルをかけて敷設する必要のある1000km、10000Gbpsの光ファイバー回線に比べれば、個人1人が貢献できることはほとんどない。それでも、2つのデータセンターやインターネットエクスチェンジでポートを確保し、どうにか相互接続して、その間のトラフィック運搬に対して料金を取ることを妨げる人はいない。
ヨーロッパで650km区間の10Gbps運搬見積もりが月800ドル程度だったので、理論上はそのくらい稼げる可能性がある。
建設現場のメッシュベース人員追跡システムの製品マネージャーをしていて、ソリューションにWirepasの技術をライセンスして使っていた。その過程でメッシュの微妙な部分を多く学んだ。
発見可能性、遅延、可用性、セキュリティの間には難しいトレードオフがある。
Android向けのオープンソースなメッシュネットワークはなかったっけ? Wi-FiやBluetoothベースのもの。
数年前にデモでメッシュネットワークが使われたという話を聞いた気がするけど、今でも実用的なものはないのだろうか?
Yggdrasilは独自のメッシュネットワーク上でTCP/IPアプリケーションを使えるようにしてくれるが、それ自体でエンドユーザー向け機能を提供するわけではない
Manyverseは分散型ソーシャルネットワーキングでWi-Fiを使える: https://www.manyver.se/
現在バックエンドを書き直しており、Secure Scuttlebuttから離れて、現在はPPPPPという名前の独自プロトコルへ移行中
Reticulum/SidebandはWi-Fiやその他の媒体上でP2Pメッセージングシステムを提供する: https://github.com/markqvist/sideband
2018年に終了し、オープンソースでもなかった
TimBLが提唱したDecentralized Web運動に参加したかったが、立ち消えになってしまった。
Oregonの「offline camp」に行こうと申し込んだが、大規模な山火事のため中止になり、おそらくCamp Fireと関係があったのだろう。結局、川辺でキャンプすることになった
飛行機、Norwegian Cruise Linesのようなクルーズ船、農村の村など、どんな汎用サーバーでも動くオープンソースのコミュニティソフトウェアを作ろうとして、10年以上で100万ドル以上を費やした
地域の教育を支援したいし、Afghan girlsも含まれる。無国籍難民を支援するため、RohingyaProject.comなどとも連絡を取っている
こうしたメッシュネットワークはすでに存在し、携帯電話のハードウェアも優れている。欠けているのは、人々をBig Tech、つまりTwitterやFacebookから離れさせる優れたバックエンドソフトウェアだ。WebがAOLやMSNから、WordpressがWeb 1.0から人々を解放したのと同じように
参加したい人や、実際に活発な「decentralized web」または「indieweb」運動を知っている人がいたら、下で教えてほしい
https://qbix.com/blog/2021/01/15/open-source-communities/
プラットフォームを扱った最近の記事:
https://www.laweekly.com/restoring-healthy-communities/
https://www.robots-everywhere.com/cellsol/ 私たちは2020年ごろにこれを作り、Meshtasticとdisasterradioのパケットの両方をサポートしている