メッセージとチャンネル
Meshtastic は、チャンネルブロードキャストとダイレクトメッセージの 2 つの通信モードをサポートしています。
チャンネル
チャンネルは、共有された通信グループです。 同じチャンネル鍵を設定したすべてのノードが、そのチャンネルでメッセージを読み書きできます。
デフォルトチャンネル
すべての Meshtastic デバイスには、デフォルトの LongFast チャンネルが用意されています。 これは、一般的なメッシュ通信に使われる暗号化されていないチャンネルです。
チャンネルのセキュリティ
チャンネルは複数の暗号化レベルに対応しています:
| アイコン | セキュリティレベル | 説明 |
|---|---|---|
| 🔒 | PSK(256 ビット AES) | 強力な事前共有鍵で完全に暗号化されます。 一致する鍵を持つノードだけがメッセージを読めます。 |
| 🔐 | PSK(128 ビット AES) | より短い鍵で暗号化されます。 ほとんどの用途で安全ですが、機密性の高いデータには 256 ビットが推奨されます。 |
| 🔓 | デフォルト/オープン | よく知られたデフォルトの鍵を使用します。 同じプリセットのあらゆる Meshtastic デバイスが、これらのメッセージを読めます。 |
| ⚠️ | 非セキュア+位置情報 | GPS 位置情報も一斉送信するオープンチャンネルです。 公開メッシュでは注意して使用してください。 |
🔒 セキュリティのヒント: プライベートな通信には、必ず固有の PSK を設定してください。 デフォルトチャンネルは、新規ユーザーがメッシュを見つけられるよう意図的にオープンになっています。ただし、機密性の高い内容には別途、暗号化されたチャンネルを作成してください。
チャンネルを追加する
- 「設定 → チャンネル」に移動します。
- 「チャンネルを追加」をタップするか、QR コードをスキャンします。
- チャンネル名と暗号化鍵を設定します。
- アクセスが必要な相手に、チャンネルの URL/QR コードを共有します。
チャンネルをタップすると、その詳細と共有オプションが表示されます。
ダイレクトメッセージ
ダイレクトメッセージ(DM)は、特定の 2 つのノード間で行われる、ポイントツーポイントの暗号化通信です。
ダイレクトメッセージを送信する
- 「メッセージ」タブを開きます。
- 連絡先リストからノードを選択するか、ノードリストでノードをタップします。
- メッセージを入力し、「送信」をタップします。
メッセージの状態
ステータスラベルは、自分が送信したメッセージの下にのみ表示されます(他のユーザーからの受信メッセージにはステータスラベルは表示されません):
| 状態 | 意味 |
|---|---|
| 送信中… | キューに入っているか、すでに無線機に渡された状態で、まだどちらとも確定していません(キュー内と送信中のどちらも同じ表示になります) |
| 受信者に配信済み | ダイレクトメッセージで最も確実な確認です。受信確認が返ってきています |
| メッシュに配信済み | チャンネルブロードキャストでは、メッセージがメッシュに届いたことを示します(ブロードキャストには受信者ごとの確認応答はありません) |
| 中継済み、受信者による確認なし | ダイレクトメッセージでは警告色で表示されます。メッセージは中継されましたが、まだ受信確認が返ってきていません |
| SF++ チェーン経由でルーティング中… | Store & Forward Plus Plus チェーンによってルーティング/バッファリングされています |
| SF++ チェーンで確認済み | SF++ チェーン経由で配信が確認されました |
| エラー | 配信に失敗しました。具体的な理由はステータスをタップして確認してください(下記の「配信エラー」を参照) |
配信エラー
メッセージの配信に失敗すると、エラーインジケーターが何が問題だったかを示します:
| エラー | 意味 | 対処方法 |
|---|---|---|
| ルートなし | 宛先ノードへの経路が存在しません | 受信者がオフラインか、メッシュの範囲外の可能性があります。 時間をおくか、距離を縮めてください。 |
| NAK を受信 | 次のホップのノードが中継を拒否しました | 中継ノードが混雑している可能性があります。 しばらく待ってから再試行してください。 |
| タイムアウト | 再試行の時間内に受信確認がありませんでした | 受信者がちょうど範囲外にいる可能性があります。 ホップ数上限を増やすか、より良い場所に移動してみてください。 |
| インターフェースがありません | 送信に使える無線インターフェースがありません | 無線機が接続され、チャンネルが設定されているか確認してください。 |
| 最大再送回数 | すべての再試行を使い切りました | メッシュ経路が不安定です。 別のチャンネルを試すか、状況が改善するのを待ってください。 |
| チャンネルがありません | 宛先のチャンネルが存在しません | 両方のノードが同じチャンネル設定を共有しているか確認してください。 |
| サイズ超過 | メッセージが最大ペイロードサイズを超えています | メッセージを短くしてください(最大約 200 文字)。 |
| 応答なし | ノードはメッセージを受信しましたが、応答しませんでした | 受信者の無線機が処理中か、低電力のスリープモードの可能性があります。 |
| デューティサイクル制限 | 地域ごとの電波利用時間の上限に達しました | 無線機が許可された送信時間を使い切りました。 デューティサイクルの期間がリセットされるまで待ってください(EU リージョンでは通常 1 時間)。 |
| 不正な要求 | 不正な形式または無効なメッセージです | 通常はソフトウェアの不具合を示します。 アプリを再起動してみてください。 |
💡 ヒント: ほとんどの配信エラーは自然に解消します。 ノードに断続的に到達できる場合、メッシュは再試行します。 「ルートなし」エラーが続く場合は、中間のルーターノードがオンラインになっているか確認してください。
メッセージの機能
クイックチャット
すばやくやり取りするための、あらかじめ設定されたメッセージです:
- メッセージ入力欄のクイックチャットボタンから利用できます
- 組み込みの定型文またはカスタムメッセージから選べます
- クイックチャットのメッセージは「設定 → クイックチャット」でカスタマイズできます
- 入力が難しい場面(手袋の着用、小さな画面、急いでいるとき)に便利です

各クイックチャット項目には、短い名前(ボタンのラベル)、挿入されるメッセージ、そして即時送信トグルがあります。有効にすると、ボタンをタップした時点で、メッセージが入力欄に置かれて編集できる状態になるのではなく、すぐに送信されます:

チャンネルリストには、各チャンネルが最新メッセージのプレビューとともに表示されます。
メッセージを検索する
チャット画面から、どの会話でもその全履歴を直接検索できます:
- 会話(チャンネルまたはダイレクトメッセージ)を開きます。
- 上部バーの検索アイコンをタップします。
- 「メッセージを検索…」欄に入力します。 検索は入力に応じて、その会話に保存されているすべてのメッセージを対象に実行されます。
- N/M の結果カウンターと前へ/次への矢印を使って、一致箇所間を移動できます。一致箇所は会話内でハイライト表示されます。

💡 ヒント: 検索は全文検索で、開いた会話の中だけを対象とします。他のチャンネルや連絡先をまたいで検索することはありません。 デバイスにすでに保存されているメッセージを対象に照合するため、完全にオフラインで動作します。
メッセージの吹き出し
メッセージはチャットの吹き出しとして表示され、送信メッセージは右側、受信メッセージは左側に並びます。 各吹き出しには、送信者・タイムスタンプ・配信状況が表示されます。 返信付きのメッセージでは、応答の上に元メッセージの引用プレビューが表示されます。
Text Formatting
Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:
| 種別 | Syntax | Renders as |
|---|---|---|
| Bold | **bold** | bold |
| Italic | *italic* | italic |
| Strikethrough | ~~strike~~ | |
| Inline code | `code` | monospace code |
| Link | [label](https://example.com) | a tappable label |
When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw
**/~~characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
メンション
メッセージ作成中に @ を入力するとノードにメンションできます。入力に応じて、一致する連絡先がピッカーに提案されます。 受信メッセージでは、メンションはノード名を表示したハイライト付きのチップとして現れます。タップすると、そのノードの詳細ページに直接移動できます。
リアクション
絵文字でメッセージにリアクションできます:
- メッセージを長押しすると操作メニューが開きます
- 「リアクションを追加」をタップして絵文字を選びます
- リアクションはメッセージの吹き出しの下に表示されます
- 複数のユーザーが同じメッセージにリアクションできます
- 自分のメッセージにも、他の人のメッセージにもリアクションできます

💡 ヒント: リアクションは軽量で、通常のテキストメッセージに比べてメッシュの帯域をほとんど消費しません。
メッセージの操作
任意のメッセージを長押しすると、次の操作を利用できます:
- コピー: メッセージのテキストをクリップボードにコピーします
- 返信: そのメッセージを引用して返信します
- リアクション: 絵文字のリアクションを追加します
- 翻訳: 受信メッセージをデバイスの言語に翻訳し、原文と翻訳を切り替えます(Google Play 版のみ。オンデバイス翻訳を使用します)
- 削除: 自分が送信したメッセージを削除します(端末内での削除)
メッセージの優先度
メッセージは優先度に基づいてキューに入れられ、送信されます:
- 緊急/警報メッセージ(最高)
- ダイレクトメッセージ
- チャンネルブロードキャスト(最低)
メッセージの制限
- 最大長: 200 バイト(ASCII テキストで約 200 文字)
- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
- レート制限: メッシュは電波利用時間の公平性を確保するため、大量のメッセージは制限されることがあります
- 配信: 受信確認がない場合、メッセージは自動的に再送されます
ベストプラクティス
- グループでの連携にはチャンネルを使います
- 個人間のプライベートな通信にはダイレクトメッセージを使います
- メッセージは短くしてください。メッシュの帯域は限られています
- 機密性の高い通信には暗号化を設定します
関連トピック
- ノード:ノードをタップするとダイレクトメッセージを開始できます
- 設定:無線機とユーザー:チャンネルの暗号化とプリセットを設定します
- MQTT:チャンネルのメッセージをインターネットに橋渡しします
- チャンネル設定:meshtastic.org にある詳細なチャンネル設定