ふつうのパソコンと違い、Raspberry Piにはピンヘッダが出ており、いろんな市販のセンサーを接続できます(センサーの接続については別の記事で紹介しています)。
今回は、取り込んだセンサー情報をカッコよく表示してくれるGrafanaという可視化ツールと、データーベースであるInfluxDBをインストールしてみます。 こちらのブログで紹介されている手順をほぼなぞっています。
最終的に、このようなダッシュボードの作成を目指します。
InfluxDB
InfluxDBは、センサーデーターのように時系列のデータの格納に特化したデーターベースです。InfluxDataという会社が開発しています。 有償版もありますが、オープンソース版を無料で使うことができます。
データーベースというとPostgreSQLやMySQL、オラクルなどが有名ですが、InfluxDBはそういった汎用のリレーショナルデーターベースではなく、時系列データを扱うのに特化したものになっています。詳しくは、こちらの記事をぜひご覧ください。
早速Raspberry Piにインストールしてみましょう。
InfluxDBのインストール
まずInfluxdbのリポジトリを登録します。
$ wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add - $ source /etc/os-release $ echo "deb https://repos.influxdata.com/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
アップデートし、influxdbをインストールします。
$ sudo apt update && sudo apt install -y influxdb
influxdbを起動し、再起動時に自動起動するように設定します。
$ sudo systemctl unmask influxdb.service $ sudo systemctl start influxdb $ sudo systemctl enable influxdb.service
以上で、InfluxDBのインストールは完了です。
InfluxDBのユーザーとデーターベース作成
続いて、データを投入したり取り出したりできるように、InfluxDBにデーターベースとユーザーを作成します。
InfluxDB内に複数のデーターベースを持つことができ、またLinuxのユーザーと独立してInfluxDBのユーザーを管理できるので、データ操作に対する細かい権限管理ができるようになっています。
今回は、sensor
というデーターベースとgrafana
というユーザーを作成してみましょう。
influx
コマンドでInfluxDBの操作ができます。
$ influx Connected to http://localhost:8086 version 1.8.1 InfluxDB shell version: 1.8.1 >
InfluxDBのシェルが出てきます。ここで、次のようなコマンドを打ちましょう。
> create database sensor > use sensor Using database sensor > create user grafana with password 'yourpassword' with all privileges > grant all privileges on sensor to grafana > show users user admin ---- ----- grafana true > exit
exit
で、influxコマンドを終了できます。
Grafana
Grafanaは様々なデータベースに対応したオープンソースのデータ可視化ツールです。InfluxDBにも対応しています。 棒グラフや折れ線グラフをはじめ多彩な表現力があり、マウス操作でダッシュボードが簡単に作れるのが便利です。
Grafanaのインストール
まずはGrafanaリポジトリを登録します。
$ wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - $ echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
aptでインストールします。
$ sudo apt update && sudo apt install -y grafana
grafanaを起動し、再起動時に自動起動するように設定します。
$ sudo systemctl unmask grafana-server.service $ sudo systemctl start grafana-server $ sudo systemctl enable grafana-server.service
これでGrafanaにhttp://raspberrypi.local:3000
でアクセスできるようになりました。
早速アクセスしてみましょう。
最初にログイン画面が表示されます。
初期ユーザ名はadmin
、パスワードもadmin
です。
初回ログインすると、パスワードの変更を求められます。 変更して、このような画面が出ればインストールは成功です。
続きはこちら
センサーの値を読み取って、InfluxDBにデータを入れていきます。続きはこちらからどうぞ。