---
title: MQTT
parent: User Guide
nav_order: 11
last_updated: 2026-05-13
description: メッシュをインターネットに橋渡しします。MQTT サーバーの設定、暗号化の各レイヤー、マップ報告について説明します。
aliases:
  - mqtt
  - internet-bridge
  - broker
---

# MQTT

MQTT は、Meshtastic のメッシュネットワークをインターネットに橋渡しし、無線の到達範囲を超えた長距離通信を可能にします。

## 概要

MQTT モジュールは、ノードを MQTT サーバーに接続し、次のことを可能にします：

- インターネット経由で、物理的に異なるメッシュ上のノードにメッセージを届ける
- ホームオートメーションや監視システムとの連携
- ノードの位置を公開の Meshtastic マップに公開する
- ログ記録や通知のためのカスタムデータパイプライン

## 仕組み

```
[自分のノード] → 無線 → [WiFi 付きゲートウェイノード] → MQTT サーバー → [リモートゲートウェイ] → 無線 → [リモートノード]
```

インターネットに接続されたゲートウェイノード（WiFi または Ethernet）が、メッシュのメッセージを MQTT トピックに公開します。 同じトピックを購読しているリモートのゲートウェイが、それらのメッセージを自分のローカルメッシュに取り込みます。

## 設定

### MQTT を有効にする

1. 「**設定 → モジュール設定 → MQTT**」に移動します。
2. MQTT モジュールを有効にします。
3. サーバーへの接続を設定します：

![MQTT のトグルスイッチ](../../assets/screenshots/settings_switch.png)

| 設定項目        | 説明                                                        | デフォルト                                               |
| ----------- | --------------------------------------------------------- | --------------------------------------------------- |
| サーバーアドレス    | MQTT サーバーのホスト名                                            | mqtt.meshtastic.org |
| ユーザー名       | サーバーの認証                                                   | meshdev                                             |
| パスワード       | サーバーの認証                                                   | large4cats                                          |
| ルートトピック     | メッセージのベーストピック                                             | msh                                                 |
| 暗号化         | MQTT ペイロードを暗号化                                            | 有効                                                  |
| ~~JSON 出力~~ | ⚠️ **非推奨**：JSON パケットのサポートはファームウェアから削除されました。このフィールドは無視されます | 無効                                                  |
| TLS         | サーバーへのセキュアな接続                                             | 無効                                                  |
| マップ報告       | 公開マップに位置を報告                                               | 無効                                                  |

### デフォルトの 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 ドキュメント

---

