このHowToでは、Armadillo-IoT G3/X1(以下、Armadillo-IoT) を用いた「オプテックス株式会社製 ワイヤレス在室検知センサ CPI-J」
(以下、CPI-J)のデータ検知手順について紹介します。
CPI-Jはリチウム電池CR-123Aと搭載されたソーラーバッテリーの電力で駆動し、人体を検知した際にEnOceanで信号を送信します。
詳細な仕様につきましては、CPI-Jの取扱説明書をご確認ください。
動作要件条件
CPI-JのデータはEnOceanで送信されるため、Armadillo-IoTに「Armadillo-IoT EnOcean アドオンモジュール EN00」(以下、EN00)が必要となります。
EN00は、ttyデバイスファイルから制御することができます。
ttyデバイスファイルは、ご利用になるArmadillo-IoTの種類と、EN00を接続するアドオンインタフェースによって異なります。
Armadillo-IoTの種類及びアドオンインターフェースと、ttyデバイスファイルの対応を以下に記載します。
Armadillo-IoTの種類 | アドオンインタフェース | ttyデバイスファイル |
---|---|---|
Armadillo-IoT G3 | CON1 | ttymxc0 |
Armadillo-IoT G3 | CON2 | ttymxc1 |
Armadillo-IoT X1 | CON1 | ttymxc6 |
このHowtoでは例として、各機器を以下の条件で使用します。
■CPI-J
- 高さ2.5mの天井に設置
■Armadillo-IoT
- 「Armadillo-IoT G3」のCON1にEN00を接続
送信されるデータの種類
CPI-Jが送信するデータの種類は、以下の3つです。
- 人体検知時(以下、「検知信号」)
- 一定時間、人体が検知されなかった時(以下、「不在信号」)
- 本体側面の「ペアリングボタン」を5秒以上押し続けた時
Pythonによるデータ受信
CPI-Jが送信する信号の内、検知信号・不在信号を受信し表示するプログラムを作成しました。
以下のリンクより必要な各ファイルをダウンロード可能です。
以下に実行手順を記載します。
1.enocean_sensor.py、enocean_sensor.conf、requirements.txtをArmadillo-IoT上に配置
2.必要なパッケージをインストール
[armadillo ~]# apt-get update
[armadillo ~]# apt-get install python python-pip
[armadillo ~]# pip install -r requirements.txt
3.設定ファイル「enocean_sensor.conf」を適切な値に設定する
以下、設定ファイル例
[core]
port=/dev/ttymxc0
[sensor]
room1=CPI_J,05:00:2E:A3
- port:使用するシリアルポート
- room1:「センサー名」「センサーデバイスID」
room*は複数指定可能
変数名は変更可能
[sensor]において指定しているセンサーデバイスID(Module ID)は、下図のように当センサの取り付けプレートを外した製品裏側に記載されています。
4.「enocean_sensor.conf」を「/etc/enocean_sensor.conf」に配置
5.「python enocean_sensor.py」コマンドで実行
このプログラムを実行することで、次のような結果が得られます。
{"CPI_J","2018-10-05 13:09:14","sensor_id=05:00:2E:A3","Detection signal"}
{"CPI_J","2018-10-05 13:14:10","sensor_id=05:00:2E:A3","Absence signal"}
...
「Detection signal」と表示されているのは検知信号を表します。
また、「Absence signal」と表示されているのは不在信号を表します。CPI-Jが不在信号を送信するタイミングについては、取扱説明書をご確認ください。
このようにデータ検知を行った後、「クラウドにアップロード」「ログファイルに保存」等の運用が可能です。