システム概要

本アプリケーションノートでは、

  • センサから値を取得する
  • 取得した値をクラウドにアップロードする
  • クラウドから Armadillo を制御する

など、開発時に必要になることの多い処理を実装しているシンプルな構成のシステムの例として、 Armadillo 本体に搭載されている温度センサから温度と、モデムデバイスから3G/LTE の電波品質を取得しクラウドとの通信を行う、温度監視システムのサンプルアプリケーションをご紹介します。

1.1. システム構成図

本システムの構成図を以下に示します。

images/system_diagram.png

1.2. システム全体のフロー

本システムの電源投入後からの状態遷移図を以下に示します。

図中の各処理の内容については「各処理のシーケンス図」を参照してください。

images/01_flow.png

1.3. 各処理のシーケンス図

「システム全体のフロー」の状態遷移図中の各処理のシーケンス図を以下に示します。

1.3.1. Setup Network

netwrok.json に、有効な 3G/LTE ネットワーク及び無線 LAN の設定情報が記載されており、 設定がされていなければ、各ネットワークの設定を行います。

images/setup_network.png

1.3.2. Register

初回起動時、Things Cloud へデバイス登録を行う際のシーケンス図です。 Things Cloud へシリアル ID をキーにデバイス ID を取得し、デバイス ID 取得出来れば、登録済みとみなします。 存在しなければデバイス登録を行います。

images/02_register.png

1.3.3. Wakeup

起動時のシーケンス図です。 設定情報とユーザー LED3 の状態を更新します。

images/03_wakeup.png

1.3.4. Communication

起動処理終了後の通常動作のシーケンス図です。 定期的に、Things Cloud からの Operation(制御) 取得と、Things Cloud へ計測情報の通知を行います。

images/04_communication.png

1.3.5. Operation

Things Cloud UI から Armadillo IoT ゲートウェイ G3M1 の設定を行うシーケンス図です。

images/05_operation.png

1.3.6. Measurement

Armadiilo IoT ゲートウェイ G3M1 内でセンサーから計測を行い、計測データを一時格納するシーケンス図です。 温度に関して、設定ファイル parameter.json でアラームの設定がしてあり、条件に合致した場合、アラームの発生・クリアを行います。

images/06_measurement.png

1.3.7. Report

Armadillo IoT ゲートウェイ G3M1 から Things Cloud へ計測結果を通知するシーケンス図です。 Measurement で生成した Report をThings Cloud へ通知します。 通知する Report が複数存在する場合、最大 20 までまとめて送信を行います。 また、アラーム発生・クリア条件に一致した場合、アラームの発行も行います。

images/07_report.png

1.4. データストア仕様

本システムのデータストア仕様を以下の表に示します。

1.4.1. 計測データ

データ内容 生成タイミング 更新タイミング データ名

温度(℃)

温度計測時

温度計測時

temperature

電波品質(%)

電波品質計測時

電波品質計測時

signal_quality

1.4.2. 変更可能データ(parameter.json)

数値以外の値が設定されている、0 以下の値が設定されている場合も パラメーターが存在しない場合と同様の動作を行います。

データ内容 生成タイミング 更新タイミング データ名 補足

計測情報通知周期(秒)

製造時

Things Cloud からの構成変更

temperature.interval

このパラメーターが存在しない場合、30秒周期で通知を行います。

温度計測周期(秒)

製造時

Things Cloud からの構成変更

temperature.interval

このパラメーターが存在しない場合、温度の計測を行いません。

温度アラーム

製造時

Things Cloud からの構成変更

temperature.alarm

このパラメーターが存在しない場合、アラームの生成を行いません。

電波品質計測周期(秒)

製造時

Things Cloud からの構成変更

signal_strength.interval

このパラメーターが存在しない場合、電波品質の計測を行いません。

1.4.3. Things Cloud 接続データ(things_cloud.json)

ホスト名とテナント名は設定必須のパラメーターです。 ユーザー名とパスワードはデバイス登録後に自動設定されますので設定不要です。

データ内容 生成タイミング 更新タイミング データ名

ホスト名

製造時

なし

host

テナント名

製造時

なし

tenant

ユーザー名

製造時

なし

username

パスワード

製造時

なし

password

1.4.4. ネットワーク設定データ(network.json)

各ネットワーク接続が必要であれば設定します。

データ内容 生成タイミング 更新タイミング データ名 補足

3G/LTE

デバイス名

製造時

なし

lte.device_name

ttyUSB2 または ttyCommModem

APN

製造時

なし

lte.apn

設定必須

ユーザー名

製造時

なし

lte.username

省略可

パスワード

製造時

なし

lte.password

省略可

PPP 認証方式

製造時

なし

lte.ppp

CHAP, PAP または省略

無線 LAN

SSID

製造時

なし

wireless.essid

設定必須

パスフレーズ

製造時

なし

wireless.passphrase

設定必須