12
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

Organization

スマートメーターから取得した電力消費量を可視化する (1)機器の準備

この記事について

ロームBP35C0-T01とESP-WROOM-32を使って、スマートメーターから取得した電力量を可視化します。
今回は機器の準備です。

前提

  • スマートメーターが使われている家に住んでいること
  • Bルートサービスの申し込みが済んでおり、IDとパスワードを入手している

Bルートサービスの申込みについて

  • すでにスマートメーターが取り付けられているお家の場合は、各地域の電力会社に申し込めば無料でBルートサービス用のID・パスワードを入手することができます。
    • なお、地域の電力会社(東京電力・中部電力など)ではなく電力自由化により他社新電力系の会社から電気を買っている場合でも、Bルートの申込みは地域の電力会社宛になります。
    • 東京電力の場合、IDを郵送で、パスワードをメールで、それぞれ送ってくれます。なんかちぐはぐな気が。
    • とりあえず「Bルートサービス」でぐぐってみましょう。
  • スマートメーターすら付いていない場合、電力会社に言えば交換してくれるようです。詳しくは電力会社に確認してみてください。

今回使用する機器

トータル1万円くらいでしょうか。

個人的には ESP-WROOM-32(以下ESP32)よりはESP-WROOM-02(以下ESP8266)のほうが好みなのですが、今回はとある理由によりESP32を使用します。理由は後述します。

機器の接続

BP35C0-T01 の仕様書を読む

とりあえず BP35C0-T01の仕様書 を読んでおきましょう。

BP35C0-T01 と ESP-WROOM-32 の接続

ということで、仕様書をふまえて、BP35C0-T01 と ESP-WROOM-32 を接続してみます。
#本当は Fritzing できれいな絵を書きたかったのですが、Fritzing用のBP35C0の絵がないようなので、しかたなく手書きで...
bp35c0-t01-1.png
3V3,GND,RX,TXを接続するだけのシンプルな配線です。
BP35C0-T01のCN3(画像の一番右側の列のピン)は使用しません。
ESP32開発ボードはメーカーによりGPIOのピン配列が異なるので、適宜合わせてください。
今回はESP32のUART2(GPIO17/GPIO16)を使用します。

メモ:なぜESP32を使用するのか?

BP35C0の仕様により、UARTの通信速度は115200bpsです。
個人的な経験上、素のArduinoやESP8266のSoftwareSerialでは、115200bpsの通信速度ではデータの取りこぼしが発生する可能性があります。
ESP32はHardwareSerialを3つ持っており、これであれば115200bpsの通信速度でも対応できる、ということで、今回はESP32を使用することにしました。

BP35C0-T01 をブレッドボードで使う技

BP35C0-T01は3列のピンが実装されているため、そのままではブレッドボードに挿せません。
しかし、前述の通り、実際には3列のうち1列のピンは使用しません。
ということで、ちょっと工夫すればブレッドボードに挿せるようになります。

こんなものを用意します。スイッチサイエンスや秋月などで売ってます。(参考→ 足の長いピンソケット
2019-05-01 21.21.47.jpg
これを使用する2列だけに差し込めば、
2019-05-01 21.22.18.jpg
ブレッドボードに挿せるようになります。あー便利:-)
bp35c0-t01-2.png

配線例

私はこんな感じでブレッドボード上で配線しました。
breadboard.png

動作確認

Arduino IDEで以下のスケッチを作成し、ESP32に書き込みます。

HardwareSerialTest.ino
HardwareSerial uart(2);

void setup() {
  Serial.begin(115200);
  uart.begin(115200);

  Serial.print("\n\nstart.\n");
}

void loop() {
  if (Serial.available()) {
    String in = Serial.readString();
    Serial.println(">>> " + in);
    uart.println(in);
  }
  if (uart.available()) {
    String out = uart.readString();
    Serial.println("<<< " + out);
  }
  yield();
}

Arduino IDEからシリアルモニタを開きます。シリアルモニタの入力欄にSKVERENTERと入力し、以下のように反応が返ってくればOKです。

>>> SKVER
<<< EVER 1.5.2
OK

今回はここで一旦終了です。

次回予告

次回は、実際にスマートメーターから電力の数値を取得します。

ここまで読んで、「めんどくせー」と思った人は

ここに書いてあることがめんどくさいと感じた人は、Nextdrive Cube J1 を買いましょう。
何もしないでも、スマホの画面からスマートメーターからの電力消費量を見ることができます。
#qiitaを読んでいる人がそんなことを考えるとは思いたくないですがw

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
12
Help us understand the problem. What are the problem?