
Raspberry Pi Zero Wを使って自宅の電力使用量をBルートから取得
ラズパイ自体は下記でルンバのお掃除最適化のために購入したものがあるので、それを使います。
問題はここにWi-SUNモジュールを接続してBルートと通信できるのか、というところですね。そこさえクリアできれば、あとはインターネット経由でTiDBに使用量を書き込んでくれればいいので、さしてハードルは高くないはず(下記の日記でやったことの移植)
本当は、瞬時電力以外にも色々やりたいわけですが、まずは一連の流れを繋ぎ切りたいですね。
まずは、前回の実装通りにBルートから電力データを取得できるか、それをTiDBに書き込むことができるか、それがGrafanaで表示されるかを一通り確認した上で、
ラズパイにWi-SUNモジュールを接続して電力データが同様に取得できるか、ラズパイからTiDB Cloudにデータを書き込むことができるか、の順で確認していきましょう。

ラズパイにWi-SUNモジュールを接続
まずはsshでラズパイに接続します。えい!

調べてみたところロケール設定(言語や地域設定)が正しく構成されていないとのこと(GPT先生談)。せっかくの機会なので、設定を試みる。

しかし、よく見るとen_USとja_JPを生成しようとしているのにen_GBを生成してcomplete.って言ってるんだよな。何がコンプリートやねん。面倒になってしまったので飛ばすことにします。
さて、過日、Macで試したときは、まずシリアル通信を行うためのpyserialライブラリのインストールから始めていました(pythonはラズパイに環境構築済み)。

次はWi-SUNモジュールが正しく認識されているかどうかですが、ls /dev/tty.*はラズパイ上ではエラーになってしまうので、下記で認識しているか確認。
dmesg | grep tty
Wi-SUNモジュールがUSBポートとして認識されているか確認。

利用可能なシリアルポートを表示すると出力の中にttyUSB0なるものがある。

※実は初手のレスポンスの中にttyUSB0ってガッツリ書いてあった。

ラズパイからTiDB Cloudにデータを書き込み
いずれにせよ、ポートがわかったので、以前のスクリプトの中身を書き換える。こんな簡単にいくのかなと思いながら実行してみると案の定エラー。MySQL Connectorが必要とのこと。インストールする。

その後、証明書の部分を書き換えが必要とエラーが出たものの、素直に直して実行したところ、接続が成功。

グラファナでも発火を確認!やった〜!

これをバックグラウンドで実行し続けて欲しいのだが。nohupで実行。

同時刻にデータベースにちゃんと書き込みできている!成功では!

これであとは、しばらく様子見て欠損値がどれくらい出るかの確認ですね〜スマメとお友達に慣れて嬉しいよ〜
先々は瞬間電力量以外も色々見られるようになりたいな〜というのと、毎分データ記録してても(多分大丈夫だと思うけど)TiDB Cloudの無料枠で収まるのだよねということの確認だけしておこう。おつかれさまでした!
いいなと思ったら応援しよう!
