Modbusは、1979年に初めて登場したシリアルCommunicationプロトコルで、産業用デバイスを接続するための標準プロトコルです。MQTTは20年以上前に登場しましたが、2つのプロトコルを組み合わせることで、IoTの規模と接続性を深い組み込みデバイスに提供できます。
次の図は、これらのプロトコル間の一般的な関係を示しています。
IoTCommunicationをサポートするソリューションとしてのIoTゲートウェイでは、ModbusとMQTTを見て、IoTにおける違いと相互補完性を理解しましょう。

Modbus
1979年の最初の登場以来、ModbusはRS 485などの複数の物理リンクをサポートする包括的なプロトコルセットへと進化しました。Modbusのコアは、マスター/スレーブモードを使用するシリアルCommunicationプロトコルです。ホストはスレーブにリクエストを送信し、スレーブは応答します。標準的なModbusネットワークでは、1台のホストと最大247台のスレーブがexistenceします(ただし、2バイトのアドレス指定を使用すると、この限界は大幅に増加します)。
RS 485では、マスターとスレーブ間のCommunicationは機能コードを示すフレームで行われます。関数コードは、独立した入力の読み取り、先入れ先出しキューの読み取り、診断機能の実行など、Operationする機能を識別します。その後、スレーブは受信した関数コードに応じて応答します。応答は比較的単純で、バイトのセットで示されます。したがって、スレーブはスマートデバイスであっても、単一のセンサーを持つ単純なデバイスであってもよい。
この説明から、Modbusプロトコルは非常にシンプルですが、プロトコルとしてのオープンな性質により、業界全体やSCADAシステムにとって実用的なCommunicationプロトコルになっています。
メッセージ·キューテレメトリ転送{めっせーじゅーてん
MQTTは、モノのインターネットインタラクション用に設計されたオープンで軽量なマシン間プロトコルです。MQTTネットワークには、MQTTブローカー間の相互作用を調整するMQTTブローカーが含まれる。エージェントはパブリッシャであり、ユーザが使用する情報をパブリッシュします次の図を参照。
メッセージキューイングテレメトリトランスポートネットワークにおける役割要因

MQTTはリソースに制約のある組み込みデバイス向けに設計されているため、要件は非常に少ない。設置面積が少ないことに加えて、MQTTは、低帯域幅ネットワークを介してCommunicationする場合でも、優れた通信効率を提供し、HTTPなどのプロトコルと比較してオーバーヘッドが非常に少ない。3Gネットワークでも、MQTTのスループットはHTTPを使用したREpresentational State Transfer(REST)よりも93倍高速であり、5G/4Gではさらに向上します。
MQTTは、特定のトピックに対して実装するアクションを最小限の方法で示すことができ、パブリッシュ/サブスクライブモードを実装できます。エージェントは、トピックを公開または購読する前にブローカーに接続します。完了すると、エージェントはブローカーから切断されます。MQTTメソッドの定義
接続-MQTTブローカーとの接続を確立します。
Disconnect:MQTTブローカーとの接続を切断します。
Publish-MQTT Brokerにトピックを公開します。
Subscribe:MQTT Brokerからトピックを購読します。
登録解除-MQTTブローカーからトピックを登録解除します。
下の図に示すように、MQTTブローカーを使用したパブリッシャーとサブスクライバの簡単なインタラクションを示しています。図示されるように、情報作成者はMQTTブローカーに接続される。同様に、情報消費者は、MQTTブローカーに接続される。Consumer Subscriptionトピックここでは/home/alarms/1/statusとして定義。このサンプル·トピックでは、ホームページ上のゾーン1のアラート·システムの状態変化を識別します。クリエイターが共有する情報を持っていると、ブローカーにメッセージを発行し、ブローカーはそのトピックを購読しているすべてのユーザーに情報を共有します。
メッセージ·キューテレメトリトランスポート·エージェント間の単純なやり取り

ここで共有するテーマ構造に注意してください。これはファイルシステム階層に似ており、トピックの構造を簡素化します。このタイプのリソース階層は、RESTのようなプロトコルアーキテクチャでも一般的です。
MQTTでは、サブスクリプションプロセスを簡素化するためにワイルドカード形式も使用できます。ユーザーがすべてのアラートのステータスを取得したい場合は、/home/alarms/+/statusに直接登録することができます。このトピックは、すべてのアラートステータスの変更をユーザーに通知します。サブツリー全体は、/homeの下にあるすべてのイベントをサブスクライブできるテーマ/home/#でサブスクライブすることもできます。
サービスの質
MQTTでは、サービス品質QoSを定義できます。MQTTには3つのQoSレベルがあります。
1、QoS 0。このレベルは“最大1回”の配送最适を示します。メッセージは確認されないので、これは簡単な方法です。
QoS 1の2。これは“少なくとも1回”の配達を意味します。ユーザーは複数回メッセージを受け取ることができますが、受信者は受信を確認できます。
QoS 2と3。最も遅いが最も保証されたサービス品質レベルは、レベル2です。QoS2は“Once Only”を意味し、4段階の配信ハンドシェイクを含んでいます。このクラスは最も遅いが、最も安全である。
選択するQoSレベルは、データとその配信の重要性によって異なります。
Leave a Reply