3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MQTTプロトコルとは何ですか?

Last updated at Posted at 2021-08-22
1 / 2

MQTTは、IOTおよびIIOTデバイス間でメッセージを伝送する、軽量のパブリッシュサブスクライブ型ネットワークプロトコルです。MQTTプロトコルは、通常、TCP/IP上で動作します。小さなコードフットプリント」が求められる遠隔地との接続や、ネットワークの帯域幅が限られている場合に設計されています。MQTTプロトコルは、IIOTデバイス、IOT、スマートホームシステム、ホームオートメーションシステムのアプリケーションに理想的な選択肢であり、広く使用されています。

MqttDeskは、Windows MQTTクライアント、Linux MQTTクライアント、macOS用MQTTクライアント、Raspberry Pi用MQTTクライアントとして重要な役割を果たしています。https://www.ioctrl.com/MQTT
任意のマイクロコントローラをMqttDesk Windows MQTT Clientに接続し、MQTT Brokerのアリを使って任意のIOT、IIOTデバイスをリモートで監視します。

MQTT Protocol Structure.png

ESP8266、ESP32、Raspberry Pi、Arduinoなどのエンドノードが、他のMQTTクライアントと通信することは、メーカー、フリーランサー、プロトタイプに最適なユースケースです。

IOT/IIOT/スマートホームシステム/ホームオートメーションシステムにおいて、MQTTはどのように重要な役割を果たしているのか?

MQTTプロトコルでは、メッセージブローカーと多数のクライアントという2種類のネットワークエンティティが定義されています。MQTTブローカーは、クライアントからすべてのメッセージを受信し、メッセージを適切な宛先クライアントにルーティングするサーバーです。
MQTTブローカーは、Raspberry Pi、ESP8266、ESP32、Arduinoなどの小型コントローラでもMQTTクライアントとして動作する。
MQTTクライアントとは、MQTTライブラリを実行し、ネットワーク経由でMQTTブローカーに接続するあらゆるデバイス(マイクロコントローラから本格的なサーバーまで)を指す。パブリッシャーは、配信する新しいデータがあると、接続しているブローカーにそのデータを含むコントロールメッセージを送信します。MQTTブローカーは、そのトピックを購読しているMQTTクライアントに情報を配信します。パブリッシャーはサブスクライバーの数や位置に関するデータを持つ必要はなく、逆にサブスクライバーはパブリッシャーに関するデータを設定する必要はありません。https://www.ioctrl.com

MqttDesk MQTT Client Charts.gif

ブローカーが現在のサブスクライバーがいないトピックのメッセージを受信した場合、メッセージのパブリッシャーがメッセージをリテインメッセージとして指定していない限り、ブローカーはそのメッセージを破棄します。保持されたメッセージとは、retained フラグが true に設定された通常の MQTT メッセージのことです。ブローカーは、最後に保持したメッセージと、選択したトピックに対応するQoSを保存します。

保持されたメッセージのトピックに一致するトピックパターンをサブスクライブした各クライアントは、サブスクライブ後すぐに保持されたメッセージを受け取ります。ブローカーは、リテインされたメッセージをトピックごとに1つだけ保存します。これにより、あるトピックの新しいサブスクライバーは、パブリッシャーからの次の更新を待たずに、最新の値を受け取ることができます。

パブリッシングクライアントが初めてブローカに接続したときに、ブローカが、パブリッシングクライアントがブローカから予期せず切断されたことを検出した場合に、サブスクライバに送信するデフォルトメッセージを設定することができます。クライアントはブローカとしかやりとりしませんが、システムには、現在のサブスクライバのトピックに基づいてデータを交換する複数のブローカサーバが含まれている場合があります。MQTTの最小制御メッセージは、わずか2バイトのデータである。制御メッセージは、必要に応じて256メガバイト近くのデータを伝えることができます。クライアントとブローカーの接続や切断、データの公開、データの受信確認、クライアントとサーバー間の接続の監視などに使用されるメッセージタイプが定義されています。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?