モジュールの概要
Receiverは、IoTデバイス (HTTP POST、MQTTサーバー、Websocketsサーバー) からデータを受信し、最終的に3rdパーティが発行したデータをサブスクライブします (MQTTサブスクライブ、Websocketsサブスクライブ)。認証とメッセージ検証のメカニズムを提供して、データのセキュリティと整合性を確保します。
Receiverが動作可能ないくつかのモードがあります (エンドポイントタイプ):
- MQTTサーバー - モジュールはMQTTブローカーとして実行されているため、デバイスはメッセージをサブスクライブまたは発行できます
- MQTT consumer - モジュールは既存のMQTTブローカーをサブスクライブし、そこからメッセージを受信しますsubscribe - モジュールが既存の MQTT ブローカーを購読し、そこからメッセージを受信します
- HTTP POST consumer - モジュールは、デバイスからのデータを含むHTTP POSTリクエストを受け入れます
- UDPサーバー - モジュールは、デバイスからのデータを含むUDPデータグラムを受け入れます
- Telnetサーバー/クライアント - モジュールはtelnetサーバーまたはtelnetクライアントとして実行されています
- Websocketsサーバー/クライアント - モジュールはWebsocketsサーバーまたはクライアントとして実行されています
- RTSPクライアント - RTSPビデオストリームに接続し、画像データおよびメタデータをキャプチャし、さらに処理することができるモジュールです
- Keyence MC serial/TCP - バイナリモードとアスキーモードでシリアルとTCP接続でPLCに接続するモジュール です
- Modbus PLC - Modbus 通信プロトコルをサポートする PLC4X フレームワークを実装したモジュールです
- PLC4X - AB-Ethernet, ADS /AMS, BACnet/IP, CANopen, DeltaV, DF1, EtherNet/IP, Firmata, KNXnet/IP, OPC-UA, S7 およびトランスポート(TCP、UDP、ローソケット、シリアルポート、キャンバス、SocketCAN、PCAP リプレイなど)のような様々なプロトコルをサポートする拡張可能モジュールです。
- カスタムモジュール - IoT Controller SDKを使用して実装されたモジュールで、豊富なオプションがあります。カスタム - モジュールはカスタム実装を使用しています
モジュールのライフサイクル
モジュールがデータを受信する方法に関係なく、メッセージがReceiver側に到着すると、次のプロセスが適用されます:
- メッセージはReceiverによって受信されます
- 認証フローが実行されます
- メッセージ形式が決定されます (XML、JSON、bytesなど)
- メッセージは正規化された内部形式に変換されます
- メッセージルールがチェックされます
- メッセージルールチェックを通過すると、メッセージは内部メモリに格納され、値はAudit(監査)モジュールに伝播されます (最後に受信したメッセージとして)
- 渡されない場合、メッセージは拒否/無視されます
認証
クライアントは、次の方法を使用して認証できます:
- basic/digest - ユーザー名/パスワードベースの認証
- client SSL certificate - クライアントは自身を認証するためにSSL証明書を提供します
- source IP - 特定のIPアドレスからのリクエストのみが許可されます
メッセージルール
Receiverによって収集された各メッセージは、構成で定義されたメッセージコンテンツルールを評価するReceiverのメッセージプロセッサによって処理されます (receivers[].messageRules を参照)。メッセージルールには次の3つのタイプがあります:
- Content constraint - モジュールは、メッセージに特定のコンテンツが含まれているかどうかをチェックします
- Structure constraint - モジュールは、メッセージに特定の構造が含まれているかどうかをチェックします
- Device ID filter - モジュールは、device IDがホワイトリストにあるかどうかをチェックします
メッセージルールを通過しない場合、メッセージは拒否されます。それ以外の場合、Receiverはそれらを内部ストレージに格納します。
ロール
このモジュールは次の役割をサポートします:
Module | Role | 許可された操作 |
---|
Receiver | SENSOR | コントローラにデータを送信できます (HTTP POST, MQTT_PUBLISH, ...) |
Receiver | VIEWER | GET /status, GET /data |
Receiver | EDITOR | GET /data, GET/status, DELETE /data |
モジュールのステータス
このモジュールは、次のいずれかのステータスになります:
Verticle | Status | 説明 |
---|
Receiver | UP | モジュールは稼働しています。特定の制限なしで動作します。 |
PAUSED | モジュールは一時停止しており、データを受信していません。"GET /"へのリクエストは、レスポンスコード405で終了します。 |
APIエンドポイント
このモジュールは、次のHTTPエンドポイントを提供します: