Howto

e-DISP・Z のデータを Armadillo で収集する

この Howto では Armadillo-IoT G3 に搭載した Wi-SUNアドオンモジュール (DSE版) を使って、 複数のワイヤレスセンサーデバイスe-DISP・Z (株式会社ディーディーエル製) から データを収集する方法を説明します。

e-DISP・Z は乾電池による省電力動作が可能なセンサーデバイスです。 次の4つのセンサーを搭載し、イベント発生時、または定期的に Wi-SUN規格 の無線通信によってデータを送信することができます。

  • 温度センサー : -10℃ 〜 60℃
  • 湿度センサー : 10% 〜 90%
  • 接点開閉(開閉センサ取り付け用)
  • 人感センサー: 検出距離12m / 検出範囲(水平,垂直): 102°,92°/ ターゲット-背景間の温度差 4℃以上

本Howtoで使用する e-DISP・Z と Wi-SUNアドオンモジュール(DSE版) のセット、 e-DISP・Z単体の購入については、オプション製品ページをご確認ください。


このHowtoでは次の環境を使って動作確認を行います。 必ず下記のバージョンか、それよりも新しいものを 使ってください。

表1 動作確認環境
Linuxカーネル linux-3.14.79-at8 (Armadillo-IoT G3)
ユーザーランド (debian) Debian GNU/Linux 8(jessie)ユーザーランド v20161221


セットアップ

最初に Armadillo-IoT G3 のアドオンインターフェース1 (CON1)に Wi-SUNアドオンモジュール(DSE版)を取り付けます。 アドオンモジュールの取り付け方は、Armadillo-IoT G3製品マニュアルを参照してください。

次にArmadillo-IoT G3 を起動して、e-DISP・Z からのデータを受信するための アプリケーション edispz-device-app と、edispz-device-app か受信したデータを 記録するために fluentd をインストールします。これらは一つのパッケージで インストールすることができます。Armadillo-IoT G3がインターネットに繋った状態で 次の手順でインストールしてください。rootユーザーの場合はsudoは不要です。

[Armadillo]$ sudo apt-get update
[Armadillo]$ sudo apt-get install edispz-device-app

次に、ペアリングするe-DISP・Zを登録するため図中の枠で囲ったMACアドレスをコネクションリスト(connection.list)に追記します。

e-DISP・Z背面 MACアドレス記載位置

[Armadillo] $ sudo vi /etc/edispz-device-app/connection.list

記入例:

# Write MAC address of e-DISPZ per line
00C14F011111
00C14F0100FF
00C14F010100
00C14F01020D

インストール直後はアプリケーションが自動起動していないため、 コネクションリストの編集が終ったら、armadilloを再起動するか edispz-device-appとedispz-fluentdのサービスを手動で起動します。

[Armadillo]$ sudo systemctl start edispz-fluentd.service
[Armadillo]$ sudo systemctl start edispz-device-app.service

e-DISP・Z を Armadillo-IoT G3 に接続するために、 図に示す LED1,2 が点灯するまで電源ボタンを押し込み電源を入れてください。 LED2がしばらく点滅した後にLED1,2が共に1回点滅することで Armadillo-IoT G3 とのペアリングが成功することを確認してください。 edisp-device-app が動作していない場合、ペアリングは実施されません。

e-DISP・Z前面ボタン、LED位置

データを収集する

ペアリングに成功すると、e-DISP・Zから受信したデータが fluentd によってJSON形式で /var/run/fluentd/sensor.log に出力されます。 /var/run/fluentd/sensor.log は最新30分のデータへのシンボリックリンクです。 30分以上前のデータは逐次 /var/log/fluentd/ へ保存されていきます。

ファイルへのデータ出力はfluentdで実施しているので、fluentdの設定ファイル(/opt/edispz-fluentd/fluentd/fluent.conf) を変更することで、出力形式や出力先を変更することができます。設定ファイルの変更後は、edispz-fluentd.service をrestartしてください。

[Armadillo]# sudo systemctl restart edispz-fluentd.service

アドオンインターフェース2(CON2)にアドオンモジュールを接続する場合

アドオンモジュール をアドオンインターフェース2(CON2)に接続する場合は、設定ファイル /etc/edispz-device-app/edispz.conf のttyの値にttymxc1を設定します。

[Armadillo] $ sudo vi /etc/edispz-device-app/edispz.conf

変更例: [core] tty=/dev/ttymxc1 mode=33

設定変更後は、edispz-device-appのサービスを再起動し、 e-DISPZのペアリングも再度実施してください。

e-DISP・Z の動作設定を変更する

設定ファイル /etc/edispz-device-app/edispz.confの各種設定値を変更することで、 e-DISP・Zの動作設定を変更することができます。

使用しないセンサーを無効にしたり、定期的に送信されるパケットの送信サイクルを長くすることで、電池の消費を押さえることができます。

設定可能なパラメーターは以下です。

mode

有効にするセンサー、即時送信/定期送信モードの設定が可能です。

mode 設定内容
0 温湿度
1 温度のみ
2 ドア+人感
3 温湿度+人感
4 ドアのみ
5 温湿度+ドア
6 温湿度+ドア+人感
7 温度のみ+ドア+人感
8 人感のみ
31 <即時送信>ドア+人感
32 <即時送信>温湿度+ドア+人感
33 <即時送信>温湿度+ドア
34 <即時送信>温湿度+人感
35 <即時送信>ドアのみ
36 <即時送信>人感のみ
37 <即時送信>ドア+人感+温度
38 <即時送信>ドア+温度
39 <即時送信>人感+温度

interval_time_second

modeが0〜8の時に設定可能です。 定期パケット送信間隔(秒)を設定することができます。

offset_time_second

modeが0〜8の時に設定可能です。 子機が複数台の場合、送信の衝突を回避するためのオフセット時間(秒)を設定することができます。

human_sensor_wait_time_second

modeが31〜39の時に設定可能です。 人感センサーの検出間隔(秒)を設定することができます。

heartbeat_time_minute

modeが31〜39の時に設定可能です。 定期パケット送信間隔(分)を設定することができます。

door_detect_mode

modeが31〜39の時に設定可能です。 ドア検出モードを設定することができます。

door_detect_mode 設定内容
0 ドアの「開」「閉」でパケット送信
1 ドアの「開」でパケット送信
2 ドアの「閉」でパケット送信

temperature_upper, temperature_lower

温度センサが有効な場合に設定可能です。獲得する温度データの上限、下限を設定することができます。
範囲外のデータはログへ出力されません。

設定例:

temperature_upper=50
temperature_lower=-5

(※v1.2.0-1から対応)

humidity_upper, humidity_lower

湿度センサが有効な場合に設定可能です。獲得する湿度データの上限、下限を設定することができます。
範囲外のデータはログへ出力されません。

設定例:

humidity_upper=85
humidity_lower=15

(※v1.2.0-1から対応)

15台以上のe-DISP・Zを接続する

一つのWi-SUNアドオンモジュール (DSE版)につき、ペアリング可能な e-DISP・Zの台数は15台までです。

Armadillo-IoT G3 に2つの Wi-SUNアドオンモジュール (DSE版)を 接続することで計30台のe-DISP・Zをペアリングすることができます。 30台の接続に対応するソフトウェアパッケージは後日公開予定です。

edispz-device-app.serviceが自動で再起動するように設定する

edispz-device-app.serviceが停止してしまった際、自動的にサービスが再起動するように設定を変更することができます。
最初に、以下のコマンドを実行してください。

[Armadillo]# sudo systemctl edit edispz-device-app.service

編集画面が表示されたら、以下の2行を追記してください。

[Service]
Restart=always

最後に、edispz-device-appをリスタートしてください。

[Armadillo]# sudo systemctl restart edispz-device-app.service

edispz-device-appのビルド方法

edispz-device-app を改造したり機能を拡張したい場合は、Howto : e-DISP・Z 用 データ受信 アプリケーション 「edispz-device-app」 のビルド方法 をご確認ください。