この Howto では Armadillo に漏水監視コンテナをインストールして、接続した漏水センサから漏水を検知します。 また、漏水検知時には以下の処理が可能です。
- クラウド経由でのユーザへのメール通知
- Armdillo に接続した USBカメラを用いてクラウドへの写真アップロード
- Armdillo に接続したパトランプ点灯
漏水監視コンテナは Node-RED のフローを用いて設定します。今回クラウドにはソラコムプラットフォームを使用します。 以下にシステム構成図を示します。
システム構成
※ Node-RED は、OpenJS Foundation の米国およびその他の国における登録商標または商標です。
必要機材
品名 | 数量 | 費用 | 備考 |
---|---|---|---|
Armadillo-IoT A9E | 1 | 42,900円(税込) | Armadillo-IoTゲートウェイ A9E Cat.1 bis+WLANモデル 開発セット (AG9130-C03D0) |
漏水センサ | 1 | エイブリック製「バッテリレス漏水センサ」 - 無線タグ: S-CBTGAAAC - センサリボンⅠ 2.0m: S-CBSSAAAC-002) 価格はエイブリック社代理店にお問い合わせください。 |
|
(オプション) パトライト(12V駆動型) |
1 | 約9,300円 | オプションです。 漏水を検知した時に点灯させることができます。 LR5-101PJNW-Rを使用しました。 |
(オプション) USB Webカメラ (UVC規格対応) |
1 | 約8,500円 | オプションです。 漏水を検知した時に撮影した画像をクラウドにアップロードできます。 今回はロジクールC920s を使用しました。 |
(オプション) 漏水センサ死活監視タイマ |
1 | オプションです。 価格はエイブリック社代理店にお問い合わせください。 |
手順
設定手順は以下です。
1. Armadillo に漏水センサ類を接続
2. Armadillo に漏水監視コンテナをインストール
3. 漏水監視コンテナのフローに漏水センサ情報を設定
4. 動作確認
5. ソラコムプラットフォームの設定
6. 漏水検知動作の確認
クラウド接続が不要な場合はソラコムプラットフォームの設定以降は不要です。
1. Armadillo に漏水センサ類を接続
Armadillo の電源投入前に漏水センサを接続します。 USBカメラを用いた写真のアップロード、パトランプの点灯を行う場合はそちらも接続してください。 接続後、Armadillo を起動して下さい。
漏水センサと無線タグの接続
漏水センサのマニュアルは、エイブリック社のダウンロードページから入手してください。
漏水センサと無線タグを箱から出して、接続します。 漏水センサの死活監視タイマを使う場合は、死活監視タイマも接続します。死活監視タイマの接続と使用手順は、死活監視タイマを漏水センサに接続 で説明します。
漏水センサは、センサのリボンが水で濡れると微弱な電力を発電して、無線タグから BLE パケットを送信することで漏水を通知します。Armadillo が、漏水センサの無線タグが送信する BLE パケットを WLAN コンボモジュールで受信して漏水監視動作を行います。 詳細は、エイブリック社の製品紹介ページをごらんください。
死活監視タイマを漏水センサに接続(オプション)
死活監視タイマは、漏水センサのリボンの、無線タグを接続したのとは反対側の端のコネクタに接続します。死活監視タイマを使用する場合は、死活監視タイマ有無設定(オプション) を参照して、漏水監視コンテナのフローに死活監視ありを設定してください。
パトライトの接続(オプション)
パトライトに、Armadillo の端子台にある接点出力を接続すると、漏水検出した時にパトライトが点灯します。この Howto では、赤色 LED が一つの、12V 駆動型のパトライトを使用します。パトライト(LR5-101PJNW-R)から出ている8本のリード線のうち、以下の3本を、Armadillo の端子台と次の通りに接続してください:
- 赤 -> 端子台の4番ピン(DO1A)
- 灰 -> 端子台の12番ピン(GND)
- 黄 -> 端子台の11番ピン(VIN)
また、パトライトのリード線に加え、Armadillo の端子台のピン同士の接続も必要です。5番ピン(DO1B)1と2番ピン(GND)を接続してください。これにより、端子台の12番ピン(GND)には、2本の線が接続している状態になります。
- 端子台の5番ピン(DO1B) -> 端子台の2番ピン(GND)
以下に配線図を示します。
USB カメラの接続(オプション)
Armadillo の USB ポートに UVC 対応の USB カメラを接続すると、漏水検出した時に、USB カメラで撮影した静止画をクラウドにアップロードします。 USB カメラを USB ケーブルで Armadillo に接続し、周囲を撮影したい漏水センサの方を向けて設置してください。
2. Armadillo に漏水監視コンテナをインストール
ABOS Web を使用して漏水監視システムのインストールが可能です。 ABOS Web についてはマニュアルの以下をご参照ください。
ABOS Web を使用した SWU イメージのインストール方法についての詳細はマニュアルをご参照ください。
漏水監視システム用の Node-RED コンテナの SWU イメージは以下からダウンロードしてください。
3. 漏水監視コンテナのフローに漏水センサ情報を設定
Armadillo が再起動したら漏水監視コンテナが起動しています。
漏水監視システムにアクセスするために、Web ブラウザ経由で http://armadillo.local:1880
にアクセスしてださい。
漏水監視コンテナのフローで、監視対象に設定できる漏水センサは最大4個です。設定したセンサのうちのどれか一つでも漏水検出したら以下の処理を行います。
- 「漏水センサ情報初期化」ノードに識別番号を設定した漏水センサが BLE で送信する漏水通知を監視して、漏水を検出したら以下を実行:
- パトライトの点灯、同時に Armadillo の LED_APP を点滅
- クラウドサービスに、漏水センサの識別番号を含めた漏水検知通知を送信
- 漏水を通知したセンサが、撮影対象に設定されている場合、USB カメラで撮影した画像をクラウドサービスにアップロード
- 漏水検出後、漏水が止まったと判定するまでの間、30分おきに上記の動作を繰り返す
- 漏水検知後、5分以上漏水通知を行わなければ、漏水が止まったと判定して以下を実行:
- パトライトと LED_APP を消灯
- クラウドサービスに、漏水センサの識別番号を含めた漏水検知解除通知を送信
また、死活監視タイマを漏水センサに接続した場合は、漏水センサの無線タグから、約12時間おきに死活監視定時信号を送信します。
- 死活監視定時信号を監視することで、漏水センサが故障した時に検出可能
- 漏水監視システムが死活監視異常を検出すると、LED_WWAN を点滅させ、クラウドサービスに死活監視異常通知を送信
漏水センサ情報の設定のために、漏水監視システムのフローの中にある以下のノードを設定します。
漏水センサ情報初期化
「漏水センサ情報初期化」という名前の function ノードで初期化処理で監視対象の漏水センサを設定します。漏水センサに記載されている識別番号(マイナー番号)を、"sensors
" の値の配列に記入してください。以下ではデフォルトでは 2741
を設定しています。
この値を、手元の漏水センサの識別番号で書き換えてください。 漏水センサの数が4未満の場合は、余る配列要素の値を例のように
-1
を設定してください。
USB カメラ撮影対象の漏水センサも、この function ノードの初期化処理で設定します。撮影対象の漏水センサの識別番号を、"camera_target
" の値に記入してください。上の方の例では、camera_target の値が -1
となっていますので、これを書き換えてください。USBカメラを使用しない場合は、設定は不要です。以下は "camera_target" を漏水センサの識別番号に設定した場合の例です。
死活監視タイマ有無設定(オプション)
死活監視タイマがある場合は死活監視タイマ有効に設定します。死活監視タイマの有効/無効の設定は、「死活監視タイマ有無設定」という名前の change ノードで行います。 この change ノードのプロパティ設定画面で、ルールの「代入する値」を true
にすると死活監視タイマ有効になります。
編集後はデプロイを押して、Armadillo に変更を反映させてください。
4. 動作確認
漏水センサが送信する BLE パケットを Armadillo が受信しているかどうか確認します。漏水監視システムの フローは、Armadillo の LED の点灯動作で受信状況を表示します。この動作は、次の通りです:
- 漏水センサからの BLE パケットを受信すると、LED_SYS を10秒間ゆっくり点滅させて、10秒経つと点滅を停止
- 漏水センサからの BLE パケットを受信した時に、受信信号強度が十分なら LED_APP を10秒間点灯させて、10秒経つと消灯
設置した漏水センサに後述する方法で BLE パケットを送信させてみて、送信した時に LED_SYS が10秒間点滅・LED_APP が10秒間点灯することを確認してください。LED_SYS が点滅するだけで LED_APP が点灯しなければ、受信信号強度が弱いので、漏水センサの設置場所を調整してください。 漏水センサに BLE パケットを送信させる方法は、次の通りです。詳細は、漏水センサのマニュアルをご覧ください。
- 死活監視タイマなしの場合
漏水センサのリボンに少量の上水(150ul~1cc程度)を垂らします。垂らした上水でリボンが濡れると、30秒~5分で BLE パケットを送信します。
- 死活監視タイマありの場合
死活監視タイマのスイッチを押します。スイッチを押すと、死活監視タイマの LED が点灯して、0~3分で BLE パケットを送信します。
Armadillo の LED の点灯動作が確認できたら、正常に動作しています。 また、クラウドとの接続確認をする場合は以下に進んでください。
5. ソラコムプラットフォームの設定
クラウドへの送信を確認する場合はソラコムプラットフォームの設定が必要です。以下は利用するサービスの一覧です。
-
SORACOM Air
IoT 向けのデータ通信 SIM を提供するサービスです。 特定地域向け IoT SIM をArmadillo に装着します。 -
SORACOM Harvest
IoTデバイスからのデータやファイルを収集・蓄積するサービスです。 SORACOM Harvest Data と SORACOM Harvest Filesの2種類があり、今回は両方使用します。 -
SORACOM Lagoon
ダッシュボード作成・共有サービスです。 IoT デバイスから SORACOM Harvest に集めたデータを可視化することができます。 今回はダッシュボード機能とアラート機能を使用します。
SORACOM SIM の装着と、SIM 接続設定
上記の利用には Armadillo に SORACOM SIM を装着して、接続設定が必要です。Armadillo に電源が入っている場合はいったん電源を落として、SORACOM SIM を装着してから電源を再投入してください。 SIM スロットについては以下をご確認ください。
接続設定については ABOS Web を使用して設定が可能です。詳細はマニュアルをご参照ください。
SORACOM Harvest の有効化
SORACOM Harvest Data/Files は、SIMグループ単位で機能の有効/無効を設定します。 SORACOM コンソールにログインして、下記の手順で設定を行ってください。
SORACOM コンソールメニュー内 [SIM管理] を選択し SIM管理画面を開きます。
SIM一覧の中から今回使用するnanoSIMにチェックを入れ、[管理] > [所属グループ変更] を選択します。
[新しい所属グループ] の中から「新しいグループを作成…」を選択します。
グループ名に「漏水検知」と入力し、[グループ作成]をクリックします。
[変更後のグループ] が作成したグループ「漏水検知」になっていることを確認し、[グループ変更] をクリックします。
コンソールメニュー内 [SIMグループ] を選択し SIMグループ管理画面を開きます。
グループ一覧の中から「漏水検知」を選択します。
[SORACOM Harvest Data 設定] を ON にし、[保存]をクリックします。
[SORACOM Harvest Files 設定] と [HARVEST DATA 連携] を ON にし、[連携対象のファイルパス] に 「camera_images」と入力、[保存]をクリックします。
(※Harvest Files の有効化と連携設定は、USB カメラを使用しない場合は不要です。)
クラウドサービスに初期データを送信
初期データを IoT ゲートウェイからクラウドサービスに送信します。Armadillo に電源が入っていない場合は、電源を入れてください。
SIM 接続設定で説明した手順で WWAN 接続設定を行っていれば、SORACOM に LTE で接続できて、Armadillo の LED_WWAN が点灯しているはずです。30秒ほどすると、フローが、SORACOM Harvest に初期データを送信します。
もし、データが確認されない場合に、LAN ケーブルでの接続と LTE での接続が両方有効になっていて、どちらもインターネット接続可能な場合、SORACOM Harvest へのデータ送信に失敗する場合があるため、LAN ケーブルを抜いてやり直してください。
また、「デプロイ」をクリックして開くメニューから「フローを再起動」を選択してください。
初期データが送信されたかどうかは、SORACOM コンソールのメニュー内 SORACOM コンソールメニュー内 [データ収集・蓄積・可視化] > [SORACOM Harvest Data] で開く SORACOM Harvest Data のダッシュボードで確認できます。
初期データを送信するのは、後述する クラウドサービスのダッシュボード設定で説明する、アラートメール送信用の Alert rule 設定に必要なためです。
SORACOM Lagoon のダッシュボード設定
-
Lagoon3 コンソールにログイン
SORACOM コンソールメニュー内 [データ収集・蓄積・可視化] > [SORACOM Lagoon] を選択します。
SORACOM Lagoon のページが開いたら、ページの下端にある二つのボタンのうち、「SORACOM Lagoon 3 コンソール」をクリックして Lagoon 3 コンソールにアクセスしてください。
SORACOM Lagoon コンソールのログインページが開くので、SORACOM アカウントの email アドレスとパスワードを入力してログインしてください。
-
テンプレートのインポートによるダッシュボード作成
SORACOM Lagoon 3 コンソール画面左端のサイドバーにある、ダッシュボードのアイコンの上にマウスカーソルを移動すると、"Dashboards" メニューがポップアップします。 このメニューから、「+ Import」を選択してください。
開いたインポート画面の「Upload JSON file]をクリックして、ダッシュボードテンプレートから作ったダッシュボード定義の .json ファイルをインポートします。 ダッシュボード定義の .json ファイルは、次の手順で作成してください。
補足: 以下に述べる手順の、ダッシュボードテンプレートの内容書き換えを行うツールを、HTML ページとして提供しています。 こちらです。 詳細は、ダッシュボードファイルの作成ツールをご覧ください。
-
https://download.atmark-techno.com/sample/armadillo_iotg_a6e-water-leakage-sense-howto/lagoon_dashboard.json をダウンロードする。 この .json ファイルが、ダッシュボードテンプレートです。
-
ダウンロードした .json ファイルをテキストエディタで開き、${IMSI} を SIM の IMSI で全て置換する。 IMSI は、SORACOM コンソールの SIM 管理画面で、SIM を選択すると表示されますので、それをコピー&ペーストしてしてください。
-
IoT ゲートウェイの漏水監視システム設定 で Node-RED フローに設定した、漏水センサの識別番号の前に _ を付けた文字列で、_01 を全て置換する。 たとえば、識別番号が 2741 なら _01 を _2741 で全て置換します。漏水センサを複数使用する場合は(※4つまで使用できます)、2番目~4番目のセンサの識別番号それぞれの前に _ を付けた文字列で、それぞれ _02, _03, _04 を全て置換します。
-
変更内容を保存します。
「Upload JSON file]をクリックして開くオープンダイアログで、作成したダッシュボード定義の .json ファイルを選択してアップロードしてください。
ダッシュボードのインポート画面にある「Harvest」では、Harvest (default) を選択します。
選択したら、「Import」をクリックしてインポートしてください。
インポートした後、Lagoon コンソールのサイドバーにある Dashboard のアイコンをクリックして選択すると、作成された「漏水センサダッシュボード」がダッシュボード一覧に表示されます。
「漏水センサダッシュボード」をクリックすると、ダッシュボード画面が開きます。何もデータがない状態では、一番上の、漏水センサ状態表示部に「No data」と表示されます。
IoT ゲートウェイから初期データを送っていれば、「正常」と表示されるでしょう。
ダッシュボードには、上から順に、漏水センサの現在状態、漏水センサからの通知の一覧、カメラ撮影画像が表示されます。
ここまでの手順で、漏水センサの検知状態表示用のダッシュボード設定が完了です。 次は、漏水検知や、漏水センサの死活異常検知の際にアラートメールを送信するための設定です。
-
漏水検知の Alert rule 設定
SORACOM Lagoon 3 コンソール画面左端のサイドバーにある、アラートのアイコンの上にマウスカーソルを移動すると、"Alerting" メニューがポップアップします。 このメニューから「Alert rules」を選択してください。
Alert rules 設定画面が開くので、「+ New alert rule」をクリックしてください。Alert rule の作成画面が開きます。
alert rule の作成画面では、四つの項目を順に設定します。
まず、アラート対象のデータ項目と条件を指定する「1 Set a query and alert condition」です。ここでは、A の列を、左から順に「Air」、SIM 管理画面の SIM の名前、「Standard」、「leak_[漏水センサ識別番号]」に設定します。 下の画像は、漏水センサの識別番号が 2741 の場合の例です。B の列は、Function:Last, Input:A, Mode:Drop Non-numeric Values, に設定し、"Make this the alert condition" をクリックしてください。
次は、「2 Alert evaluation behavior」です。Evaluate every:1m, for : 0m, Alert state if no data or all values are null : No Data, Alert state if execution error or timeout : Error に設定してください。
「3 Add details for your alert」は、Rule name : 漏水検知1, Folder : 「+Add new」を選択して Leakage sensor を入力, Group : No.1 に設定してください。 「Summary and annotations」の並びは、ドロップダウンリストで名前を選択して値を入力します。 それぞれ、Summary : センサ1で漏水を検知しました, Panel ID : 2, Dashboard UID : r-MfneKSz2 と設定してください。
「4 Notifications」は、Custom Labels の Labelに Sensor1 と入力して Enter、= の右側には leak を入力して Enter、という手順で設定してください。
1から4までの設定入力を終えたら、画面上橋の方にある「Save and exit」をクリックして、設定内容を保存してください。
漏水センサを複数使用する場合は、それぞれのセンサについて、「+ New alert rule」以降の手順を繰り返して、各センサに対する alert rule を追加してください。
-
死活監視異常検知用の Alert rule 設定(オプション)
次は、死活監視異常検知用の Alert rule 設定です。漏水センサの死活監視タイマを使用しない場合、この設定は不要です。
「1 Set a query and alert condition」では、A の列の右端の値を「leak_[漏水センサ識別番号]」にしてください。 下の画像は、漏水センサの識別番号が 2741 の場合の例です。
「2 Alert evaluation behavior」は、漏水検知用の設定と同じです。
「3 Add details for your alert」は、Rule name : 死活監視1, Summary : センサ1で死活監視異常を検知しました にしてください。 それ以外は、漏水検知用の設定と同じです。
「4 Notifications」は、= の右側に入力する値を dead にしてください。それ以外は、漏水検知用の設定と同じです。
1から4までの設定入力を終えたら、画面上橋の方にある「Save and exit」をクリックして、設定内容を保存してください。
漏水センサを複数使用する場合は、それぞれのセンサについて、「+ New alert rule」以降の手順を繰り返して、各センサに対する alert rule を追加してください。
注意: 死活監視タイマを使って漏水センサの死活監視を行う場合、全ての漏水センサに、それぞれ死活監視タイマを接続しなければいけません。
-
メール送信設定
Alert rule の設定が終わったら、アラート条件が成立した時にメール通知するための設定です。 アラート設定画面の「Cotact points」をクリックして選択すると、アラート通知先の設定画面が表示されます。 「+ New contact point」をクリックしてください。
アラート通知先の作成画面では、Name:配信先につける名前(下の例では「漏水検知メール配信」), Contact point type:Email, Addresses:セミコロン区切りで、メールアドレスを入力, subject:メールの件名(下の例では、「漏水検知アラート」) と設定してください。 Optional Email settings の Message は、空のまましてください。空のままにしておくと、対応付けられた Alert rule の「Summary」に設定した内容がメール本文として送信されます。
設定内容を入力したら、「Save contact point」をクリックして通知先設定を保存してください。
最後は、アラート条件とメール通知を対応づける設定です。 アラート設定画面の「Notification Policies」をクリックして選択すると、通知ポリシーの設定画面が表示されます。 「+ New policy」をクリックしてください。
「Specific routing」の欄にある「+ Add macther」をクリックして対応付けの設定欄を作り、Label : grafana_folder, Operator : =, Value : Leakage sensor と設定してください。 Contact point には、先ほど作成した Contact point の名前(漏水検知メール配信)を設定します。
設定内容を入力したら、「Save policy」をクリックして保存してください。
保存すると、一覧に表示されます。
以上で、クラウド側の設定も完了です。
6. 漏水検知動作の確認
漏水センサと、IoT ゲートウェイのセットアップと設定、およびクラウドサービス(SORACOM Harvest と SORACOM Lagoon)の設定が済んだら、漏水監視システムが完成です。さっそく、動作を確認してみましょう。
-
漏水センサを上水で濡らして数分待つ
漏水監視システムを起動した後、漏水センサリボンに上水を少量垂らして濡らしてください。
-
IoT ゲートウェイの通知表示確認(LED とパトライト)
漏水センサリボンを濡らしてから数分待ち、Armadillo の LED_APP が点滅を始めたら、漏水検知の成功です。 オプションでパトライトを接続していれば、Armadillo の LED_APP が点滅を始めると同時に、パトライトが点灯します。
-
メール通知確認
SORACOM Lagoon のアラート機能で設定した送信先に、漏水検知を知らせるアラートメールが届けば、クラウド連携も成功です。
-
クラウドサービスのダッシュボード表示確認
漏水検知動作を確認できたら、SORACOM Lagoon のダッシュボードを開いてみてください。漏水センサの現在状態の表示が、「漏水検知」に変わっているはずです。 オプションで USB カメラを接続していれば、USB カメラで撮影した画像も、ダッシュボードに表示されます。
漏水センサリボンが乾き、漏水センサからの BLE 送信が止まったら、漏水監視システムは漏水が止まったと判定して、通知表示を停止します。
漏水監視システムの動作を確認できたら、SW を長押ししてください。 5秒以上押すと、Armadillo が自動的にシャットダウンして電源オフします。 シャットダウン動作を開始すると、LED_SYS の点滅が始まり、シャットダウン完了して電源オフしたら LED がすべて消灯します。電源オフしたら、Armadillo の AC アダプタのプラグを抜いてください。
付録
ダッシュボードファイルの作成ツール
漏水監視システムの SORACOM Lagoon ダッシュボードを作成する際に使用する、ダッシュボードテンプレートの内容書き換えを行うツールを、HTML ページとして提供しています。 このページです。
「IMSI」に SIM の IMSI、「漏水センサマイナー番号」の入力フィールドには、漏水センサの識別番号を入力してください。 この識別番号は、「漏水センサ情報初期化」で設定したのと同じ値です。 「センサ名」は、空のままで構いません。このフィールドに設定した文字列は、ダッシュボードの表示で漏水センサ名として使われます。 「センサ名」を空にした場合は、'漏水センサ_[識別番号]' という形式のセンサ名が設定されます。 ダッシュボードの漏水センサ状態表示に、漏水センサの設置場所を示す名前を使いたい場合は、「センサ名」を設定してください。
IMSI と漏水センサマイナー番号(および、センサ名)を入力したら、「ファイルに保存」をクリックしてください。 ファイル保存ダイアログが開きますので、適当な名前(たとえば lagoon_dashboard.json)で保存してください。 保存した .json ファイルを SORACOM Lagoon にインポートすれば、漏水監視システム用のダッシュボードを作成できます。