Twin Activateを使用したMQTTブローカーへの接続
Tutorial Level: Intermediate MQTT(Message Queuing Telemetry Transport)プロトコルを使用して、クライアントからIoTプラットフォーム(外部ブローカー)にパブリッシュおよびサブスクライブします。
このチュートリアルの前提条件
このチュートリアルには以下のソフトウェアとアカウントが必要です:
- Altair Twin Activate
- Altair SmartWorksプラットフォームの無料アカウント: https://studio.swx.altairone.com/
このチュートリアルのファイル
MQTT Pub IoT Studio.scm、MQTT Sub IoT Studio.scm
概要
Twin Activateの通信プロトコルのオプションの1つは、IoT(モノのインターネット)で使用される有名な通信プロトコルであるMQTTです。ローカル、外部を問わず、あらゆるMQTTブローカーへのパブリッシュとサブスクライブの両方を、迅速かつ軽快に行うことができます。
トピックにメッセージを発行する際、Twin Activateはソフトウェアからブローカーにデータを送信します。トピックにサブスクライブすると、ブローカーからソフトウェアにデータを受信します。
このチュートリアルでは、外部MQTTブローカーは、Altair SmartWorks上にあります。これは、スマート製品やコネクテッド製品の開発に必要な技術をすべて網羅したエンドツーエンド Altair IoTプラットフォームです。SmartWorksでは、実世界でのエンティティを表すThingsを作成することができます。アセット、部屋、建物のような実世界のオブジェクトや、タスクやプロセスのような概念に関する情報を格納します。これらのThingsは、Twin Activateがパブリッシングしている場合はデータを受信し、Twin ActivateがMQTTトピックにサブスクライブしている場合はデータを送信します。IoTプラットフォーム上のデータを使って、ダッシュボードを作成することができます:https://help.altair.com/smartworks/topics/mqtt_dashboard.htm?hl=mqtt。

IoT Studio-IoTプラットフォームでの一般的なセットアップ
-
IoT Studioで を選択します。
Thingが作成されると、Twin Activateからデータを受け取り、IoT Studioに保存されるプロパティが作成されます。
-
を選択します。
-
このオブジェクトに帰属するPropertiesを作成します:
-
IoT StudioでMQTT認証情報を設定するには、 を選択します。
IoT StudioのMQTTトピックへのパブリッシュ
- Twin Activate環境で、 を選択します。
-
ブロックConnectionタブで、Hostname、 Credentials、および Topicエンドポイントを、Space名、Thing ID、およびこの場合はプロパティ (必須ではありません) で、構造に従って設定します:
'spaces/<space-name>/things/<thing-id>/properties'注: メイントピックの構成はURL
href
で確認できます。 -
ブロックパラメータータブに、 入力数(この場合、振幅と時間の2つ出力数)と Messageがあることを確認してください。IoT Studioにデータを送信するには、JavaScript Object Notation(JSON)形式を使用する必要があります:
{ "obj1":{ "amplitude": "%%1", "time": "%%2" } }
-
MQTT PUBブロックのセットアップを行った後、Signal Generatorsブロックのいくつかを入力に接続し、SampleClockを接続してブロックをアクティブにします:
-
IoT Studioに送信します。
を1に設定します。シミュレーションはにリアルタイムでデータを
-
実行をクリックします。
MQTTプロトコルを使用して、Twin Activateから送信されたデータがMQTTプロトコルを使用してIoT Studioで受信されます。
IoT StudioのMQTTトピックへのサブスクライブ
- Twin Activate環境で、 を選択します。
-
ブロックConnectionタブで、Hostname、 Credentials、および Topicエンドポイントを、Space名、Thing ID、およびこの場合はプロパティ (必須ではありません) で、構造に従って設定します:
'spaces/<space-name>/things/<thing-id>/properties/<property-name>'
-
ブロックパラメータータブに、 出力数(この場合、振幅と時間の2つ出力数)と Messageがあることを確認してください。IoT Studioから受信するため、JSON形式を選択し、1つのオブジェクトからメッセージを受信するため、各属性を受信するために以下のフォーマットに準拠する必要があります。
-
MQTT SUBブロックのセットアップを行った後、Signal Viewersブロックのいくつかを出力に接続し、SampleClockを接続してブロックをアクティブにします:
-
IoT Studioに送信します。
を1に設定します。シミュレーションはにリアルタイムでデータを
-
実行をクリックします。
MQTTトピックにサブスクライブすると、トピックに送信されたメッセージはTwin Activateで受信されます。たとえば、あるデバイスが作成したオブジェクトの属性に関するメッセージをIoT Studioに送信した場合、Twin ActivateがIoT Studioに接続されていることを考慮すると、これらのメッセージはソフトウェアに表示されます:
MQTTプロトコルを使用して、IoT Studioから送信されたデータがMQTTプロトコルを使用してTwin Activateで受信されます。