IoT電力メーターを作る[その9](データの蓄積と推移チャート)
- 開発
- 2023年2月21日
- 読了時間: 2分
前回、受信したデータをリアルタイムにグラフ表示するWebページを作成しました。
今回は、送られてきたデータをデータベースに蓄積しつつ、電力量の推移を表示するWebページを作成していきましょう。
プログラムのフローは、下記のようにしました。

1分ごとに送られてくるデータを蓄積しつつ、分・日時・月日の3つのテーブルに保存し、すぐに読みだしてチャートに表示します。これで各チャートは1分ごとに直近の値で更新されていきます。
IoTで使用するデータベース
データベースというとSQLデータベースが有名ですが、今回はNoSQLという、SQLではないデータベースを使用しています。別にSQLを使用しても良いのですが、NoSQLの方が向いているからです。スキーマを定義しなくても保存が可能なデータベースは、試行錯誤が伴う開発にはもってこいです。
データの削除
1分間隔でも、一日に1440レコードが記録されます。ぼんやりしていると、あっという間に数万レコードになってしまいます。そのため定期的に古いデータの削除が必要です。

とりえあず、一昨日以前の1分データと、2か月以前の日時データは削除しておくようにします。
Node-REDとノーコード/ローコード
Node-REDは、ノーコード(プログラミングなし)開発ツールの一種です。しかし100%プログラミングなしで書けるのは、ごく一部でちょっと複雑な処理の場合は、プログラミングが必要になります。そして、かなり複雑な処理の場合は収集がつかなくなってきます。
今回のケースは、プログラムとしては簡単な部類ですが。Node-REDで扱うには、中程度だと思います。パーツの絵と線があって、とっつきやすいのは事実ですが、全面的に従来のプログラミングから置き変わるということはないでしょう。
以上で、開発当初、念頭にあった電力モニターシステムは完成しました。次回は、まとめの記事でしめくくりたい思います。
](https://static.wixstatic.com/media/829497_b07c6482d8aa40e08a3a401932655a70~mv2.png/v1/fill/w_464,h_466,al_c,q_85,enc_avif,quality_auto/829497_b07c6482d8aa40e08a3a401932655a70~mv2.png)
](https://static.wixstatic.com/media/829497_57a33fa4e6a248438d4664fcdbdc691f~mv2.png/v1/fill/w_429,h_540,al_c,q_85,enc_avif,quality_auto/829497_57a33fa4e6a248438d4664fcdbdc691f~mv2.png)
](https://static.wixstatic.com/media/829497_73b2dcdf235343b9b25b0bc2008d3d2b~mv2.jpg/v1/fill/w_980,h_735,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/829497_73b2dcdf235343b9b25b0bc2008d3d2b~mv2.jpg)
コメント