mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-10-03 09:04:32 -04:00
146 lines
11 KiB
HTML
146 lines
11 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ja-rJP" dir="ltr">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>MQTT</title>
|
||
<link rel="stylesheet" href="../../styles/docs.css">
|
||
</head>
|
||
<body data-page="mqtt" data-locale="ja-rJP">
|
||
<pre class="markdown-content"># MQTT
|
||
|
||
MQTT は、Meshtastic のメッシュネットワークをインターネットに橋渡しし、無線の到達範囲を超えた長距離通信を可能にします。
|
||
|
||
## 概要
|
||
|
||
MQTT モジュールは、ノードを MQTT サーバーに接続し、次のことを可能にします:
|
||
|
||
- インターネット経由で、物理的に異なるメッシュ上のノードにメッセージを届ける
|
||
- ホームオートメーションや監視システムとの連携
|
||
- ノードの位置を公開の Meshtastic マップに公開する
|
||
- ログ記録や通知のためのカスタムデータパイプライン
|
||
|
||
## 仕組み
|
||
|
||
```
|
||
[自分のノード] → 無線 → [WiFi 付きゲートウェイノード] → MQTT サーバー → [リモートゲートウェイ] → 無線 → [リモートノード]
|
||
```
|
||
|
||
インターネットに接続されたゲートウェイノード(WiFi または Ethernet)が、メッシュのメッセージを MQTT トピックに公開します。 同じトピックを購読しているリモートのゲートウェイが、それらのメッセージを自分のローカルメッシュに取り込みます。
|
||
|
||
## 設定
|
||
|
||
### MQTT を有効にする
|
||
|
||
1. 「**設定 → モジュール設定 → MQTT**」に移動します。
|
||
2. MQTT モジュールを有効にします。
|
||
3. サーバーへの接続を設定します:
|
||
|
||

|
||
|
||
設定項目 | 説明 | デフォルト |
|
||
----------- | --------------------------------------------------------- | --------------------------------------------------- |
|
||
サーバーアドレス | MQTT サーバーのホスト名 | mqtt.meshtastic.org |
|
||
ユーザー名 | サーバーの認証 | meshdev |
|
||
パスワード | サーバーの認証 | large4cats |
|
||
ルートトピック | メッセージのベーストピック | msh |
|
||
暗号化 | MQTT ペイロードを暗号化 | 有効 |
|
||
~~JSON 出力~~ | ⚠️ **非推奨**:JSON パケットのサポートはファームウェアから削除されました。このフィールドは無視されます | 無効 |
|
||
TLS | サーバーへのセキュアな接続 | 無効 |
|
||
マップ報告 | 公開マップに位置を報告 | 無効 |
|
||
|
||
### このスマートフォンでの MQTT プロキシ
|
||
|
||
ノード自体がインターネットに接続できない場合、接続中のスマートフォンを MQTT ゲートウェイとして使えます。モジュール設定で「**MQTT**」と「**クライアントへのプロキシを有効化**」を有効にすると、アプリがスマートフォンのインターネット接続を通じて、無線機とサーバーの間で MQTT の通信を中継します。
|
||
|
||
MQTT 設定画面の上部にある「**このスマートフォンでの MQTT プロキシ**」トグルは、この中継が現在動作しているかどうかを示し、デバイスの MQTT 設定を編集して保存し直すことなく、すぐに停止(または再開)できます。
|
||
|
||
### デフォルトの Meshtastic サーバー
|
||
|
||
コミュニティが `mqtt.meshtastic.org` で公開サーバーを運用しています。 これは一般的な利用やテストを目的としています。
|
||
|
||
> ℹ️ **注意:** `mqtt.meshtastic.org` への接続は、TLS のトグルがオフでも常に TLS(ポート 8883)を使用します。 それ以外のサーバーでは、TLS は有効にした場合にのみ使用されます(TLS ありはポート 8883、なしは 1883)。
|
||
|
||
> 🔒 **プライバシー:** 公開サーバー上のメッセージは、購読している誰もが読めます。 プライベートな通信には、必ずチャンネルの暗号化を使用してください。
|
||
|
||
### プライベートサーバー
|
||
|
||
プライバシーと制御を高めるために、独自の MQTT サーバーを運用できます:
|
||
|
||
- Mosquitto(軽量、オープンソース)
|
||
- HiveMQ
|
||
- EMQX
|
||
|
||
適切な認証情報を設定して、ノードがプライベートサーバーに接続するよう構成します。
|
||
|
||
## マップ報告
|
||
|
||
マップ報告を有効にすると、ノードは自分の位置を Meshtastic のコミュニティマップに公開します:
|
||
|
||
- [meshmap.net](https://meshmap.net) や、同様のコミュニティマップサービスで表示されます
|
||
- 共有されるのは位置とノード情報のみです
|
||
- 位置を公開したくない場合は、これを無効にしてください
|
||
|
||
## アップリンクとダウンリンク
|
||
|
||
方向 | 説明 |
|
||
---------- | ----------------------- |
|
||
**アップリンク** | メッシュ → MQTT サーバーへのメッセージ |
|
||
**ダウンリンク** | MQTT サーバー → メッシュへのメッセージ |
|
||
|
||
メッセージの流れと電波利用時間を制御するため、どの方向を有効にするかをチャンネルごとに設定します。
|
||
|
||
## メッセージ形式
|
||
|
||
MQTT は protobuf のメッセージ形式を使用します:
|
||
|
||
形式 | 説明 | 用途 |
|
||
------------ | ------------------------------- | ------------ |
|
||
**Protobuf** | バイナリの Meshtastic protobuf エンコード | ノード間のメッシュ橋渡し |
|
||
|
||
> ⚠️ **注意:** JSON 出力のサポートはファームウェアから削除されました。 `json_enabled` の設定は、以前との互換性のためにアプリ上には表示されますが、現在のファームウェアバージョンには影響しません。
|
||
|
||
## 暗号化とプライバシー
|
||
|
||
階層化された暗号化モデルを理解する:
|
||
|
||
1. **チャンネルの暗号化**は、MQTT &#x306E;_&#x524D;&#x306B;_&#x30E1;ッシュ上で行われます。 チャンネルに PSK が設定されている場合、MQTT ペイロードはすでに暗号化されています。サーバーや購読者には暗号文しか見えません。
|
||
2. **MQTT の暗号化**(モジュールの設定)は、サーバーへの転送のために追加の暗号化レイヤーを加えます。 これはメタデータやルーティング情報を保護します。
|
||
3. **TLS** はサーバーへの TCP 接続自体を暗号化し、ネットワークレベルの盗聴を防ぎます。
|
||
|
||
> 🔒 **重要:** デフォルトの公開チャンネルは、よく知られた鍵を使用しています。 デフォルトチャンネルで MQTT 経由で送信されるメッセージは、実質的に**暗号化されていません**。誰でも解読できます。 プライベートな通信には、必ずカスタムの PSK を使用してください。
|
||
|
||
## ベストプラクティス
|
||
|
||
- MQTT に橋渡しするチャンネルでは、チャンネルレベルの暗号化(PSK)を使用します
|
||
- インターネットに接続できないノードでは MQTT を有効にしないでください(バッファリングしてメモリを浪費します)
|
||
- 機密性の高い運用にはプライベートサーバーを使用します
|
||
- 混雑した MQTT トピックからメッセージをダウンリンクする際は、電波利用時間に注意してください。ダウンリンクされたメッセージはすべて、ローカルメッシュの無線の電波利用時間を消費します
|
||
- メッセージを送り返さず、リモートでメッシュを監視するだけでよい場合は、アップリンクのみを有効にすることを検討してください
|
||
|
||
## トラブルシューティング
|
||
|
||
### MQTT が接続できない
|
||
|
||
- **WiFi を確認:** ゲートウェイノードには、有効なインターネット接続(WiFi または Ethernet)が必要です。 MQTT は LoRa の無線リンク自体では動作しません。
|
||
- **認証情報を確認:** ユーザー名やパスワードが正しくないと、ほとんどのサーバーでは何も表示されずに失敗します。 末尾のスペースがないか、よく確認してください。
|
||
- **ファイアウォール:** ポート 1883(MQTT)または 8883(MQTT+TLS)が開いている必要があります。 一部のネットワークは、標準外のポートをブロックします。
|
||
- **DNS 解決:** カスタムのサーバーホスト名を使う場合は、ノードがそれを解決できるか確認してください。 サーバーの IP アドレスを直接試してみてください。
|
||
|
||
### メッセージが橋渡しされない
|
||
|
||
- **アップリンク/ダウンリンクの設定を確認:** アップリンクのみが有効な場合、メッセージはメッシュから MQTT へ流れますが、戻ってきません。 受信側のゲートウェイでダウンリンクを有効にしてください。
|
||
- **チャンネルの不一致:** 両方のゲートウェイが、同じ PSK を持つ同じチャンネルを共有している必要があります。 不一致の場合、メッセージは異なる鍵で暗号化され、判読できないデータとして表示されます。
|
||
- **トピックの不一致:** 両方のゲートウェイが同じルートトピックを使用しているか確認してください。 デフォルトの `msh` は公開サーバーで機能します。
|
||
|
||
## 関連トピック
|
||
|
||
- [設定:モジュールと管理](settings-module-admin):MQTT モジュールの設定リファレンス
|
||
- [メッセージとチャンネル](messages-and-channels):チャンネルの暗号化と PSK の設定
|
||
- [MQTT 連携ガイド](https://meshtastic.org/docs/software/integrations/mqtt):meshtastic.org にある詳細な MQTT ドキュメント
|
||
|
||
---
|
||
|
||
</pre>
|
||
</body>
|
||
</html> |