メッセージキューイングテレメトリー輸送(MQTT)軽量でシンプルで、 オープンソースメッセージングプロトコル。 それはコミュニケーションのための最も広く使用されているプロトコルです モノのインターネット(IoT)や、機械・ツー・マシン(M2M)環境。 MQTTの主な目標は、IoTとの間でメッセージングとデータ交換を容易に 産業用IoT(IIoT)デバイス、センサーなど、帯域幅が制限されています。 IoT/IIoTデバイス利用 お問い合わせMQTTの特長 プロトコル公開サブスクリプションモデルで動作します。 デバイス(クライアント)がメッセージやデータを特定のトピックに公開し、受信するサブスクライブ 他のデバイスからのデータ。 TCP/IP 上で動作します。
ザ・オブ・ザ・MQTTの特長公開サブスクリプションモデルで動作します。 デバイス/クライアントの通信 しかし、クライアント間の通信は直接発生しません。 ではなく、MQTTブローカー。ブローカー行為 ミドルウェア、受信、 クライアント間でデータを配信する この公開サブスクライブモデルは、パブリッシャーと 加入者
クライアントは、パブリッシャーと購読者の両方を同時に実行できます。 MQTTでは、メッセージの交換は トピックの整理(MQTTトピックス)チャネルのような機能。 出版社がメッセージを送ることを望んでいるとき、メッセージがメッセージに公開されます センサー/温度のような特定のトピック。 そのトピックに興味を持つデバイスは、それを購読し、データを効率的に受信します。 プロセス全体 ブローカーによって管理され、 出版社のクライアントからのデータを転送し、その特定のトピックを購読しているクライアントに転送します。
ネットワークの問題や予期しない接続障害の場合、パブリッシャークライアントは、「最後のメッセージ」は、 説明を含むメッセージのキャッシュ サブスクライブクライアントのため。 ブローカーと加入者の間に接続がない場合、 ブローカーはメッセージを保存し、接続が再確立されると購読者に配信します。
MQテレメトリートランスポート(MQTT)は、通信を容易にする複数のメッセージタイプを定義しています。MQTTクライアントIoT の MQTT ブローカー システム。 各タイプは、コミュニケーションプロセスにおけるユニークな役割を担います。 様々なMQTTメッセージタイプの中で、 次の4つは重要なです:
1。 コネクタ– – CONNECT メッセージはクライアントが接続を開始するために送信されます MQTTブローカーで。 このメッセージは、ブローカーがクライアントを識別するのに役立ちます そして関係を確立して下さい。 CONNECT メッセージには、クライアントのID、接続などの詳細が含まれます。 オプション、ログイン資格情報。
2. 接続解除– – DISCONNECT メッセージはクライアントがMQTTと接続を閉じるために使用されます ブローカー。 このメッセージを送信すると、クライアントはブローカーにそれを通知しない コミュニケーションをとりたい。 これは、ブローカーがクライアントがオフラインで行くことを認識していることを保証します お問い合わせ 予期しない接続を経験するのではなく。
3。 パブリッシュ– – PUBLISH メッセージは、特定のトピックにデータを送信するために使用されます。 それはペイロードを含んでいます、 実際のデータであり、トピック名、サービスの品質(QoS)レベルなどのメタデータとともに、 ブローカーがメッセージを保持するかどうか。 PUBLISH メッセージを使用すると、データがデータから移動することができます ブローカーにクライアント, それは、そのトピックを購読し、他のクライアントに配布することができます.
4。 サブスクライブ– – クライアントやデバイスが望むときにSUBSCRIBEメッセージが送信されます 公開された特定のトピックに関するデータを受け取る 別のクライアントによって。 購読することで、クライアントは、関心のあるトピックをブローカーに伝えます。 おすすめ クライアントはすべてのメッセージを受信し始めます そのトピックに公開されました。 これは、デバイスが特定のタイプを受信したいブローカーに通知する方法です データ。
MQTT メッセージの種類と説明については、下の表をご覧ください!
ネットワーク帯域幅の必要性を減らすのでM2M通信に適しています。 また、対応可能です。 不安定なネットワークと開発の労力を削減します。 プロトコルは、管理されたデバイスとサーバーアプリケーション間でデータを交換するのに役立ちます。 使用するシステム モノのインターネット(IoT)は、相互接続のコレクションです 互いに通信できるオブジェクト。 このコンセプトのために、 メッセージキューイングテレメトリー輸送作品 お問い合わせ いくつかの正当化は次のとおりです。
MQTTのメリットは以下の通りです。
許可するアドレスへの期限
情報を共有するクライアント
進行中の表現
間の接続
クライアント
ブローカー
「Last Good」のストッキング
メッセージ
トピック
チェックイン TCP/IP接続の状態
データを受信できるように ウェブブラウザに直接
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 アプリケーションに適しています。
これらの要因は、産業のための推奨メッセージングプロトコルになります 信頼性の高い効率的なデータ交換を必要とするアプリケーション。
はい、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は低レイテンシと効率的なため、リアルタイムアプリケーションに適しています メッセージ配信。 公開/サブスクライブモデルは、インスタント通知を可能にします, ライブデータフィード、リモート監視、インスタントメッセージングなどのユースケースに最適です。