MQTTの基本

MQTTとは?

メッセージキューイングテレメトリー輸送(MQTT)軽量でシンプルで、 オープンソースメッセージングプロトコル。 それはコミュニケーションのための最も広く使用されているプロトコルです モノのインターネット(IoT)や、機械・ツー・マシン(M2M)環境。 MQTTの主な目標は、IoTとの間でメッセージングとデータ交換を容易に 産業用IoT(IIoT)デバイス、センサーなど、帯域幅が制限されています。 IoT/IIoTデバイス利用 お問い合わせMQTTの特長 プロトコル公開サブスクリプションモデルで動作します。 デバイス(クライアント)がメッセージやデータを特定のトピックに公開し、受信するサブスクライブ 他のデバイスからのデータ。 TCP/IP 上で動作します。

MQTTはどのように機能しますか?

ザ・オブ・ザ・MQTTの特長公開サブスクリプションモデルで動作します。 デバイス/クライアントの通信 しかし、クライアント間の通信は直接発生しません。 ではなく、MQTTブローカー。ブローカー行為 ミドルウェア、受信、 クライアント間でデータを配信する この公開サブスクライブモデルは、パブリッシャーと 加入者

  • 出版社は、ブローカーにメッセージ(データ)を送るクライアントです。
  • 購読者とは、特定のトピックにサブスクライブすることでメッセージを受信するクライアントです。

クライアントは、パブリッシャーと購読者の両方を同時に実行できます。 MQTTでは、メッセージの交換は トピックの整理(MQTTトピックス)チャネルのような機能。 出版社がメッセージを送ることを望んでいるとき、メッセージがメッセージに公開されます センサー/温度のような特定のトピック。 そのトピックに興味を持つデバイスは、それを購読し、データを効率的に受信します。 プロセス全体 ブローカーによって管理され、 出版社のクライアントからのデータを転送し、その特定のトピックを購読しているクライアントに転送します。

How Mqtt Work

ネットワークの問題や予期しない接続障害の場合、パブリッシャークライアントは、「最後のメッセージ」は、 説明を含むメッセージのキャッシュ サブスクライブクライアントのため。 ブローカーと加入者の間に接続がない場合、 ブローカーはメッセージを保存し、接続が再確立されると購読者に配信します。

MQTT メッセージの種類

MQテレメトリートランスポート(MQTT)は、通信を容易にする複数のメッセージタイプを定義しています。MQTTクライアントIoT の MQTT ブローカー システム。 各タイプは、コミュニケーションプロセスにおけるユニークな役割を担います。 様々なMQTTメッセージタイプの中で、 次の4つは重要なです:

1。 コネクタ– – CONNECT メッセージはクライアントが接続を開始するために送信されます MQTTブローカーで。 このメッセージは、ブローカーがクライアントを識別するのに役立ちます そして関係を確立して下さい。 CONNECT メッセージには、クライアントのID、接続などの詳細が含まれます。 オプション、ログイン資格情報。

2. 接続解除– – DISCONNECT メッセージはクライアントがMQTTと接続を閉じるために使用されます ブローカー。 このメッセージを送信すると、クライアントはブローカーにそれを通知しない コミュニケーションをとりたい。 これは、ブローカーがクライアントがオフラインで行くことを認識していることを保証します お問い合わせ 予期しない接続を経験するのではなく。

3。 パブリッシュ– – PUBLISH メッセージは、特定のトピックにデータを送信するために使用されます。 それはペイロードを含んでいます、 実際のデータであり、トピック名、サービスの品質(QoS)レベルなどのメタデータとともに、 ブローカーがメッセージを保持するかどうか。 PUBLISH メッセージを使用すると、データがデータから移動することができます ブローカーにクライアント, それは、そのトピックを購読し、他のクライアントに配布することができます.

4。 サブスクライブ– – クライアントやデバイスが望むときにSUBSCRIBEメッセージが送信されます 公開された特定のトピックに関するデータを受け取る 別のクライアントによって。 購読することで、クライアントは、関心のあるトピックをブローカーに伝えます。 おすすめ クライアントはすべてのメッセージを受信し始めます そのトピックに公開されました。 これは、デバイスが特定のタイプを受信したいブローカーに通知する方法です データ。

MQTT メッセージの種類と説明については、下の表をご覧ください!

Types of MQTT Messages

MQTTが必要な理由

ネットワーク帯域幅の必要性を減らすのでM2M通信に適しています。 また、対応可能です。 不安定なネットワークと開発の労力を削減します。 プロトコルは、管理されたデバイスとサーバーアプリケーション間でデータを交換するのに役立ちます。 使用するシステム モノのインターネット(IoT)は、相互接続のコレクションです 互いに通信できるオブジェクト。 このコンセプトのために、 メッセージキューイングテレメトリー輸送作品 お問い合わせ いくつかの正当化は次のとおりです。


  • デバイスからクラウド通信まで、どちらの方法でも対応可能です。 この機能により、シンプルに 放送メッセージ オブジェクトの大規模なグループへ。 また、データの効率的な転送を容易にします。
  • ISO規格をメッセージに使用しているため、膨大な数のIoTデバイスに接続できます。
  • 信頼性が重要であるとして、3つのレベルがありますサービスの質 (QoS)配送を確実にするために使用できる設定。
  • クライアントはポータブルで、ハードウェアリソースの最小限の量を使用し、小さなものに設定できます。 マイクロコンピューター。
  • クライアントがネットワークから切断しても、永続的なセッションをサポートしています。 それは保証することです クライアントは feasible として素早く再結合。
  • TLS(Transport Layer Security)の組み込みサポートにより、MQTTプロトコルは暗号化された通信を保証します。 データの保護 IoTシステムにおける完全性とプライバシー
  • 他のメッセージングプロトコルとシームレスに統合し、多様なIoTに対応 エコシステム
  • それはリモートのような時間感度の適用のために重要である実時間データ伝送を、支えます 監視および制御。
  • プロトコルの単純なメッセージ構造により、送信中のメタデータ量が低下し、理想的に 低資源環境のため。

MQTTの利点

Benefits of MQTT

MQTTのメリットは以下の通りです。

  • それは、最小限の帯域幅だけを要求するそして計算された資源。 これは、 限られた処理能力を持つリソース禁忌装置に最適です & 低帯域幅接続。
  • 公開/サブスクリプションアーキテクチャモデルは、効率的なデータ 分布。デバイス間でのスケーラブルかつ柔軟な通信を可能にします。
  • それは、ネットワーク帯域幅の使用を最小化技術の採用で。 ザ・オブ・ザ・ メッセージ圧縮、小さなパケットサイズ、バイナリペイロードが含まれます。
  • 軽量設計と効率的なコミュニケーションパターンにより、消費電力の低減に貢献 お問い合わせ 電池操作装置のために重要。 それは電池の寿命を延長するのを助けるので、効率的なIoTを実現 導入事例
  • それは保障します信頼できるメッセージ配達認識機構による QoS のレベルによって提供される。 この機能は、データの完全性と信頼性が重要なアプリケーションです。 パラマウントです。
  • デバイスがオフラインで行くと、メッセージが保存され、配信されると、メッセージのキューイングが可能 再接続すると、 保障しないデータの紛失
  • デバイスは、加入者の詳細を知り、システムを作る必要はありませんデータを公開することができますより適用範囲が広く、拡張すること容易。

主な特長

MQTT TOPIC

MQTTトピックス

許可するアドレスへの期限
情報を共有するクライアント

Persistent Session

持続的なセッションと
メッセージキューイング

進行中の表現
間の接続
クライアント ブローカー

mqtt message

メッセージの保持

「Last Good」のストッキング
メッセージ トピック

Keep Alive & Client Take

生き続ける & クライアント 取る 以上

チェックイン TCP/IP接続の状態

mqtt scoket

ウェブソケットのMQTT

データを受信できるように ウェブブラウザに直接

MQTTの一般的な質問

MQTTは、メッセージキューイングテレメトリー輸送の略です。 それは軽量で、簡単なメッセージングプロトコルです スマートデバイス(インターネット上で相互接続されているデバイス)を支援 特にネットワークの状況でデータを送受信することでシームレスに通信 電力資源は限られています

MQTT は IoT で最も広く使用されているプロトコルです。 それは信頼できる方法を提供する能力のためにです 低い環境でも通信する装置 帯域幅または不安定な条件。 公開/サブスクリプションモデルは、デバイスがデータをいつだけ送信することを可能にします お問い合わせ これにより、スマートホーム、工場などの接続機器の大型ネットワークの効率的な運用を実現します。

以下はMQTTの実用的なユースケースです。

  • 製造業の監視生産
  • エネルギー産業の自動メーター
  • 照明や温度制御などのスマートホームオートメーションシステム
  • 輸送における車両追跡および車両管理
  • 物流における資産追跡と在庫管理
  • 火災やセキュリティシステムのためのリアルタイムアラートと監視
  • スマートな潅漑か漏出検出のための水管理システム

MQTT はアプリケーションレイヤープロトコルで、TCPプロトコルデータ伝送のため、 保障する メッセージの信頼性と注文配送。 TCP(トランスミッション制御プロトコル)は、デバイス間の安定した接続を提供し、理想的です。 データの完全性が重要であるアプリケーション。 呼ばれる変形がありますMQTT-SNの特長(センサーネットワーク専用MQTT) エッジセンサーネットワークは、UDP(ユーザーデータグラムプロトコル)上に構築されています。

MQTT は使いやすく、応答時間、スループット、電池を下げる、および 帯域幅の使用法は重要です。 その他のIoT通信と比較して HTTP や CoAP などのプロトコル、MQTT は軽量設計で、より高速に使える より効率的なデータ伝送。 また、その公開/購読 モデルはデバイス間の通信を簡素化し、一定の接続の必要性を減らします。 すべて これにより、MQTT は他のプロトコルよりも優れた通信プロトコルになります。

はい、MQTTは非常に安全な通信を支えるように設計されています。 MQTTは認証方法をサポート 認定されたデバイスのみが情報に接続し、交換できることを確認してください。 また、SSL/TLSによる暗号化などの各種セキュリティ対策も提供しています。 デバイス間でデータを移動する。 したがって、 これらの機能は、 メッセージキューイングテレメトリートランスポートプロトコルは、送信のための安全な選択 IoT アプリケーションにおける機密データ。

はい、MQTT は OASIS や ISO などの組織で標準化されるオープンソースプロトコルです。 お問い合わせ 誰でも使える、実装、 制限なく変更する 特定の会社が保有していないため、MQTTは採用可能です。 さまざまなプラットフォームやアプリケーションを幅広く展開

いいえ、MQTTはRESTfulではありません。 MQTT と REST の両方がデバイス間の通信に使用されますが、 異なるアーキテクチャと異なる目的を提供. MQTT は、デバイスがメッセージ/データを送信および受信できるように、公開/サブスクリプションモデルに依存しています。 リアルタイム 一方、REST はリクエスト/レスポンスモデルに依存し、クライアントがデータをリクエストできるようにします。 サーバ。

詳しくはこちらをご覧くださいMQTTとRESTニュース

1883はMQTTの標準的な港です。 これは、非安全な接続に使用されるデフォルトのポートです。 デバイスが互いに簡単に通信できるようにします。 安全な接続のために TLS が有効になっている場合、 MQTT は一般にデータ伝送のための保証の加えられた層としてポート 8883 を使用します

もちろんです。 MQTT を使用するブローカーが必要です。 管理する中央ハブとして機能するブローカーです デバイス間の通信(クライアント) の役割MQTTブローカー出版社として機能するデバイスからメッセージ/データを取得することです。 これらのメッセージを購読者として機能するデバイスに配布します。 ブローカーがなければ、MQTTシステムは、メッセージを効率的にルーティングまたは管理できない

MQTT は、以下の機能により IIoT アプリケーションに適しています。

  • 非常に軽量のオーバーヘッド
  • 公開/サブスクリプションモデル
  • 双方向機能
  • TCP ベースの接続通信

これらの要因は、産業のための推奨メッセージングプロトコルになります 信頼性の高い効率的なデータ交換を必要とするアプリケーション。

はい、MQTTはQoSを支え、信頼できるメッセージ配達を保障します。 QoS は、送信者が指定できるようにします どのように確実にメッセージが配信されるべきか、さまざまな通信ニーズに合わせてオプションを提供します。 この機能により、非クリティカルなデータから時間感度まで、さまざまなIoTアプリケーションに対応 インフォメーション

MQTTの特長 QoSは、オーバーヘッドの注文が増えると分類された3つのレベルで構成されています

QoS 0 – 一度に
QoS 1 - 少なくとも一度
QoS 2 - 一度だけ

QoSについてもっと知るには、MQTTの特長 QoSの記事

ログインMQTT トピックメッセージの宛先または主題を定義する文字列またはパターンです。 それは役立つ 公開サブスクリプションモデル内のメッセージを分類し、ルーティングします。 デバイスが特定のトピックを購読できるようにします。 トピックは階層構造を持つことができます、 スラッシュ(/)を使用して異なるレベルを分離します。 組織化された効率的なメッセージフィルタリングが可能 このシステムにより複数のシステムが使用可能 不要なデータトラフィックなしで関連メッセージを受信するデバイス、通信をもっと 有効。

メッセージの保持お問い合わせ MQTTの機能により、トピックに公開されたメッセージをブローカーによって保存することができます。 つまり、 新しい加入者がそのトピックに接続すると、 それらはすぐに最後の保持されたメッセージを受け取ります、それらになしで最も最近のデータがあることを保障します 新しいアップデートを待ってください。 この機能は特に便利です デバイスの状態や構成設定などの重要な情報を提供、新規登録者の権利 お問い合わせ

MQTTの最大メッセージサイズはブローカーによって定義され、異なることができますが、一般的に最大256 MBの ただし、メッセージを保持することをお勧めします パフォーマンスを最適化し、レイテンシを減らし、特に制約のある環境で

MQTT は、QoS 1 を使用したときに公開された順序でメッセージを配信することによって、メッセージの注文を保証します。 または QoS 2. これは、購読者が送信された同じ順序でメッセージを受け取ることを意味します。 データの注文が重要であるアプリケーションにとって重要なのは

ザ・オブ・ザ・最終ウィルとテスト(LWT) 機能により、クライアントがメッセージを指定することができます。 送信する クライアントが予期しないと切断した場合ブローカー。 この機能は、クライアントのステータスに関する他のデバイスを通知するのに便利です。 ネットワークへの意識

はい、MQTTは軽量な性質と低帯域幅のためにモバイルネットワークに適しています 消費。 これは、デバイスが断続的な接続を持っている可能性があるアプリケーションに最適です。 携帯電話ネットワークに依存するモバイルセンサーやIoTデバイスなど

はい、MQTTは低レイテンシと効率的なため、リアルタイムアプリケーションに適しています メッセージ配信。 公開/サブスクライブモデルは、インスタント通知を可能にします, ライブデータフィード、リモート監視、インスタントメッセージングなどのユースケースに最適です。