Skip to main content

ライブラリ: MQTT Client SL

MQTT(メッセージキューテレメトリトランスポート)は、デバイス間でテレメトリデータをメッセージとして送信できるオープンソースのIoTプロトコルです。そのため、からメッセージを送信できます CODESYS コントローラーを MQTT ブローカーに送信し、トピックに基づいてメッセージをサブスクライブします。

  • デバイスは常に MQTT ブローカーを介して通信します。

    例: エクリプスモスキート

  • メッセージはトピックに基づいて送信および購読されます。トピックはパスに対応します。

    例: device1/temperature

  • メッセージの購読は、トピック フィルターを指定することによって行われます。ワイルドカードも使用できます (+ 1つのレベルについては、 # 複数のレベルの場合)。

  • メッセージの形式は固定されていません。 JSON 文字列または任意のデータ構造を送信できます。

. の機能ブロック MQTT Client SL 図書館:
  • MQTTリンクを確立するためのファンクションブロック(MQTTClient

  • メッセージを送信するための機能ブロック (MQTTPublish)

  • メッセージを購読するための機能ブロック (MQTTSubscribe)

. サポートされている機能:
  • MQTT V3.1.1 および MQTT V5.0 に基づくメッセージのパブリッシュおよびサブスクリプション

  • TLS暗号化

  • クライアント証明書のサポート(証明書ハンドルの転送)

  • 「サービス品質」のサポート:

    遺言、発行者、購読者の場合は 0、1、2 (QoS0、QoS1、QoS2)

  • トピックのデータ型: WSTRING

  • トピックの最大サイズ: 1024

  • 最大パッケージ サイズとペイロード サイズは、パラメータ リストを使用して設定できます。

  • マルチタスクとマルチコアのサポート

    MQTTClient、MQTTPublish、および MQTTSubscribe はそれぞれ、異なるタスクまたは CPU コアで実行できます。

  • 「最後の意志」メッセージ (QoS0QoS1QoS2)

  • ワイルドカード (#+)

  • MQTT または WebSocket

. サポートされている MQTT V5 機能:
  • Session Expiry

  • Message Expiry

  • Reason Code on All ACKs

  • Server Disconnect

  • Payload Format and Content Type

  • Request / Response

  • Shared Subscriptions

  • Subscription ID

  • Topic Alias

  • Flow Control

  • User Properties

  • Maximum Packet Size

  • Optional Server Feature Availability

  • Enhanced Authentication

  • Subscription Options

  • Will Delay

  • Server Keep Alive

  • Assigned ClientID

  • Server Reference

メッセージのスループット

最大メッセージ スループット (1 秒あたりのメッセージ数、mps) は、使用するハードウェア、メッセージ サイズ、QoS 設定、および構成 (パラメーター リスト MQTTParam、サイクル タイム) によって異なります。

1. 測定例

構成:

  • 地元のモスキートブローカー

  • 地元 CODESYS Control (出版社1社)

  • 地元 CODESYS Control (加入者1名)

  • MQTTParam (デフォルトの設定)

  • メッセージサイズ: 1024バイト

  • サイクルタイム: 1ms

結果:

  • QoS0 => 約190mps

  • QoS1 => 約130mps

  • QoS2 => 約90mps



ヒント

例を参照してください。 MQTT クライアント SL ライブラリを使用する