久し振りにRaspberry Pi4Bを扱っています。
最近仕事で立ち上げようとしている検査装置ですが、測定結果をSDカードに書き出すようにはしていますが、SDカードは読み書き回数制限があるので些か心許ないです。
今のところPC等の用意が無いので、お試しにラズパイでどうにかならないかと検討中です。
よくトレーサビリティーがどうとかと申しますが、私は個人的に疑問視しています。
ずっと紙で残しているところが多いですが、PCに保存している装置もあります。
ただPC保存のデータって、、、装置が故障したタイミングから保存されていなかったりとあまり使えた記憶が無いです。
立派なサーバーを準備しているところもありますが、そういうところはデータが大き過ぎて該当データを抜き出すのに苦労したりします。
結局、高額投資してデータを大量に保存していても、
確認するのが面倒なので、殆ど活用されていないのが現状だと判断しています。
せっかく取得しているんだから、誰かしら監視して居て欲しいのです。
それこそIoTとかAIとかの出番だと思いますが、、、
言葉で言うのは簡単ですが、実現するにはハードルが高いのもまた事実。
『とにかく、やってみる』精神でラズパイでお手軽に始めてみたいと思っています。
あれこれ物色していて目を付けたのは、InfluxDBとGrafanaの組合わせです。
最初はPiZero2でmariaDBを用意しかけていたのですけど、
こちらの方がちょこっと様子を見るのには良さそうに感じました。
昔の職場でDelphi3とInterBaseを使ってクライアントサーバーのシステムを立ち上げた経験があります。
正直この手のシステム業務は内製化しないほうが良いと思います。
私自身、異動になり誰がメンテするのか?困ったことになったからです。
10年以上稼働していたので、10回以上は修理に呼ばれた経験があります。
(たまにしか触らないと、全く思い出せず苦労しました。)
上記リンクのインストールと立ち上げ方法は割と新し目のものを探して試したのですけど、それでもInfluxDBもGrafanaもメニューが変わっていました。
すんなりは使えませんでした。
■InfluxDB(時系列データベース)
インストール前に序盤の# ソースの設定で躓きました。
結局のところ、
スクリプトが参照している認証キーが無効でaptがupdate出来ませんでした。
下記の対策に辿り着くまで半日ぐらいかかりました。
今はPi4Bを引き当てていますが、
軽く動きそうなのでハードはグレードダウンしても良いかも?
でも記憶媒体はSSDにはしたいですね。
インストールもmariaDBより楽だった気がします。
上記写真は、Qiitaに紹介されていたPythonスクリプトをそのまま使って、
ダミーデータをDBに書き込んでいるところです。
■Grafana
紹介されている画面と、現行のメニューが異なります。
何とか空気を読んで、エラーが出なくなるまでポチポチ試してみて
やっとこさ、グラフ表示まで持ってこれました。
表示テクニックはもっと磨かなきゃですが、格好いいグラフが描けそう。
(乱数で適当に数値を出しているので、相関も傾向も無いです。)
同ネットワーク上のWindowsPCなどでローカルホストにアクセスすると
GrafanaのWEBサーバー?が開きます。
予めクエリーを仕込んでおいたダッシュボードを開くとグラフが見れます。
スケールとか、時間を絞ったりとか後でも出来るみたいなので、
管理者向けの画面が、割と簡単に実現できそうです。
あとはArduino UNO R4で収集したデータをどうにかしてラズパイに渡して、
PythonスクリプトでDBに追記していければ、、、ある程度目処が立つかな?