April 29, 2016

Golang、Raspberry pi 3、Wi-SUNモジュールを使って電力を監視する

raspberrypi3-with-wsr35a1-00

Wi-SUNモジュールについて

Wi-SUNモジュールはWSR35A1-00を使いました。

Wi-SUNモジュールの使い方はRaspberry PiとWi-SUNモジュールでスマートメーターから情報取得がとても詳しいのでこちらをご参照ください。

Raspberry pi 3でGolangで書いたものを動かす

Raspberry pi 3上でビルドする必要はありません。他のLinuxとかで下記のようにGOARCHGOARMを指定してビルドすると、できたバイナリはRaspberry pi 3上で動きます。さすがGolangですね。

GOARCH=arm GOARM=7 go build

Raspberry pi 3には64bitのARMv8が載っていますが、今のところ、Raspbianは32bitのARMv7用なのでGOARCH=arm64にすると動きません。unameの結果も下記の通りです。

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.1.19-v7+ #858 SMP Tue Mar 15 15:56:00 GMT 2016 armv7l GNU/Linux

Golangでシリアル通信

github.com/tarm/serialを使いました。

使い方はREADMEに書いてある通りで、とても簡単です。

今回作ったツールではbp35a1.goで使っています。

ツールについて

プログラムはGitHubにアップしてあります。

使い方はREADMEを見てください。

このツールはfluentdに投げることを前提にしていますが、ちょっと書き換えれば他の何かに送ることもできると思います。

自分はfluentdからElasticsearchに入れて、直近1時間の消費電力とか、1日の消費電力量を見られるようにしています。

直近1時間 1日の消費電力量はElasticsearch側で計算しています。

1日の電力量

© Yuya Kusakabe 2011-2022

Powered by Hugo & Kiss.