MQTTを使用したAltair EmbedとAltair Panopticonの連携

Kosuke_IKEDA
Kosuke_IKEDA
Altair Employee

MQTTを使用したAltair EmbedとAltair Panopticonの連携方法を紹介します。

Altair Embedで演算したデータや計測したデータをPanopticonでリアルタイムに可視化することができます。


事前準備

今回はすべてローカル環境を使用します。

Panopticon(ローカル)のセットアップ方法はこちら

MQTTブローカ(ローカル)のセットアップ方法はこちら


Altair Embedの設定

MQTTを使用して、メッセージと値を送信します。メッセージはJSONを使用します。

下記Exampleを使用します。サイン波とのこぎり波を生成して、MQTTで送受信するサンプルです。

image

以下の構成となっています。

信号生成にて、JSON文字列作成とMQTT送信のタイミングを指定する5Hzのトリガーとサイン波、のこぎり波を生成しています。

JSON文字列生成にて、サイン波とのこぎり波にラベルを付与した文字列を生成しています。

MQTT送信にて、生成したJSON文字列をMQTTブローカに送信しています。

MQTT受信にて、MQTTブローカに送信された文字列を受信しています。

image

サンプルでは、インターネットのブローカを使用していますが、今回はローカルインストールしたブローカを使用したいので、

MQTT Publishのプロパティを以下のように変更します。Topic名はEmbedとしました。

Keep Aliveはデフォルト0ですが、60程度に設定いただくと送信が安定します。

image

PowerShellを起動し、Topic名'embed'で受信状態とします。

./mosquitto_sub -t 'embed'

Embedを実行すると、送信したJSON文字列がPowerShellのウィンドウに表示され、ただしくローカルのMQTTブローカに送信できていることがわかります。

以上でEmbedの準備は完了です。

image


Altair Panopticonの設定

Panopticonを起動して、新規ワークブックを作成します。

ワークブック名はEmbed Visualizationとしました。

image


データテーブルの作成

まずはデータテーブルを作成します。

image

データソースとしてMQTTを選択します。

image

今回はローカルのブローカを使用しますので、デフォルトのtcp://localhost:1883のままでOKです。

トピック名をembedとします。合わせて、データテーブルの名称もembedにしておきます。

image

データ列を作成します。

Embedを実行し、Topic名embedのデータが送信されている状態で、Panopticonの列作成をクリックします。

そうすると、JSONで定義したラベルを自動認識して、列が作成されます。

今回はサイン波とのこぎり波の二つのデータに対応したsinとsawが作成されます。

image

これらのデータをリアルタイムで表示させるための設定を行います。

まずは、下記のリアルタイム設定のID列をLevel_0とし、時間ID列を[Automatic Time ID]、時間ID列名称をAutomatic_Timestamp_Columnとします。

image

次に、変換設定にて時系列分析を有効化する変換をオンにしてください。

以上でデータの準備は完了です。右上のボタンで保存してください。

画面左下のデータ列のアイコンが時系列アイコンになっていれば成功です。

image

データの更新時間を変更します。デフォルト900 (ms)です。Embed側からの送信が5Hzですので、200 (ms)に変更しておきます。

再度保存して、左上のボタンで戻ります。

image


グラフの作成

ダッシュボードをマウスでドラッグすることで、グラフを配置できます。

時系列のグラフを作成する場合は、時系列ビジュアライゼーションからグラフを選択します。まずはニードルを配置してみます。

image

のこぎり波のグラフを表示するには、データテーブルのsawをドラッグアンドドロップでY軸に設定します。

生値を表示する場合は、集計なしとしてください。

image

同様に折れ線でサイン波を表示してみます。

image

Y軸をsinとします。

できましたら、右上の保存、ビューとクリックします。

image


リアルタイム可視化

Embedを実行するとPanopticonに リアルタイムでグラフが描画されました。


Altair EmbedはHardware in the loop / Human in the loopに対応しており、実機を含めた様々なデータを取り扱うことができます。

Altair Panopticonで様々なダッシュボートを作成してみてください。