電力モニター「はやわかり」に記録されているデータをgoで吸いだしてhogehogeする
数年前にイギリスから発売された製品に「OWL+USB」というのがあります。ブレーカーから延びてるケーブルに同梱されている送信機についたクリップを取り付け、それを無線で飛ばして受信機で受け取った後、表示・記録する、というものです。各国対応版となっており、当然日本の電圧にも対応しています。日本の代理店を介した製品名は「はやわかり」です。
電力モニター | |
2 Save Energy Ltd 売り上げランキング : 44157 Amazonで詳しく見る by G-Tools |
→ taiyoh/go-cm160 · GitHub
参考にしたのは、Cで書かれた野良ツールの「eagle-owl」というものです。これをリファレンスにして、同じメッセージがのやりとりができればデータが取得できるはずで、あとの処理はまた別のレイヤーに任せる形にしよう、という考えの下進めていきました。内部でlibusbとやりとりするgo-libusbというライブラリも使っていて、これも一緒にインストールしておく必要があります。
# libusbの開発パッケージもインストールしておく $ go get github.com/taiyoh/go-libusb $ go get github.com/taiyoh/go-cm160
テストとか全然用意できてなくて申し訳ないですが、実機を伴うのはとてもやりづらい。。。下にこれを使ったツールのサンプルを添えておきます。
Waitメソッドの引数のコールバックに任意の処理を入れるような形にすれば、用途を限定せずにいろんなことができるようになるかな、と思いました。また、電圧も外から入力できるようにしたので、国が変わる度にワット数の計算が合わなくなることも避けられるはず。。。