センサーの値を収集・可視化する

単純にセンサー情報をia-cloudに送信し、ia-cloud上に収集されたセンサー情報を可視化する方法を紹介します。

今回紹介するシステムの構成イメージと動作させるのに必要なもの、必要なサービスは以下の様になっています。

必要なもの

品名個数価格備考
Raspberry Pi 4 Model B / 4GB18000円程度2GBモデルでも可
OMRON製 環境センサ 2JCIE-BU01112000円程度
Raspberry Pi 4用電源アダプター12000円程度5V/3A Type-C 端子のもの
microSDカード 32GB11500円~3000円程度8GB以上の容量であること

必要なサービス

サービス名アカウント作成方法費用
enebularはじめよう、enebular (1) を参照ください無料アカウントあり
ia-cloudお問い合せフォームでお問い合わせください 1年間トライアル無料

フローの準備

Raspberry Pi(デバイス)上で動作させるフローとenebular(クラウド)上で動作させるフローの2つが必要になります。

フローのインポート

Discoverに公開していますので、2つともenebularのプロジェクトにインポートしてください。

フローの設定

ia-cloudの接続設定がフローに対して必要です。インポートしたフローをenebularのWebフローエディタで開きます。

ia-cloud-cloud-sample-seの変更

変更するのはDynamoDB(chart用)ノードのみです。ia-cloudから提供されているIDとパスワード、URLを入力してください。

ia-cloud-device-sample-seの変更

変更するのはia-cloud-change(データ変換)ノードとia-cloud接続ノードです。 ia-cloudから提供されているIDとパスワード、URLを入力してください。

Raspberry Piの準備

Raspberry Pi OS with DesktopをインストールしたRaspberry Pi 4Bを準備します。

環境センサ 2JCIE-BU01の準備

2JCIE-BU01をRaspberry PiのUSBに取り付けます。どのポートでも構いません。

※Raspberry Piの発熱の影響を受けるため、温度の値が高めに出てしまいます。実際の気温を測りたい場合はUSB延長ケーブル等でRaspberry Pi本体から離したほうが良いです。

ドライバをインストールし、使用可能にするため以下のコマンドを順に LXTerminalで実行します。

$ sudo su
$ modprobe ftdi_sio
$ echo "0590 00d4" > /sys/bus/usb-serial/drivers/ftdi_sio/new_id
$ cd /etc/udev/rules.d/
$ echo "ACTION==\"add\", ATTRS{idVendor}==\"0590\", ATTRS{idProduct}==\"00d4\", RUN+=\"/sbin/modprobe ftdi_sio\" RUN+=\"/bin/sh -c 'echo 0590 00d4 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id'\"" >> 80-rename-2JCIE-BU.rules

enebular editorのインストールと起動

Raspberry Piにenebular editorをインストールします。enebular editorを動作させるためにnodejsが必要になります。nodejsがRaspberry Piにインストールされていない場合は以下のコマンドを LXTerminalで実行してください。

$ sudo apt install npm
$ sudo apt install nodejs
$ sudo npm install n -g
$ sudo n stable
$ sudo apt purge -y nodejs npm
$ sudo n 12.22.5

enebular editorのインストールもLXTerminalで以下のコマンドを実行します。(Raspberry Piのユーザーがpiの場合)

$ wget -4qO- https://enebular.com/editor-install | sudo -u pi -E bash -s -- --arch=arm

インストールが終わったらメニューにenebular editorが追加されるので、そこから起動します。

起動するとログイン画面が表示されるので、enebularと同じログイン情報でログインします。

ダッシュボードから準備したフローia-cloud-device-sample-seをデスクトップモードで開きます。

動作確認

Raspberry Pi上でフローを開いておけば、環境センサーから出力される以下の値が5分周期でia-cloudに登録されます。

  • 温度
  • 湿度
  • 気圧
  • 照度

enebularで ia-cloud-cloud-sample-seを開きます。

開いたフローの右メニューからDashboardを選択し、Dashboard画面を開くボタンをクリックします。

Dashboard画面でia-cloudに登録されているセンサー情報を表示する範囲を選択し、「更新」をクリックします。

選択した範囲のセンサー情報がグラフで表示されます。

「CSVダウンロード」という箇所をクリックするとlist.csvというファイルのダウンローが行なえます。エクセル等で開くと取得したセンサー情報の一覧を見ることができます。

まとめ

単純にセンサーの値をia-cloudに登録し、それを可視化する例を紹介しました。今回は OMRON製 環境センサ を例としましたが、他のセンサーでもフローを少し変えれば変更が可能です。この記事やサンプルフローを参考にしていただければと思います。

今回紹介した方法は手軽に試せますが、Raspberry Piを再起動させるとフローが停止してしまいます。永続的に動作させる方法は後日、別途紹介します。

ia-cloudは無償トライアルを実施中です。ご利用されたい方は、ウフルまでお問い合わせください。