シナリオ: 外部ブローカからのライブ・データの取込み
外部MQTTブローカをサブスクライブし、Node-REDでゲートウェイおよびHVACメッセージを変換して、OCI IoTに取り込みます。
このシナリオは、デバイスまたはゲートウェイが外部MQTTブローカにテレメトリをすでに公開している場合に使用します。フローはMQTT-IN -> Function -> MQTT-OUTで、オプションのDebugブランチがあります。
タスク
前提条件
- 開始する前に、一般的なシナリオ設定を完了してください。この例では、
test.mosquitto.org:8883からデータを受信し、パブリック・トピックをアダプタ・トピックに変換して、OCI IoTデバイス・ホストに公開します。 0.0.0.0/0のNATゲートウェイを介したルート、またはランタイムが外部ブローカに到達できるようにする別の承認済ルートを含むプライベート・サブネット。- TCPポート
8883およびIoTデバイス・ホスト上のブローカへのアウトバウンドTLS接続を許可するネットワーク・セキュリティ・ルール。 - ゲートウェイ・デバイス・パスワードおよびIoTドメイン・デバイス・ホスト。
- 共通設定で説明されているMQTTX接続。
ネットワーク・リソースを作成する必要がある場合は、VCNの作成、サブネットの作成、NAT Gatewayの作成、VCNルート表の作成およびNSGの作成を参照してください。
フロー・ランタイムの作成
ノード-REDフローの構成
テスト・メッセージの公開
トラブルシューティング
- ブローカ・ホスト、ポート
8883、TLS信頼、サブスクリプション・トピック、QoSおよび認証の値を確認します。 - 各フロー・ランタイムに一意のMQTTクライアントIDを使用します。共有ランタイムでは、同じ
$share/fr-guide/source/+/+トピックを使用する必要がありますが、クライアントIDは異なります。 - MQTT-OUTでドメイン・デバイス・ホスト、ユーザー名としてゲートウェイ外部キー、およびゲートウェイ・デバイス・パスワードが使用されていることを確認します。
- ゲートウェイ・メッセージが
data上のデバイス・ホストに到達し、HVACメッセージでhvacs/<external-key>が使用されていることを確認します。 - 各HVAC外部キーが、ゲートウェイに関連付けられたアクティブな間接接続デバイスと完全に一致することを確認します。
詳細は、「IoTフロー・ランタイムのトラブルシューティング」を参照してください。
FAQ
- 外部ブローカはOCI IoTにデータを直接送信しますか?
- 番号MQTT-INは外部ブローカをサブスクライブし、ファンクション・ノードはトピックとメッセージを変換し、MQTT-OUTは結果をIoTドメイン・デバイス・ホストにパブリッシュします。
- フローによってMQTTトピックがリライトされるのはなぜですか。
- パブリック・トピックはソース・デバイスを識別します。ゲートウェイおよびHVACアダプタは、IoTデバイス・ホスト・トピック
dataおよびhvacs/<external-key>を想定しています。 - 共有サブスクリプション・トピックを使用する必要があるのはどのような場合ですか。
- 2つ以上のフロー・ランタイムが1つのサブスクリプション・グループでメッセージを分割する必要がある場合、
$share/fr-guide/source/+/+を使用します。1つのランタイムにsource/+/+を使用します。 - 別のMQTTブローカを使用できますか?
- はい。ブローカ接続値を置換し、そのブローカに必要なTLS、認証、DNS、ルートおよびセキュリティ・ルールを構成します。