AE2100でソルティスターの「SpeeDBee Hive」を使用してみよう(2) ―パトランプ制御編―

# 要約
* この記事では、株式会社ソルティスター（以下、ソルティスター）の「SpeeDBee Hive（AE2100対応版）」を使用して、IoTセンサーのデータ収集・可視化や制御、クラウドとの連携方法について解説します。
* 第2回の「パトランプ制御編」では、計測したCO2濃度を基準として遠隔にあるパトランプをSmartHop経由でリアルタイムに制御します。

# はじめに
本記事は、AE2100にインストールしたSpeeDBee Hiveを活用する2つ目の記事です。
前回の記事では、SmartHop対応の照度センサデータの収集・可視化を行いました。
* [AE2100でソルティスターの「SpeeDBee Hive」を使用してみよう(1) ―SmartHopセンサーデータの収集・可視化編―](https://qiita.com/shimatak/items/14d2001b04620a25a242)


今回は遠隔にあるパトランプをSmartHop経由で制御する方法を解説します。
昨今、新型コロナウイルスの影響で室内の環境データ管理の需要が高まっていることもあり、部屋のCO2濃度が基準値以下の場合は緑点灯、基準値より大きいときは赤点灯させてみようと思います。


# 環境
実行環境は次の図のような構成を前提とします。
![環境図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660784/f426b18a-a878-647a-d262-fc3fefdfb0f2.png)

前回の記事の構成に無線ユニット子機＋[CHC製のCO2コントローラーNMA-VRC-Ⅱ](https://group.chcsys.net/product/)、[パナソニック製の無線I/Oユニット子機(ENR1)](https://www3.panasonic.biz/ac/j/fasys/eco/cmd/enr1_io/index.jsp)＋[パトライト製のパトランプ(LES-02AW)](https://www.patlite.co.jp/support/Discontinued%20Product.html)を追加しています。
※無線ユニット子機＋CO2コントローラーは必須ではありません。お手元にない場合は、照度を閾値としてパトランプを制御してみてください。

なお、SpeeDBeeHiveのバージョンは3.3.1のものを使用しています。

# 無線ユニット子機+CO2コントローラーの設定
[「AE2100」と920MHz帯無線「SmartHop」を活用して遠隔地のセンサーデータを収集してみよう(1)　―無線ネットワーク構築編―](https://qiita.com/shimatak/items/5e797739f6a12f69cbfa)を参考に以下の設定を行ってください。

### ■ 無線ユニット子機の設定
#### 基本設定
項目|設定内容|備考
:-:|:-:|:-:
PAN ID|0001|親機と同一にする
チャネル番号|1ch|親機と同一にする|
ショートアドレス|0002|一意|
ネットワーク名|ECOnect@NW-iD|親機と同一にする|
暗号鍵|00000000000000000000000000000001|親機と同一にする|

#### シリアル設定（CO2コントローラーの設定と同一にする）  
項目|設定内容
:-:|:-:
端末接続|あり
ビットレート|19,200bps
データ長|8 bit
ストップビット|1 bit
パリティ|odd（固定）

※上記に記載されている設定以外はすべてデフォルトの状態でOKです。

### ■ CO2コントローラーの設定
項目|設定内容|備考
:-:|:-:|:-:
局番|2|一意
ボーレート|19,200 bps|固定|
データビット|8 bit|固定|
パリティ|odd|固定|
ストップビット|1 bit|固定|

# 無線I/Oユニット子機（ENR1）の設定およびパトランプとの配線
[「AE2100」内蔵の920MHz帯無線「SmartHop」のモジュールを活用してみよう(1) ―無線ネットワーク構築編―](https://qiita.com/shimatak/items/ae87081694d1bcbb3cf5)を参考に以下の設定を行って下さい。

### ■無線I/Oユニット子機（ENR1）の設定
#### 無線設定
項目|設定内容|備考
:-:|:-:|:-:
グループ番号|0001|AE2100のPAN IDと同一にする|
チャネル番号|1ch|AE2100と同一にする|
ネットワーク名|ECOnect@NW-iD|AE2100と同一にする|
暗号鍵|00000000000000000000000000000001|AE2100と同一にする|

#### プロトコル設定
項目|設定内容
:-:|:-:
プロトコル種別|ModBus(RTU)

#### 子機の設定
項目|設定内容|備考
:-:|:-:|:-:
子機番号|0003|子機番号(=ショートアドレス)、局番は同一に設定される| 
子機タイプ|I/Oタイプ|無線ユニットの機種に合わせる| 

※上記に記載されている設定以外はすべてデフォルトの状態でOKです。

### ■パトランプとの配線
無線I/Oユニット子機とパトランプは、リード線を以下のように配線します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620360/04d2fdfe-72e8-183c-b256-81608c04770a.png)


# AE2100の設定
[AE2100でソルティスターの「SpeeDBee Hive」を使用してみよう(1) ―SmartHopセンサーデータの収集・可視化編―](https://qiita.com/shimatak/items/14d2001b04620a25a242)で設定したAE2100の基本設定およびプロトコル設定はそのままでOKです。
本記事ではCO2コントローラー（局番2）、無線I/Oユニット子機（局番3）を追加しているので局番リストのみ以下のように設定します。

#### 局番リスト登録
ショートアドレス|局番|備考
:-:|:-:|:-:|
0001|1|照度センサー|
0002|2|CO2コントローラー|
0003|3|無線I/Oユニット子機|


# SpeeDBee Hiveの設定（CO2コントローラーのデータ収集設定編）
[AE2100でソルティスターの「SpeeDBee Hive」を使用してみよう(1) ―SmartHopセンサーデータの収集・可視化編―](https://qiita.com/shimatak/items/14d2001b04620a25a242)を参考に、コレクタへCO2コントローラー（局番2）を追加します。
![HIVE_コレクタ登録（CO2コントローラー）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660784/b9cb3dc0-fd00-e3a6-0994-cede47ac8b6a.png)

CO2コントローラーのReadレジスタにCO2濃度データのレジスタ（0x0044）を登録します。
![HIVE_レジスタ登録（CO2コントローラー）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660784/23457348-7cc0-d8eb-d972-947273cb0955.png)


# SpeeDBee Hiveの設定（無線I/Oユニットの制御設定編）
### ■ イベント登録
SpeeDBee Hiveでパトランプを制御するためには、まず無線I/OユニットへのWriteコマンドの発報条件を事前に定義する必要があります。

「イベント」タブにある「トリガ」の「＋」アイコンをクリックし、トリガ条件を登録します。
今回はCO2濃度が1,000ppm以下のときに正常、1,000ppmより大きい時に異常と定義します。以下の2パターンのトリガを作成し、「保存」ボタンをクリックします。
![HIVE_トリガ設定(正常).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660784/dc429b9c-efe5-62a2-2b0f-1a5dc5286a25.png)
![HIVE_トリガ設定(異常).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660784/c7e01bdb-6161-8875-1c4c-bd1b0f100e64.png)

次に「イベント」の「＋」アイコンをクリックし、CO2濃度(正常)とCO2濃度(異常)のときのイベント名をそれぞれ入力して「保存」ボタンをクリックします。
※IDは保存時に自動的に付与されます。
![HIVE_イベント設定(正常).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660784/57535677-9ef7-77b2-2384-a140818403ca.png)
![HIVE_イベント設定(異常).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660784/1b688e74-03ca-f2da-bd3a-2c63764ec6a3.png)


### ■ コレクタ設定
[AE2100でソルティスターの「SpeeDBee Hive」を使用してみよう(1) ―SmartHopセンサーデータの収集・可視化編―](https://qiita.com/shimatak/items/14d2001b04620a25a242)を参考に、コレクタへ無線I/Oユニット（局番3）を追加します。
![HIVE_コレクタ登録（無線IOユニット）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660784/8a3d2055-ef1b-e795-ac13-7494148b9934.png)

次に無線I/Oユニット子機のWriteレジスタの登録を行います。

「コレクタ」タブの無線I/Oユニットを選択し、Readレジスタの登録時と同じ画面に移動します。「R/W」のプルダウンで「Write」を選択し、アドレス部には無線I/Oユニットの接点出力レジスタ（0x0016）を入力します。

CO2濃度(正常)のときはパトランプ点灯(緑)を選択し、緑点灯の0x0001を固定値として入力して「新規」ボタンをクリックします。
![HIVE_レジスタ登録(無線IO正常).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660784/e5ffa6a7-2b09-7009-75af-d6d23dca4939.png)

CO2濃度(異常)のときはパトランプ点灯(赤)を選択し、赤点灯の0x0004を固定値として入力して「新規」ボタンをクリックします。
![HIVE_レジスタ登録(無線IO異常).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660784/4f7515d4-cf0b-5ee6-a298-476864642f33.png)

なお、固定値に登録するパトランプの点灯状態の詳細は[無線I/Oユニットのマニュアル](https://www3.panasonic.biz/ac/j/dl/manual/index.jsp?series_cd=3567)に掲載されている以下の表を参考にしてください。今回の構成では緑ランプをOUT0、赤ランプをOUT2に接続しています。
（例：緑のみ点灯の場合は0x0001、赤のみ点灯の場合は0x0004、緑と赤を点灯の場合は0x0005）
![パトランプ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660784/05730e8d-c83f-49a3-a45d-760b77a072b2.png)


# 制御結果の確認
前章までの設定が完了したら、「システム」タブにある「制御」からHiveの「起動」ボタンをクリックし、SpeeDBee Hiveのサービスを起動します。

すると、、、
以下のようにCO2濃度の値によってパトランプの色を制御することが出来ました！
画像だけでは伝わらないですが、CO2濃度が1,000ppmを超えたら1秒前後ほどでリアルタイムに点灯色が緑から赤に変わりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660784/5b164d1b-ec2c-5ac7-2974-66667b5377c7.png)


# まとめ
今回はAE2100にインストールしたSpeeDBee Hiveを活用してパトランプの制御を行いました。もちろんパトランプのみに限らず、スピーカーによる注意喚起を行ったり設備やPLC等を遠隔制御するなんてことも可能です。

前回に続き、今回も難しいプログラミング等は一切行わず、GUI操作のみで簡単にIoTシステムを構築出来ました。
SmartHopとの相性も非常に良く、本記事の内容を少し応用するだけで産業分野等でも色々なユースケースが想像できるのではないでしょうか。

次回はクラウド連携についての記事を投稿予定です。

前回の記事：
 [AE2100でソルティスターの「SpeeDBee Hive」を使用してみよう(1) ―SmartHopセンサーデータの収集・可視化編―](https://qiita.com/shimatak/items/14d2001b04620a25a242)

次回の記事：
[AE2100でソルティスターの「SpeeDBee Hive」を使用してみよう(3) ―AWS連携編―](https://qiita.com/shimatak/items/87a1226e176ff60a6609)

SpeeDBee Hiveの関連記事：
・[～「SpeeDBee Hive」でBluetooth対応のセンサーコレクタを開発する(SwichBot温湿度計) ～](https://qiita.com/ss_nagahari/items/d26ad5e20a0fcd38a49a)
・[～「SpeeDBee Hive」でBluetooth対応のセンサーコレクタを開発する(INKBIRD温湿度計)　～](https://qiita.com/ss_nagahari/items/45ad50b2ced82b1c0354)