Howto: e-DISPZのデータをArmadilloで収集し、タブレットで表示する。

 

クリップアート が含まれている画像

高い精度で生成された説明
 


Howtoは、Armadilloシリーズを有効に活用するための参考資料です。使用ソフトウェアのバージョンなど諸条件の差異によって、記載内容と実際の動作が異なる場合があります。また、すべての機能検証や長期の動作試験を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。

 

 

 

 

 

本書は、下記 3製品を使って、センサーデータをタブレットにて取得動作させる方法について、Armadillo-IoT G3に初めて触れる人を対象に説明したものです。環境は、Windows環境を想定しており、DHCPにおける無線LAN環境が必要です。

 

(1)  Amadillo-IoT G3 (アットマークテクノ社製)

(2)  IoT センサーパッケージ / e-disZ(株式会社ディーディーエル製)

(3)  Geanee Android6.0 タブレット(JENESIS )

 

 

 

 

 

 

 

 

 


(1)                                                   (2)                                                   (3)

0: 製品一覧

 

本書は、既にArmadillo-G3の通信設定を行うことができ、LinuxUnix を知っている方を対象としていませんので、その方は 直接下記 ドキュメントを参照されることをお勧めします。

 

Howto : IoTセンサーパッケージ/e-DISPZを使用したトランクルーム監視デモを動かす

https://armadillo.atmark-techno.com/howto/edispz-trunkroom-monitoring-demo

 

1.       動作環境

 

Armadillo-IoT G3に関しては、下記もしくは、下記より新しい環境を用意してください。

 

1-1 動作確認環境

Linuxカーネル       

linux-3.14.79-at8 (Armadillo-IoT G3)

ユーザーランド (debian)

Debian GNU/Linux 8jessie)ユーザーランド v20161221

 

今回、本セットで購入された方は、既に上記 より新しい環境になっています。

環境を確認するためには、Armadillo IoT G3 を起動する必要があります。起動方法については、本書半ばの “5. Armadillo-IoT G3の起動を参照するか、Armadillo-IoT ゲートウェイ G3 製品マニュアル の ”5. 起動と終了を参照ください。マニュアルについては、下記の “2. 必要ドキュメントの用意を参照ください。

 

2.       必要ドキュメントの用意

 

必要なドキュメントは、Armadillo-IoT G3 の製品の同梱されている、DVDを参照するか、下記urlよりダウンロードください。DVDより新しいドキュメント・情報がある場合がありますので、なるべく最新のものをお使いいただけるようお願い致します。

 

https://armadillo.atmark-techno.com/armadillo-iot-g3/downloads

 

DVDもしくは、上記 url より 下記 マニュアル を用意してください。

 

-         ドキュメント名: Armadillo-IoT ゲートウェイ G3 製品マニュアル (以降 G3 製品マニュアルと呼びます)

ファイル名    : armadillo-iotg-g3_product_manual_ja-1.x.x.pdf

 

-         ドキュメント名: Armadillo-IoT ゲートウェイ G3 開発セット スタートアップガイド (以降 G3 スタートアップガイドと呼びます)

ファイル名    : armadillo-iotg-g3_startup_guide_ja-1.x.x.pdf

 

なお上記ファイル名において、xの箇所は任意の数字が入ります。

 

3.       製品取り付け

 

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

 

Armadillo-IoT G3 USB シリアル変換アダプタを接続します。

 

3-1 Armadillo IoT G3 ゲートウェイの接続例

 

           Armadillo IoT G3 ゲートウェイ

           ACアダプタ

           作業用PC

           USBシリアル変換アダプタ

           USBケーブル(A-miniBタイプ)

           LAN HUB

           LANケーブル

           microSIMカード

 

詳細は G3 製品マニュアル "4.4. 接続方法"を参照ください。

 

なお、USB シリアル変換アダプタのスライドスイッチを下記のように❶外側の保守モードに設定してください。

 

3-2 USB シリアルケーブルのスライドスイッチの設定

 

詳細については、 G3製品マニュアルの "4.5. スライドスイッチの設定について" を参照ください。

 

PCに 添付USB ケーブルを通して、USB シリアル変換アダプタ をWindows PCに接続した際に、Windows環境から認識されない場合は、FTDI社のWebサイトよりダウンロードしてください。

 

FTDI – Drivers
http://www.ftdichip.com/FTDrivers.htm

 

 

 

詳細は、G3 スタートアップガイドの "3.3. USB シリアル変換アダプタ" を参照ください。

 

4.       Tera Term Pro のインストール

 

環境として、Windows環境を使用する場合について説明します。必要なシリアルターミナルソフトとして、いくつかありますが、ここでは Tera Term Proを使用します。Linuxの場合は、G3 製品マニュアルを参照 してminicom等をお使いください。

 

Tera Term Proを既にご使用されていた方は、「表4-1Tera Term: シリアルポート設定画」の確認のみで、“5 Armadillo-IoT G3の起動“に進んでください。未だTera Term Proをインストールしていない場合は、下記を参照してインストールおよび設定をしてください。

 

まずSourceForgeTera Termプロジェクトからダウンロードし、インストールしたTera Term 4.95を使用します。

Tera Termのインストール方法や、使い方についての詳細はTera Term Home Pageを参照してください。

 

次に、以下の手順で、Tera Termのシリアルポートの設定を行ってください。

 

最初に起動した時には、「図4-1:Tera Term: 新しい接続画面」 ダイアログが表示されます。最初に「キャンセル」ボタンを押して、「図4-1:Tera Term: 新しい接続画面」ダイアログを閉じてください。

その後以下の手順で、Tera Termのシリアルポートの設定を行ってください

 

4-1Tera Term: 新しい接続画面

 

上記画面で、シリアル(E) を選択後、最適なポート(R)を選択ください。複数のポートがあると思われますので USB Serial Portを選んでください。

複数の USB Serial Portがある場合、今回使用するポートは、多くの場合ポート番号の大きいものになります。不明な場合は、一度USB シリアル変換アダプタをPCから外してください。その後Tera Term Pro を終了し、再度 Tera Term Proを立ち上げてください。その後USBシリアル変換アダプタを接続し、新しく現れた ポートが USB シリアル変換アダプタですので、そのポート番号を選んでください。

 

「図4-2: Tera Term画面」が表示されますので、「設定」-「シリアルポート」メニューを選択してください。

 

スクリーンショット が含まれている画像

非常に高い精度で生成された説明

 

4-2Tera Term画面

 

「図4-3: Tera Term: シリアルポート設定画面」が表示されます。

 

スクリーンショット が含まれている画像

非常に高い精度で生成された説明

 

4-3Tera Term: シリアルポート設定画面

 

「ポート」にArmadilloと接続されているシリアルのポート番号を設定してください。

その他の設定項目は「表4-1:シリアル通信設定」を参照し、「図4-3:Tera Term: シリアルポート設定画面」のように設定してください。

設定後「OK」ボタンを押してください。

 

4-1: シリアルポート通信設定

 

項目

設定

ボー・レート

115,200 bps

データ長

8 bits

ストップビット

1 bit

パリティビット

なし

フロー制御

なし

 

既に、Tera Term Proをインストール設定している場合は、G3 スタートアップガイド の “3.4 シリアルターミナルソフトウェアに従い、ボー・レート以外の設定確認を行ってください。

 

5.       Armadillo-IoT G3の起動

 

Armadillo IoT G3 には電源スイッチがありませんので、電源接続でArmadillo IoT G3 に給電されます。

これにより、ブートローダである U-Boot が下記のように起動します。

 

U-Boot SPL 2016.07-at10 (Apr 13 2017 - 09:50:37)
Trying to boot from SPI


U-Boot 2016.07-at10 (Apr 13 2017 - 09:50:37 +0900)

CPU:   Freescale i.MX7D rev1.2 996 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 31C
Reset cause: POR
       Watchdog enabled
I2C:   ready
DRAM:  512 MiB
Boot Source: QSPI Flash
Board Type: Armadillo-IoT G3(0a000000)
Revision: 0002
S/N: 3031
DRAM: 00001d05
XTAL: 00
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
SF: Detected N25Q64 with page size 256 Bytes, erase size 64 KiB, total 8 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Found PFUZE300! deviceid 0x30, revid 0x11
Net:   FEC0
=>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

上記が表示された後、“boot” コマンドを実行してください。このコマンドを実行するとブートローダーがLinuxシステムを起動させます。シリアル通信ソフトウェアにはLinuxの起動ログが表示されます。

 

=> boot
switch to partitions #0, OK
mmc1(part 0) is current device
switch to partitions #0, OK
mmc1(part 0) is current device
reading boot.scr
** Unable to read file boot.scr **
reading boot.scr
** Unable to read file boot.scr **
reading uImage
10062240 bytes read in 248 ms (38.7 MiB/s)
Booting from mmc ...
reading armadillo_iotg_g3.dtb
54305 bytes read in 18 ms (2.9 MiB/s)
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux-3.14.79-at13
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    10062176 Bytes = 9.6 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 84800000
   Booting using the fdt blob at 0x84800000
   Loading Kernel Image ... OK
   Using Device Tree in place at 84800000, end 84810420

Starting kernel ...


中略


         Starting WPA supplicant...
[  OK  ] Started WPA supplicant.
[  OK  ] Started LSB: exim Mail Transport Agent.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Started Update UTMP about System Runlevel Changes.

Debian GNU/Linux 8 armadillo ttymxc4

armadillo login:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

上記Log 詳細は、G3 製品マニュアルの "5.1. 起動" を参照ください。

 

login 状態になったら、root でログインしてください。 rootでログインするには、Login の後に、root,  Passwordの後に root と入力ください。Password入力の際は、入力文字が表示されません。詳細はG3 ドキュメント "5.2. ログイン" を参照ください。

 

armadillo login: root
Password: root :

 

 

 

6.       e-DISPZ アプリケーションの インストール

 

Armadillo-IoT G3初期状態では、e-DISPZ アプリケーションがインストールされていないため、Armadillo-IoT G3 を インターネットに接続できるように設定後、インターネットから直接インストールします。

 

必要なアプリケーションは 下記になりますが、一つのパッケージでインストールできます。

- edispz-device-app: e-DISPZ からのデータを受信する

- fluentd: edispz-device-app か受信したデータを 記録する

 

上記をインストールするために、Armadillo IoT G3をインターネットに接続できるように設定します。

有線もしくは、無線LANにて接続します。有線を使う場合は “1) 有線LANで接続するへ 無線LANを使う場合は”2)無線LANで接続するへ進んでください。

 

1)    有線LANで接続する

 

nmcli connection コマンドにて まずコネクションの一覧を確認します。 一例として、下記になります。

 

root@armadillo:~# nmcli connection
NAME                UUID                                  TYPE            DEVICE
ethernet-eth0-1     4e2eadd5-ab35-477e-837d-d741db7a1c9e  802-3-ethernet  eth0

 

 

 

 

下記コマンドにて、インターネット接続を有効化します。

 

root@armadillo:~# nmcli connection up eth0

 

次に、3)のネットワーク有効の確認に進んでください。

 

2)       無線LANで接続する

例として、WPA2-PSK(AES)のアクセスポイントに接続します。WPA2-PSK(AES)以外のアクセスポイントへの接続方法などについては、man nm-settings を参考にしてください。また、以降の説明では、アクセスポイントのESSID[essid]、パスフレーズを[passphrase]と表記します。

無線LANアクセスポイントに接続するためには、次のようにコマンドを実行します。

root@armadillo:~# nmcli device wifi connect [essid] password [passphrase]

 

3)     ネットワーク有効の確認

 

ネットワークが有効化されているかを確認するために、ping にて接続を確認します。

 

root@armadillo:~# ping www.google.co.jp

 

 

下記のようにデータが返ってきている表示がされれば 接続に成功しています。

 

root@armadillo:~# ping www.google 56(84) bytes of data.
64 bytes from 192.16.1.2: icmp_seq=1 ttl=255 time=1.82 ms

 

 

連続して 表示が続く場合は、CTRL+C にて、中止してください。

 

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

 

7.       e-DISPZ からのデータを受信するための アプリケーションの導入

 

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

 

root@armadillo:~# apt-get update
root@armadillo:~# apt-get install edispz-device-app

 

 

 

次に、ペアリングするe-DISPZを登録するため図中の枠で囲ったMACアドレスを設定ファイルに追記します。

 

電子機器 が含まれている画像

非常に高い精度で生成された説明

 

7-1 e-DISPZ裏面

 

設定ファイルの追記のために、vi エディターを使用します。vi Unix用のエディターで Windows用の 通常のエディターとは、大きく動作が違いますので、viを使ったことがない場合、最初に G3 製品マニュアルの "4.6. vi エディタの使用方法" を参照ください。

 

root@armadillo:~# sudo vi /etc/edispz-device-app/connectio

 

 

記入例:

 

# Write MAC address of e-DISPZ per line
00C14F01020C

 

 

 

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

 

root@armadillo:~# sudo systemctl start edispz-fluentd.service
root@armadillo:~# sudo systemctl start edispz-device-app.service

 

 

 

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

 

 

7-2 e-DISPZ表面

 

 

8.       データを収集する

 

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

 

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

 

root@armadillo:~# sudo systemctl restart edispz-fluentd.service

 

 

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

 

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

 

root@armadillo:~# sudo vi /etc/edispz-device-app/edispz.conf

 

 

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

 

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

 

15台以上のe-DISPZを接続する場合は、一つのWi-SUNアドオンモジュール (DSE)につき、ペアリング可能な e-DISPZの台数は15台までです。Armadillo-IoT G3 2つの Wi-SUNアドオンモジュール (DSE)を 接続することで計30台のe-DISPZをペアリングすることができます。

 

ここまでで、e-despZのデータをArmadillo IoT G3 で収集できました。

次は、このデータを タブレットで受信しますが、この例では、Armadillo-IoT G3 IoTセンサーパッケージ/e-DISPZを使って、遠隔にある複数のトランクルームの監視を行うデモをご紹介します。

 

9.       タブレットによるデータ取得

 

タブレットを含めた構成を次に示します。

 

 

9-1: タブレットを含めた構成

 

各トランクルームに設置された、e-DISPZ搭載の温度センサー、湿度センサー、接点開閉センサーのデータを Wi-SUN規格 の無線通信でArmadilloに転送・集計します。PC、タブレット等からArmadillo上で動作するwebサーバーにアクセスすることで、ブラウザ上から各トランクルームの状況を監視することができます。

接点開閉センサーはトランクルームのドアに取り付けられていると仮定して開閉を検知、開いていれば未使用、閉じていれば使用中としてwebブラウザに表示されます。

Armadilloをゲートウェイとして外部のクラウドに集計したセンサーのデータをアップロードする構成も考えられますが、デモ都合上Armadillo上にwebサーバーを構築しています。

 

無線LAN APとして使えるように設定します。

 

root@armadillo:~# nmcli connection add con-name ap-test type wifi ifname wlan0 ssid amiotgw
# nmcli connection modify ap-test /
802-11-wireless.mode "ap" /
802-11-wireless-security.key-mgmt wpa-psk /
802-11-wireless-security.psk <pass phrase> /
ipv4.method share /
ipv6.method auto /
connection.zone internal
# nmcli c up ap-test

 

 

 

 

 

 

 

 

 

 

※上のコマンド入力例の中の '<pass phrase>' は、アクセスポイント(SSID: amiotgw)に設定するパスフレーズです。

 

10webサーバー/アーカイブのセットアップ

 

デフォルトのdebian ルートファイルシステムにはすでにwebサーバーがインストールされているため、 デモ用のアーカイブをダウンロード・展開することでデモの動作が可能です。

アーカイブ trunkroom-monitoring.tar.gzArmadilloにダウンロードします。

 

root@armadillo:~# wget http://download.atmark-techno.com/misc/howto_edispz-trunkroom-monitoring-demo/trunkroom-monitoring.tar.gz

 

 

 

trunkroom-monitoring.tar.gz/var/www/html/に展開します。

 

root@armadillo:~# sudo tar xzf trunkroom-monitoring.tar.gz -C /var/www/html/

 

 

11.使用するe-DISPZ MACアドレスの登録

 

/var/www/html/trunkroom-monitoring/index.html を編集し、使用するe-DISPZ MACアドレスを登録します。

 

電子機器 が含まれている画像

非常に高い精度で生成された説明

 

11-1 e-DISPZ裏面

 

root@armadillo:~# sudo vi /var/www/html/trunkroom-monitoring/index.html

 

 

48行目付近のedispz変数にe-DISPZ MACアドレスを記載します。

※ 下の例のように、:(コロン)は含まない形で記載してください。

 

var edispz=["00C14F01020A",
            "00C14F01020B",
            "00C14F01020C",
            "00C14F01020D"];

 

 

 

 

 

 

12webサーバーへのアクセス

 

Armadillo IoT G3 のサーバーにアクセスするために、Armadillo IoT G3 IP アドレスを調べます。

 

root@armadillo:~# ifcong

 

 

一例として以下のように表示されます。

 

root@armadillo:~# wlan0     Link encap:Ethernet  HWaddr 44:c3:06:00:03:86
          inet addr:10.42.0.1  Bcast:10.42.0.255  Mask:255.255.255.0
          inet6 addr: fe80::46c3:6ff:fe00:386/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2458 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4628 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:239865 (234.2 KiB)  TX bytes:6541005 (6.2 MiB)

 

 

 

 

 

 

 

 

 

上記から ip4 における inet アドレスは 10.42.0.1 とわかります。

 

タブレット(もしくはPC)Armadillowebサーバーにアクセス可能なネットワークに接続し、タブレットのブラウザから http://[ArmadilloIPアドレス]/trunkroom-monitoring/ にアクセスすると次のよう表示されます。

今回は、下記になります。

http://10.42.0.1/trunkroom-monitoring/

 

 

12-1: タブレット(PC) 表示画面