MQTT を使った遠隔モニタリングをテーマに、患者さんに装着した心電図から心拍数(BPM)をリアルタイムに近い状態で取得し、モニタ画面に患者さん毎の心拍数を表示します(IRIS の MQTT インバウンドアダプタを利用したメッセージの Subscribe をご体験いただけます)。
サンプルの動かし方について詳しくは、【GettingStarted with IRIS】MQTT を使った遠隔モニタリング(IRIS の MQTT アダプタを試してみよう!) でご紹介しています。ぜひご参照ください。
この READMEでは、サンプル開始までの簡易説明をご紹介します。
サンプル開始手順(図解付き詳細はぜひコミュニティの記事をご参照ください)
-
サンプルをダウンロードします
git clone https://github.com/Intersystems-Jp/Samples-MQTT-EKG-Devices -
サンプル用ディレクトリに移動します。
cd Samples-MQTT-EKG-DevicesWindows 以外でお試しいただいている場合は、setup.sh を実行します。
./setup.sh -
コンテナを開始します(コンテナが作成されていない場合はビルドします)。
2023/5/24現在の最新リリースのコンテナ版IRISを使用しています。利用されるバージョンを変更される場合は、Dockerfileの2行目を変更してください。使用可能バージョンはInterSystemsコンテナレジストリでご確認いただけます。
docker-compose up -d -
MQTTブローカーのトピックを作成します。
この実行により MQTT ブローカーへ Publish するトピックが作成されます
docker-compose exec iris iris session iris -U %SYS "##class(App.Installer).InitializeDocker()"【補足】
IRISの起動が完了していないと、上記メソッド実行後、以下のメッセージが出力されます。Sign-on inhibited: Startup or Installation in progressこのメッセージが表示される場合は、しばらく待ってから再度実行してください。
正常に実行できると、以下のように演習環境用のトピックが表示されます。
You have successfully initiated the MQTT exercise Please take note of your topic top-level string: /Student_4908/acmeHospital/EKG/# press enter to continueEnterで元の画面に戻ります。
-
プロダクションを開始
サーバ名はご利用環境に合わせてご変更ください
ユーザ名:SuperUser、パスワード:SYS でログインできます。
画面を開いたら「開始する」ボタンをクリックします。
-
app.htmlを開き Publish 開始!
URL例のサーバ名はご利用環境に合わせてご変更ください
この画面を開くと MQTT ブローカーへ Publish を開始します。
患者ごとの心拍数の確認のため、ユーザポータルを開きます。
HTML画面(app.html)の追加ボタンや心拍数を変更するスライドバーを利用するとユーザポータルの表示が変化し、IRIS の MQTT アダプタを利用して MQTT ブローカーからトピックを Subscribe していることを確認できます。
管理ポータルの細かな操作例については、【GettingStarted with IRIS】MQTT を使った遠隔モニタリング(IRIS の MQTT アダプタを試してみよう!) をぜひご参照ください!
-
終了方法
app.html を閉じることで MQTT ブローカーへの Publish を終了します。
コンテナの停止は以下の通りです
docker-compose stopコンテナを破棄する場合は以下の通りです。
docker-compose down
このサンプルは、Monitoring Remotely with MQTT で公開されているサンプル:https://github.com/intersystems/Samples-MQTT-EKG-Devices に以下の変更を加えています。
- タイムゾーンをTokyoに変更(docker-compose.yml)
- Dockerfileに指定のイメージを 2021.1.0.215.3 に変更
- コメント文の追加(Solution.HeartRate.cls/Solution.MetricMQTT.cls)
- app.html に説明を追記とApacheコンテナから起動できるように修正
- IRISを日本語ロケールに変更
- MQTT.code-workspaceにユーザポータルとプロダクション画面のリンクを追記
