chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

FlutterでMQTT通信させてスマートメータの瞬時値を表示する

Nature Remo E を使って自宅のスマートメータの瞬時値・積算値が取れるようになった。Nature社のサーバにWebAPIで要求を出すとスマートメータの値を取得することができる。ESP32やらM5StickC等を使って、瞬時値が液晶に表示されたり、閾値による監視をやりたい。アプローチはESP32 + MicroPythonなのかもしれないが、、どうしてもFlutter + MQTTでスマートメータの値をリアルタイムで取りたかったので、スマフォアプリを試作してみた。まだ細かい所を作りこむ必要があるけど、MQTTにSubscribeして、電力データがPublishされるとゲージが動くサンプルまではできた。

電力データをMQTT ブローカに投げる所がまだできていないので、MQTTツールでPublishしてテスト

Nature社のWebAPIはMQTTではないので(当たり前ですが)、どこかのクラウドサーバ上で、Nature社のAPIを叩いて瞬時値を取ってきて、MQTTブローカにPublishする必要がある。AWSのLambdaでやってもいいけど有料なので、どこか無料のホスティングがないかと思案中*1

スマフォからNature社のWebAPIに直接アクセスるのもありですが、スマフォアプリはMQTT Clientとして作っておけば、topicさえ変えればいろんな計測データを汎用的に扱えるのではと思ったので。

■参考URL
mqtt_client/mqtt_server_client.dart at master · shamblett/mqtt_client · GitHub

*1:Google Apps ScriptでCRONを走らせられて、Google ColaboratoryではPythonが走らせられるらしい。2つを連携させると、定期的にAPIを叩いて、MQTTでPublishできそうな気がする