GitHubのページ
出典: GitHub

Androidスマートフォンを中継器にするMeshLive

MeshLiveは、Androidスマートフォン同士をBluetoothでつなぎ、音声通話や映像配信を中継するアプリです。インターネット回線やSIM、専用の無線機器を使わず、近くの端末を経由して通信します。通話や配信に参加するスマートフォンが多いほど、電波が直接届かない相手へ情報を渡せます。

通話は相手の端末へ直接届くか、範囲外なら間にあるスマートフォンを経由します。ライブ配信も端末から端末へ渡り、視聴中のスマートフォンが次の端末へ中継できます。アプリはAndroid 10以降に対応し、開発者がベータ版として公開しています。

連絡先は、相手の識別コードを読み取って登録します。連絡先に登録されていない近くの利用者には、15分ごとに変わるランダムな名前が表示されます。MeshLiveはアカウントやサーバーを設けず、通話と配信をエンドツーエンド暗号化するとしています。

通話と配信には中継距離や遅延の制約

Bluetoothの電波が直接届く距離は約10〜30メートルです。中継端末が信号を次へ渡すことで到達範囲を広げられますが、Hackadayは一般的なスマートフォンでの中継距離を約20メートルとしています。そのため、通信範囲は周囲にいる利用者の数や端末の配置に左右されます。

中継を重ねるたびに遅延が加わり、Bluetoothの通信速度にも制約があるため、MeshLiveの映像は小さくなります。音声だけの配信は、映像を含む配信より遠くまで届くとされています。双方向のビデオ通話は実験段階で、一方向の映像配信のほうが多くテストされています。

通話や配信はインターネットを通らず、端末間で中継されます。MeshLiveは、ハイキングやイベント、地下室など、電波やWi-Fiがない場所での利用を挙げています。開発者はベータ版であり、安全が関わる場面では頼らないよう案内しています。

Bluetooth Mesh標準とは用途と仕組みが異なる

Bluetooth Meshは、Bluetooth Low Energy(LE)を使って、多数の機器が相互にメッセージを送るための標準です。ビル設備やセンサーなど、多数の機器を結ぶ用途を想定しています。標準では、通信に参加する機器をネットワークへ登録する「プロビジョニング」を行い、登録時にセキュリティキーや固有IDを設定します。

Bluetooth Meshの通信はメッセージ単位で、ノードと呼ばれる機器がメッセージを中継します。個々の機器の電波範囲を超えて通信するため、端末がメッセージをリレーします。中央のハブを置かず、多対多で通信する構成です。

Bluetooth Mesh標準は音声ストリーミングに対応していません。Bluetooth Meshは短いメッセージ向けのLEを使い、音声ストリーミングには連続接続に適したBluetooth BR/EDRを使います。MeshLiveはスマートフォンアプリで音声や映像の通話・配信を中継するプロジェクトで、Bluetooth Mesh標準が想定するセンサーや設備のメッセージ通信とは機能が異なります。