Android · Meshtastic / LoRa
NTsocial MeshLink 操作マニュアル
Android 端末を Meshtastic 無線機へ接続し、圏外で文字を交換。最大4つの無線エンドポイントを管理し、必要な NTsocial チャンネルだけを LoRa へ延長できます。
第 01 章
MeshLink でできること
MeshLink は単独で使える Android 用 Meshtastic コントローラーであり、NTsocial から選択できる端末内 LoRa ゲートウェイでもあります。通常の Meshtastic 利用に NTsocial は不要です。
2つの使い方
対応無線機へ接続し、チャンネル/ダイレクトの文字送信、mesh ノードの確認、LoRa・チャンネル・セキュリティ・端末・対応モジュールの設定を行います。
MeshLink が無線機の Bluetooth 接続を保持し、NTsocial で明示的にひも付けた文字と対応状態を指定 Meshtastic チャンネルへ運びます。
5つの主な画面
- Conversations:Channel Hub、チャンネル会話、ノードへの DM。全無線機と無線機別の表示があります。
- Nodes:mesh で検出した端末と、利用できる状態・位置・テレメトリ。
- MeshCore:別の機能経路です。NTsocial ゲートウェイが使う Meshtastic 無線接続ではありません。
- Settings:無線、端末、チャンネル、セキュリティ、モジュール、バックアップ、保守、アプリ設定。
- Connections:Bluetooth 無線機の検索・接続と、保存した無線機一覧の管理。
現在の Android 版の境界
- Android の接続画面で利用者に提供されるのはBluetooth 無線機です。この版に一般の USB/TCP 接続ボタンはありません。
- LoRa は低帯域の文字・状態経路です。NTsocial の画像、音声クリップ、PTT 音声、一般ファイルは LoRa へ送りません。
- Meshtastic の無線メッセージ自体にインターネットは不要です。ただし、任意で設定した MQTT やファームウェア取得はネットを使う場合があります。
- クラウドを使わない本 Android 版には地図タイル画面を含みませんが、位置の数値や関連テレメトリは表示されることがあります。
第 02 章
Meshtastic の基礎
2つの無線区間を分けて考えます。Bluetooth はスマホと手元の1台を接続し、LoRa はその無線機と他の Meshtastic 無線機を接続します。
1通のメッセージが通る道
- Android 端末MeshLink が文字を作成・表示
- Bluetooth手元の無線機への短距離制御リンク
- 自分の無線機Meshtastic パケットを符号化して送信
- LoRa mesh他ノードが受信し、必要なら中継
基本用語
- ノード(Node)
- 1台の Meshtastic 無線機。Node ID、Long/Short Name があり、電池・位置・センサー値を送ることもあります。
- Mesh と Hop
- ノードはパケットを再送できます。中継1回が1 hop。到達範囲は伸びますが、共有 airtime も使います。
- Region
- 無線機を実際に使う場所の法規に対応する周波数プラン。送信前に正しく設定します。
- Modem preset
- LoRa の速度/距離パラメーター一式。互いに受信するには無線設定の互換性が必要です。
- Primary/Secondary Channel
- 無線機には複数スロットがあります。Primary は重要な mesh 動作にも関わり、Secondary は会話を追加します。
- PSK
- チャンネル共有鍵。表示名だけでなく、無線設定とチャンネル鍵も一致・互換である必要があります。
- Role
- 通常クライアントや中継重視などのノード動作を決めます。実際の用途に合わせます。
- Airtime
- LoRa の容量は有限で共有です。短く低頻度の文字は、連続送信や大きな内容より mesh に適します。
到達距離に影響するもの
- アンテナの品質と周波数、高さ、地形、建物、送信出力、modem preset が影響します。
- 出力を上げるだけより見通しが重要な場合が多いため、まずノードを高くして金属から離します。
- 中継器は多いほど良いとは限りません。設置場所と airtime 計画が妥当な場合だけ、中継向け Role を選びます。
Rebroadcast mode = ALL を無断で設定しないでください。ネットワーク負荷を増やすため、チームで合意した明示的な判断が必要です。配信状態の意味
Queued、Sent、Acknowledged はそれぞれ別の段階です。ローカル DB や無線機キューへ入っただけでは、相手が読んだ証明になりません。重要な内容は返信や別の合図で確認してください。
第 03 章
インストールと初回起動
MeshLink 1.0.7 は Android 8.0 以降に対応します。対応 Meshtastic 無線機は通常 firmware 2.5.14 以降を推奨し、古い版では機能不足や挙動差があります。
初回起動の流れ
- English、繁體中文、日本語を選びます。後から Settings で変更できます。
- 説明を読み、無線機を検索・接続するため付近のデバイス/Bluetoothを許可します。
- 位置情報は、スマホ位置や距離機能を使う場合だけ任意で必要です。バックグラウンド位置情報は要求しません。
- 新規メッセージ、新ノード、低電池を知らせるなら通知を許可します。Critical Alerts は任意です。
最初の接続前
- スマホと無線機を充電し、送信前に正しいアンテナを取り付けます。
- スマホの Bluetooth を有効にし、無線機を起動します。
- ペアリングと初回同期の間は、無線機をスマホの近くに置きます。
- 同じ無線機を保持している別のコントローラーアプリを停止します。
- 実際に使う場所で許可された周波数 Region を確認します。
第 04 章
最初の無線機を接続
検索と無線機管理は Connections で行います。スキャンは常時ではなく時間制限付きで、電池消費と古い結果を抑えます。
検索して接続する
- 無線機の電源を入れて近くに置き、Connections を開きます。
- スキャンを待ちます。出ない場合は Bluetooth 権限と無線機の advertising を確認して再スキャンします。
- 正しいデバイス名/アドレスをタップし、表示された場合は Android のペアリングや PIN を完了します。
- Ready になり、設定・ノード・チャンネルの読み込みが終わるまで待ちます。
最初の同期後
未設定の警告があれば Settings → LoRa で正しい Region を選び、Owner 名と無線チャンネルを確認します。設定変更で無線機が再起動・再接続することがあります。
切断・再接続・削除
- Disconnect:現在の Bluetooth セッションを終了し、保存した endpoint と履歴は残します。
- Connect:保存済み endpoint へ再接続します。無線機を起動し Bluetooth 圏内に置きます。
- Remove:非 Primary endpoint を一覧から忘れます。物理無線機を初期化する操作ではありません。
- 互換性用 Primary は Legacy primary と表示され、カードから削除できません。
第 05 章
最大4台の無線機を管理
MeshLink は異なる Meshtastic Bluetooth endpoint を最大4台保存できます。無線データと会話履歴は endpoint ごと、アプリ全体の設定は共通です。
別の endpoint を追加
- Connections を開き、無線カード付近に表示される容量を確認します。
- 必要なら現在の無線機を切断し、次の無線機を起動してスキャン・選択します。
- 同期完了後に次を追加します。同じ外観の無線機は名前とアドレス末尾で区別します。
無線機を選択して確認
無線カードの Select で現在の endpoint にし、接続/切断します。endpoint 切替時、関連機能はそれぞれのトップへ戻り、無線機別の隠れたナビゲーション履歴は保持しません。
Conversations や endpoint 対応設定にはアドレス末尾4文字のタブが出ることがあります。All は全体を集約します。切断中もキャッシュは読めますが、再接続まで読み取り専用です。
分離されるもの・共有されるもの
接続、node database、channels、無線設定、メッセージ履歴、Channel Hub キャッシュ。
言語、テーマなど、特定の物理無線機に属さないアプリ設定。
第 06 章
会話とメッセージ
Channel Hub はチャンネル会話と DM をまとめます。全無線機を見るなら All、1台へ集中するなら endpoint タブを使います。
Channel Hub の見方
- カードには endpoint、Primary/Secondary、ロック状態、最新文字、時刻、未読数、チャンネル表示が出ます。
- 接続中は会話を開け、切断中はキャッシュ履歴を読み取り専用で確認できます。
- チャンネル送信は同じ設定のメンバー向け、DM は Node ID を指定します。
チャンネルまたは DM を送信
- Conversations を開き、endpoint または All を選びます。
- チャンネルカードを開くか、Node/Contact から DM へ進みます。
- 短い文字を入力して送ります。LoRa の文は簡潔にします。
- 状態を確認しますが、重要事項は相手の返信で確かめます。
メッセージツール
状態と画面に応じて、検索、返信、Reaction、コピー、ローカル削除、選択、配信詳細、再送、Quick Chat の定型文を使えます。ローカル削除は、すでに無線送信したパケットを取り消しません。
状態の読み方
| 状態 | 実際の意味 | 証明しないこと |
|---|---|---|
| Queued/Pending | アプリまたは無線経路が後の処理として受け付けた。 | LoRa で実際に送信したこと。 |
| Sent/En route | パケットが無線ネットワークへ進んだ。 | 相手が受信・既読したこと。 |
| Acknowledged/Delivered | 対応するプロトコル確認を観測した。 | 人が理解し行動したこと。 |
| Failed | 今回のローカル送信経路を完了できなかった。 | 以前の別コピーが一度も送信されなかったこと。 |
第 07 章
ノードと無線診断
Nodes は無線機が学習した mesh 端末の一覧です。最後にパケットを受けた時刻から情報は古くなります。古い項目は現在オンラインの証拠ではありません。
ノード一覧を使う
検索/フィルターで探し、Long/Short Name、ID、Last heard、hop、利用可能な信号や電池を確認します。ノードと firmware が送った値だけが表示されます。
ノード詳細
Device、Position、Environment、Signal、Power、Air Quality、Host、Pax、Neighbor などの telemetry が表示されることがあります。欠けたパネルは、ノード・センサー・firmware が値を提供していない場合が多く、描画不良とは限りません。
Traceroute と指標
対応時のみ traceroute を控えめに使います。経路はパケットごとに変わり得ます。RSSI/SNR は受信リンク、hop 数は中継を示すため、1回の数値ではなく傾向を見ます。
リモート管理
第 08 章
MeshCore タブ
MeshCore は別の無線エコシステムと手順であるため、独立したトップ項目です。Connections で管理する Meshtastic endpoint と混同しないでください。
- 本ガイドの Meshtastic 会話・ノード・チャンネル・NTsocial gateway は Meshtastic endpoint 経路を使います。
- MeshCore の設定だけでは NTsocial チャンネルを Meshtastic にバインドしません。
- NTsocial の gateway 画面が互換・Ready の route を明示しない限り、MeshCore 端末が NTsocial gateway traffic を運ぶとは考えないでください。
第 09 章
チャンネル、QR、セキュリティ
チャンネルは表示名だけではありません。互換性のある LoRa 設定、slot/role、共有鍵が必要です。
Primary と Secondary
Primary は無線機の主 slot で重要な mesh 動作にも関わります。Secondary は会話を追加します。稼働中のチームで Primary を変更する前に、旧設定を記録し全員で調整してください。
Clear、Well-known、Private key
- Clear/PSK なし:private shared key で保護されません。
- Well-known/default:公開互換には便利ですが秘密ではありません。
- Custom PSK:同じ鍵を持つ端末だけが保護 payload を解釈できます。
チャンネルセットを共有・取り込む
- Settings → Channels で対象または共有操作を選びます。
- QR は対象チームだけに生成します。Private key 入りならパスワード同様に扱います。
- 受信側で端末内スキャンし、チャンネルを追加するのか、現在のセットを置換するのか確認します。
- Region は別に確認します。チャンネル取り込みは、送信者の地域周波数を使う許可ではありません。
適用と確認
Channel/LoRa 変更で無線機が再起動する場合があります。アプリは再接続と readback の間、約30秒の中立な pending を表示できます。画面を離れても構いません。成功は readback で確認し、明示的な拒否や不一致はエラーです。
内蔵 NTsocial チャンネル
空き slot があれば、MeshLink は標準 NTsocial Meshtastic channel を登録できます。設定済み Region/modem preset は上書きせず、空きがなければ安全に失敗します。無線機が自動的に完成したと思わず、結果を確認してください。
第 10 章
無線機とアプリの設定
Settings は現在の endpoint に対応します。変更前に無線機を選び、hardware/role/firmware 非対応の項目は表示されないことを理解してください。
Radio configuration
- User:Owner の Long/Short Name と identity 関連値。
- LoRa:Region、modem preset、hop、送信関連。ネットワーク計画に沿って変更します。
- Channels:Primary/Secondary slot、role、key。
- Security:端末と管理の security controls。
Device configuration
無線機によって Device、Position、Power、Network、Display、Bluetooth が現れます。スマホ位置共有は任意で、foreground location 条件が必要です。あるモデルの項目が別モデルにはない場合があります。
Module settings
対応 firmware では MQTT、Serial、External Notification、Store & Forward、Range Test、Telemetry、Canned Message、Audio、Remote Hardware、Neighbor Info、Ambient Lighting、Detection Sensor、Paxcounter、Status、Traffic Management、TAK が出ます。各 module は無線・memory・電力・airtime を使うため、現場で必要なものだけ有効にします。
アプリ内設定
言語、theme、privacy/location、通知、filters、device links、cache、CSV export は Android アプリ側であり、Meshtastic 無線設定として broadcast されません。対応機器では Wi-Fi provisioning が出ても、通常の Android 無線接続は Bluetooth-first です。
Administration
高リスク変更前は Backup/Restore を使います。Reboot、Shutdown、Factory Reset、Node DB Reset、Clean local DB、Debug は範囲が異なるため、確認文を読んでください。無線機 factory reset と MeshLink cache 消去は別です。
第 11 章
NTsocial と組み合わせる
MeshLink が無線機の Bluetooth session を保持します。NTsocial は保護された端末内アプリサービス経由で MeshLink と通信し、明示的にバインドしたチャンネルだけを route します。
2つのアプリを準備
- 同じ Android 端末へ現在の NTsocial と NTsocial MeshLink を入れます。
- MeshLink を対象無線機へ接続し、同期完了を待ちます。
- 合法な Region を設定し、MeshLink で対象 Meshtastic channel を確認します。
- Bluetooth を維持し、別コントローラーが接続を奪わないようにします。
MeshLink を provider に選ぶ
同時に有効なのは1つの gateway provider だけです。NTsocial が MeshLink を Ready と表示してから channel をバインドします。Provider 選択だけで全会話が自動的に LoRa になるわけではありません。
NTsocial チャンネルをバインド
- NTsocial で LoRa を使う channel を開き、transport/radio binding controls へ進みます。
- Gateway が現在 Ready と表示する endpoint と Meshtastic channel だけを選びます。
- 保存して channel へ戻り、短く機密でない test message を送ります。
- 別の Meshtastic node または返信で確認し、送信側の local status だけを証拠にしません。
データと到達の境界
- 対応する文字と小さな state/control data は bound LoRa route を使えます。
- 画像、audio、PTT bytes、一般ファイルは NTsocial のスマホ transport に残ります。
- Accepted は local Room、WorkManager、radio queue へ入っただけの場合があります。RF 送信、remote receipt、人の既読は保証しません。
- NTsocial が正規の会話履歴を管理し、MeshLink は radio transport と診断面を担当します。
- 無線機、endpoint identity、channel key、gateway provider を変えたら binding を再確認します。
確実なフィールドテスト
- 完全オフグリッド経路を証明するなら mobile data/Wi-Fi を切り、Bluetooth は残します。
- Region、preset、channel が互換な2つの Meshtastic node を離して用意します。
- Bound NTsocial channel から固有の短文を送ります。
- 遠隔側で確認し、逆方向にも1回返信します。
第 12 章
ファームウェアと保守
無線機の機能は firmware が決めます。機種、更新方法、firmware package が一致する場合だけ更新してください。
安全に更新する
- スマホと無線機を充電し、正しいアンテナを装着して近くに置きます。
- 先に radio configuration と channel 情報を backup します。
- 正確な hardware model と、アプリに表示された対応 update path を選びます。
- 転送中はアプリを閉じず、無線機を切らず、接続範囲から離れません。
- 再起動後に再接続し、Region、channels、owner data を確認します。
Firmware controls は対応 hardware だけに出ます。Bluetooth OTA や Wi-Fi provisioning/update が表示されても、Connections に一般の Wi-Fi 無線接続方式が追加された意味ではありません。
Backup、export、cleanup
実験前に configuration backup を使います。CSV export は点検用で、完全な radio restore ではありません。Clean local DB、Node DB Reset、Factory Reset は範囲が違うため、毎回確認します。
変更が中断した後
無線機へ給電したまま通常の起動を待ち、Connections で再スキャンします。Advertising があれば再接続して設定を読み、その後に再更新します。起動も advertising もない場合はメーカーの recovery 手順に従います。
第 13 章
トラブルシューティング
スマホ→無線機の Bluetooth、無線機設定、空中の mesh の順で確認します。この順序なら別レイヤーの問題を混同しにくくなります。
無線機が出ない/接続できない
- 無線機が起動・advertising 中、Bluetooth が ON、Nearby devices 権限が許可済みか確認します。
- 近づき、別コントローラーを停止し、時間制限付き scan を再実行。必要なら無線機だけを再起動します。
- Android pairing が古い場合は system Bluetooth settings で忘れてから再 pairing します。
接続済みだが届かない
- 両無線機の Region、modem preset、channel slot/role、PSK を比較します。
- アンテナ、周波数互換、電池、設置、last heard、選択 endpoint を確認します。
- 短い test を1つ送り待ちます。連続再送は airtime を使い混雑を悪化させます。
チャンネル変更が Pending のまま
再起動/再接続の時間を待ち、channel を開き直して readback を確認します。無線機の拒否や値の不一致があれば失敗として扱い、local success toast だけを優先しません。
NTsocial が route を使えない
- MeshLink が接続済みで、NTsocial の provider が別アプリでなく MeshLink か確認します。
- NTsocial の radio catalog を開き直し、現在 Ready の項目だけをバインドします。
- 無線機交換、channel reset、key 変更後は再バインドします。
- 保存済みの Secondary radio は、自動的に gateway-ready になるわけではありません。
電池とバックグラウンド
Bluetooth、頻繁な位置更新、telemetry、画面点灯、活発な module は電力を使います。アプリが説明する notification/foreground service を許可し、スマホと無線機を充電し、不要 module を切ります。