EnOceanのセンサーをつかって現場のデータを取得、サーバーに送りそれを監視したり、時系列で表示できるようにしたいと考えています。
現場側ではデータを送ることだけに専念し、サーバー側であとの処理はできるように切り分けていきます。
使用するサーバーはさくらのVPSで進めます。
*既にNode-REDもInfluxDBもインストールしたので、その後の方法の記載です。
データベースにはInfluxDBを使用するので確認
DBにはInfluxDBを使用して、Node-REDからデータを流し込みます。
こちらの記事を見ながらやっていきます。
InfluxDBをRaspberry Piにインストールし、node-RED経由でIoTデータを挿入し、Chronografで可視化してみた。 – Qiita
InfluxDB インストール – 簡単な使い方 – Qiita

まずは、influxDBを起動。

以前、main_dbというデータベースを作成したので、それがあることを確認。
ちなみに、DBの作成は
> CREATE DATABASE TEST
にて作成できます。
あと、MySQLのtableに該当するものは、measurementというようで、DATABASEの中身を見るには、

このようにします。

table1の中身確認。以前挿入したデータが表示されました。
InfluxDBにデータを格納する方法
InfluxDBをRaspberry Piにインストールし、node-RED経由でIoTデータを挿入し、Chronografで可視化してみた。 – Qiita
Qiitaで@yoroyasuさんが書かれた記事のNode-REDフローを確認。


Injectノードでは、”temp=26.01,hum=65.43″というデータを送信。

influxdb outノードでtable1を指定。
MySQLに比べてすごくシンプルですね。とおもったら、そうじゃなかった!
@yoroyasuも書かれていますが、Objectとして送る必要があるとのこと。
だとしたら前回の記事で受け取ったデータがそのままおくれそう。
SATEL社のGRPS-Aで取得したデータをInfluxDBに送る方法
こちらが前回の記事。
SATEL社のGRPS-Aでデータを取得してSakura VPS上のNode-REDで監視と制御を行う方法|デジタルライト(Digital-light.jp)

GRPS-AからMQTTで送られてくるデータがJSON文字列なので、Node-REDのjsonノードでObjectに変換したデータがこちら。

なので、そのままinflux outノードに送れば格納できます。

横幅が足りずに行ずれしていますが、しっかりと項目ごとにDBに保存されています。
ChronografをCentOS7にインストール
先程のデータを可視化するためにChronografをさくらのVPSにインストールします。
CentOSへのインストール方法は下記リンクにあります。
Install Chronograf | Chronograf 1.8 Documentation
いまさら CentOS8に 「InfluxDB 1.8.3 + Telegraf + Chronograf」をいれて複数 Raspberry pi4 の温度管理をしてみる – Qiita
# wget https://repos.influxdata.com/rhel/8/x86_64/stable/chronograf-1.8.10.x86_64.rpm # sudo yum localinstall chronograf-1.8.10.x86_64.rpm # sudo systemctl enable --now chronograf # sudo systemctl status chronograf
Chronografのバージョンについては、こちらで確認しておきましょう。
Releases · influxdata/chronograf · GitHub

ブラウザでURL:8888にアクセスするとChronografが表示されました。
Chronografの画面

GRPS-AからのデータでRSSI(受信信号強度)の時系列での変化をChronografをつかってグラフ化してみました。

functionsでは、データをどのように集計するかの機能を選ぶことができ、functionsを選んで”Apply”を押すとグラフに反映されます。

可視化については、”Visualization”タブをクリック、”Visualization Type”を選択、”Send to Dashboard”とします。

これでDashboardに表示されるようになりますが、どのように使うかはこれから調査していきます。
まとめ
今まではセンサーデータの取得は、あくまでも制御するためのロジックの素材のひとつでしたが、サーバー場に時系列で集計することにより、最近話題のDXにも関連づけられるような使い方ができそうです。
引き続き、調査・検証していきます。