0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Node.jsでBルートから消費電力を取得する

Posted at

必要なもの

  • BルートのIDとパスワード
  • Wi-SUNの通信デバイス
  • プログラムを実行するPCなど

BルートのIDとパスワード

契約している電力会社に申請します。
僕の場合は東電エリアなので以下のURLから申請を行いました。

2週間ほどで書面にいてBルートに接続するためのIDが送られてきます。
パスワードはメールにて送付されますので、IDと併せて大切に保管しましょう。

Wi-SUNの通信デバイス

僕はテセラテクノロジーのRL7023(8,000円 [税抜])を購入しました。
USBタイプのものは他にもいくつか製品がありますが1万円を超えるものばかりなので、この製品が最も安価だと思います。

プログラムを実行するPCなど

通信デバイスがUSBドングルタイプなのでPCでもMacでも何でも良いですが、僕は手元にRaspberry Pi 3Bが余っていたのでこれを使いました。

OSはRaspbianです。
Node.jsを入れたり、npmでモジュール追加したりするのでインターネットに繋がるくらいにはセットアップしておきます。


開発

Node.js

apt-getするとv10が入ったので、最新安定版のv12を使うためにnodenvを使うことにします。
nodenvからv12.16.2をインストールしました。

RL7023をRaspberry Piにセット

普通に挿しただけで使えるようになります。
シリアルポートを確認するには以下のようなコマンドで確認してみましょう。

pi@raspberrypi3:~ $ ls -l /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DJ00RTB4-if00-port0
lrwxrwxrwx 1 root root 13  4月 21 17:17 /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DJ00RTB4-if00-port0 -> ../../ttyUSB0

この場合は/dev/ttyUSB0を使います。

Node.jsでシリアルポートに接続

serialportというモジュールを使います。

import SerialPort from 'serialport'

const port = new SerialPort('/dev/ttyUSB0', {
    baudRate: 115200,
});

そして


port.once('open', async () => {
    // Bルート認証パスワード設定
    port.write(Buffer.from('SKSETPWD C <Bルートのパスワード>\r\n'))

    // Bルート認証ID設定
    port.write(Buffer.from('SKSETRBID <BルートのID>\r\n'))
}       

というようにシリアルポートにメッセージを送って応答を受け取っていくのが基本になります。

積算電力量計測値履歴1

当日から99日前までの任意の1日の積算電力量を30分区切りで取得できます。
積算電力量なので、過去から未来にかけて増えていくものですが、例えばとある日の0時0分~0時30分時点の積算電力量を次の区切りである0時30分~1時00分の積算電力量から減算すれば、0時0分~0時30分の間で消費した電力がわかります。

こうして見える化できれば、電気代の高い昼間に沢山電気を使っていることがわかるので、洗濯機や掃除機の使用は昼間ではなく朝夕に変えようかな、といった具体的な行動に移すキッカケになると思います。

特に今は緊急事態宣言が発布されているので、在宅勤務をしている人も多いのではないでしょうか。
となると必然的に日中はPCをつけっぱなしになったりするわけで、平時よりも電気代は高くなっているはずですよね。

作ったソースコードは以下のリポジトリに置いてあります。
https://github.com/chaki1019/broute-js

今後

データを取得することができたので、今後は貯めて可視化することを狙っていきます。
貯める場所についてはまだ決めていませんが、クラウドのマネージドサービスを使いたいなあと思ってはいます。

最有力なのはAmazon DynamoDBかな。


参考

ここにある公式なドキュメントが参考になります。
https://echonet.jp/spec_v112_lite/

今回Bルートをやろうと思った背景などは別途ブログに書いています。
もし良かったら見てやってくださいませ。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?