「AE2100」と920MHz帯無線「SmartHop」を活用して遠隔地のセンサーデータを収集してみよう(1)　―無線ネットワーク構築編―

# 要約
* この記事では、OKIのAIエッジコンピューター「AE2100」に内蔵されている920MHz帯マルチホップ無線「SmartHop」のモジュールを使用して、遠隔地のIoT機器と連携する方法を紹介します。
※AE2100は、SmartHop搭載のAE2100のモデルが用意されており、MHモジュール親機／子機／SRモジュールの３つから選択できます。

* 第1回の「無線ネットワーク構築編」では、MHシリーズ親機のSmartHopモジュール内蔵のAE2100を使用した無線ネットワーク構築方法を解説します。
※SmartHopの説明や、SmartHopのユニットタイプをAE2100に外付けで使用した無線ネットワーク構築方法は[こちら](https://qiita.com/shimatak/items/5e797739f6a12f69cbfa)。



# はじめに
「AE2100」は、出荷時のオプションで、OKIの920MHz帯マルチホップ無線 「SmartHop」のモジュールを内蔵することができます。
SmartHopの内蔵モジュールを使用することで、外付けのユニットタイプを使用するのに比べて、シンプルな構成で無線ネットワークを構築することができます。
そのSmartHopのモジュールを使用して、近年重要視されている3密を防止するソリューションを開発したいと思います。
開発といっても、プログラミングの部分はNodeRedでローコードになっていますので、気軽にお試しいただけると思います。

行うことは、「無線ネットワーク構築⇒CO2センサーのデータ収集⇒CO2濃度が高ければ(換気が必要であれば)、パトランプによる発報」です。
長くなりそうなので、3編に分けてまとめました。

* AE2100内蔵の920MHz帯無線モジュールを活用してみよう(1)―無線ネットワーク構築編―　(本記事)
* [AE2100内蔵の920MHz帯無線モジュールを活用してみよう(2)―データ収集編―](https://qiita.com/shimatak/items/d0ce8dc027e6f5d6cd5e)
* [AE2100内蔵の920MHz帯無線モジュールを活用してみよう(3)―パトランプ発報編―](https://qiita.com/shimatak/items/270be8410ee3374a1223)

早速、無線ネットワークの構築から行っていきます。



# 環境
実行環境は次の図のような構成を前提とします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620360/b5764bac-d074-2892-53cd-c2eb90bae134.png)



AE2100は、SmartHopのMHモジュール親機が内蔵されているものを使用します。
SmartHopの無線ユニット子機は、RS485タイプを使用し、[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)は、SmartHopのMHモジュールを搭載した接点入出力機器です。本記事では、接点出力に[パトライト製のパトランプ(LES-02AW)](https://www.patlite.co.jp/support/Discontinued%20Product.html)を接続します。
なお、無線I/Oユニットとパトランプには、給電のためにスイッチング電源が別途必要になります。

Windows PCには、事前にSmartHopの無線ユニット設定用保守コンソールソフトの「MH920 Console Lite」、パナソニック製の無線I/Oユニット設定用ツールの「Control Configurator ENR+ 」をインストールしておいてください。
[MH920 Console Liteのダウンロードサイト](https://www.oki.com/jp/920M/support/)
[無線I/Oユニット設定ツールのダウンロードサイト](https://www3.panasonic.biz/ac/j/dl/software/index.jsp?series_cd=3567)


# AE2100の設定
AE2100のWeb-UIを使って、内蔵のMHモジュール親機（コーディネータ）の設定をします。
「①PCのブラウザからAE2100のWeb-UIへログイン」して、AE2100のトップページから「②ネットワーク設定」→「③920M MHモジュール」→「④コーディネータ設定」→「⑤モジュールから取得」の順にクリック。次に、「⑥基本設定」→「⑦プロトコル設定」の設定項目を入力。「⑧モジュールへ設定」をクリックして設定を反映します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620360/4700a18b-e940-9946-60d4-597158604694.png)
#### ■ 基本設定
項目|設定内容|備考
:-:|:-:|:-:|
PAN ID|0001|任意|
チャネル番号|1ch|他チャネルでも可|
ネットワーク名|QiitaDemo@NW-iD|任意の名称でも可|
暗号鍵|00000000000000000000000000000001|任意の32の数字|

#### ■ プロトコル設定
項目|設定内容
:-:|:-:
局番解析|あり
プロトコル種別|ModBus(RTU)
※上記に記載されている設定以外はすべてデフォルトの状態でOKです。

続いて、子機へ設定予定の局番とショートアドレスを設定します。
「⑨局番の設定」→「⑩局番リスト設定」の順にクリック。「⑪局番対応設定」を追加し、「⑫局番対応リストをモジュールに設定」を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620360/7198c6fc-82b4-5f74-eb93-96f625ed1c71.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620360/ae29f18b-f656-5fbb-07d4-c35ac1d6d650.png)
#### ■ 局番リスト登録
ショートアドレス|局番|備考
:-:|:-:|:-:|
0001|1|無線ユニット＋CO2コントローラー|
0002|2|無線I/Oユニット|

# 無線ユニット子機+CO2コントローラーの設定
Windows PCと無線ユニット子機をMicro USBケーブルで接続し、MH920 Console Liteを使用して設定を行います。
AE2100とCO2コントローラーの通信設定に合わせて、設定項目を入力します。
詳しい設定方法については、過去の記事をご参照ください。
設定項目は、全く同じでOKです。
[「AE2100」と920MHz帯無線「SmartHop」を活用して遠隔地のセンサーデータを収集してみよう(1)　―無線ネットワーク構築編―](https://qiita.com/shimatak/items/5e797739f6a12f69cbfa)

# 無線I/Oユニット子機（ENR1）の設定
Windows PCと無線I/OユニットをMicro USBケーブルで接続し、設定ツール「Control Configurator ENR+ 」で設定を行います。
設定ツールを起動したら、「新規作成」、動作モード「1:N通信」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620360/927369b2-43c1-6588-540e-8e96ec8a7090.png)
続いて、AE2100の設定項目に合わせて、子機の設定を入力します。
共通設定画面の「無線設定」、「プロトコル設定」タブの項目を入力し、「OK」をクリック。
その後に表示される設定画面で子機を追加します。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620360/7c6beb96-f6db-1775-a5bf-64e5a15db1a0.png)
#### ■ 無線設定
項目|設定内容|備考
:-:|:-:|:-:
グループ番号|0001|AE2100のPAN IDと同一にする|
チャネル番号|1ch|AE2100と同一にする|
ネットワーク名|QiitaDemo@NW-iD|AE2100と同一にする|
暗号鍵|00000000000000000000000000000001|AE2100と同一にする 

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

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

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

最後に、「無線機に設定」をクリックして、画面左上の「子機(0002)」のアスタリスクマークが消えれば、設定完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620360/2303b20b-7b04-309e-82dc-8a95900f1134.png)

# 無線ネットワークの接続確認
設定が完了したら、teratermでAE2100へログインして、SmartHopモジュールの運用開始コマンドを実行します。

```
root@ae2100:~#cd /usr/local/920M/bin
root@ae2100:/usr/local/920M/bin# ./smarthopctl operation start
{ "result": "OK", "factor": "", "data": null }
```
運用開始コマンドを実行すると、あらかじめ設定した設定内容で無線モジュールが通信可能な状態になります。
実行結果に「{ "result": "OK", "factor": "", "data": null }」と表示されていれば、問題なく無線モジュールの動作が開始しています。
※なお、運用開始コマンドは、AE2100が起動する度に実行が必要です。APIの詳細は、SDKマニュアルをご確認ください。
[AE2100　SDK取扱説明書（920MHz編）](https://www.oki.com/jp/AIedge/support/)



子機の接続は、AE2100のWeb-UI「⑬トポロジ表示」から確認できます。
「⑭モジュールから取得」→「⑮確認結果の取得」の順にクリックすると、トポロジ情報に子機の情報が表示されます。
※システムエラーが表示された場合は、ブラウザをリロードして、再度⑭、⑮をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620360/088dd749-2848-f093-d2a7-f92dd1db14ce.png)
また、SmartHop無線ユニット子機および無線I/Oユニット子機のランプが以下のように表示されていれば、無線ネットワークへ正常に接続されていますので、併せて確認してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620360/1e737d5f-362a-d840-6cbf-d294111c5c2d.png)
# まとめ
今回は、AE2100に内蔵されているSmartHopのMHモジュール親機を使用して、無線ネットワークの構築を行いました。
モジュールタイプの製品を使うと、構成や配線がシンプルになって使いやすいですね。
次回は、AE2100にNode-REDを導入し、センサーデータの収集・見える化を行います。

次回の記事:
[「AE2100」内蔵の920MHz帯無線「SmartHop」のモジュールを活用してみよう(2)―データ収集編―](https://qiita.com/shimatak/items/d0ce8dc027e6f5d6cd5e)