充放電コントローラ計測のための通信接続方法は RS232C-USBケーブルを使った有線、BMS計測のための通信接続方法は Bluetoothを使った無線でしたが、今回、充放電コントローラ計測のための通信接続方法もBluetooth(Renogy BT-1)を使った無線に変更しました。
⇒前回記事:「車庫屋根ソーラー発電システム36(12Vシステムのパネル変更)」
関連記事を遡ると
⇒関連記事:「車庫屋根ソーラー発電システム31(計測システム改修)」※計測システム変更3
⇒関連記事:「車庫屋根ソーラー発電システム29(計測システム改善)」※計測システム変更2
⇒関連記事:「車庫屋根ソーラー発電システム25(計測システム改造)」※計測システム変更1
⇒関連記事:「車庫屋根ソーラー発電システム20(計測システム構築)」
計測システムの「関連記事」では、今回、計測システム(新規)構築から数えて5回目となり、これまで記事のお題目に色んな言葉を使ってましたが、今後も続くことを想定し2回目以降はすべて「変更」で統一することにしました・・・。従いまして、今回4回目の変更になります。過去の記事のお題目は敢えて変更してません。
fig01
充放電コントローラ(Renogy Rover 60A)との通信接続には、solarshed を使っていた関係上、Renogy Rover 40A に付属していたRS232-USBケーブルを使っていました。しかしながら、BMS通信に使っているBluetoothの方が使い勝手がいいので、充放電コントローラ(Renogy Rover 60A)との通信接続も Bluetooth化するために solarshed をベースにした改造による実現について検討していたところ、ちょうど目的に合った solar-bt-monitor がでてきたので、今回これを導入する作業を行います。
以下、現状の通信接続構成やプロセス機能配置を含む計測システム構成図になります。
fig02
以下、変更後の計測システム構成図になります。solar-bt1-monitor プロセス(prometheus exporter プロセス)を常時起動し bluetooth により Renogy Rover 60Aに接続している Renogy BT-1 に接続します。solarshed プロセスからの接続は、RS232C-USBケーブル をRenogy Rover 40A に接続変更しました。
fig03
今回唯一の引っかかりポイントについて、Renogy Rover 40A 用に買った古い Renogy BT-1 だと、solar-bt1-monitor がうまく動作しませんでした。古い Renogy BT-1 では60A、40Aどちらもダメで、Renogy Rover 60A 用に買った新しい Renogy BT-1 では60A、40AどちらもOKでした。アプリからの接続は古い方も新しい方も、60A、40Aどちらでも問題なく動作していましたので、古い方が壊れているということでもなさそうです。
solar-bt1-monitor のログを見るとbluetooth接続が問題なくできた後、1回目は正しく計測データを取得できているっぽいのですが、2回目以降は正しく取得できなくなっているようです。古い Renogy BT-1 と 新しい Renogy BT-1 では、データ構造が異なるのかもしれません。
左が古い Renogy BT-1、右が新しい Renogy BT-1。
IMG_5642
結果的に、新しい Renogy BT-1 を使った環境での solar-bt1-monitor プロセス動作は、今のところ極めて安定しています。すばらしいプログラム完成度です。
solarshed から solar-bt1-monitor への機能上の変更点は以下の通りです。(気付いた範囲です)
・通信接続方法が RS232C-USBケーブル を使う有線接続から Renogy BT-1 を使うbluetooth無線接続に変更
・充放電コントローラから出力される電流量が以下prometheusパラメータにより取得できるようになりました
solarmon_battery_current
⇒ solarshed 利用時は、solarshed_battery_volts(充放電コントローラの出力電圧) と solarshed_solar_watts(ソーラーパネルの発電電力) から充放電コントローラの変換効率100%の想定で、オームの法則により電流量を算出していました。
・以下のような各種積算量がprometheusパラメータにより取得できるようになりました(使ってませんが)
solarmon_max_charging_power_today
solarmon_max_discharging_power_today
solarmon_charging_amp_hours_today
solarmon_discharging_amp_hours_today
solarmon_power_generation_today
solarmon_power_generation_total
構築手順については、solar-bt1-monitor の README にとても親切に記載されています。今回の変更での対応はその一部になります。
1.solar-bt1-monitor のインストール
・GATTライブラリのインストール
# pip3 list | grep gatt
gatt 0.2.7
gattlib 0.20201113
⇒すでにBMSとの通信接続で使用しているのでインストール済でした。
・libscrcのインストール
⇒pip3ではインストールできないため、libscrcをビルドする必要があるとのことです。
# cd ~/
# git clone https://github.com/hex-in/libscrc
# cd libscrc/
# python3 setup.py build
# python3 setup.py install
・solar-bt1-monitor のデリバリー
# cd ~/
# git clone https://github.com/snichol67/solar-bt-monitor.git
# mv solar-bt-monitor solar-bt-monitor1 ⇒複数のインスタンス(充放電コントローラ)を設定する予定のため
・solar-bt1-monitor 設定ファイルの編集
# cd solar-bt-monitor1
# cp solar-bt1-monitor.ini.dist solar-bt1-monitor.ini
# vi solar-bt1-monitor.ini
--
[monitor]
adapter = hci0
device_alias = BT-TH-XXXXXXXX ⇒使用する Renogy BT-1 の情報を設定、アプリで確認できます
mac_addr = XX:XX:XX:XX:XX:XX ⇒使用する Renogy BT-1 の情報を設定、アプリで確認できます
log_level = ERROR ⇒最初"DEBUG" で動作確認してから、ログの最小化のため"ERROR"に設定
continuous_monitor = True
data_read_interval = 30
reconnect = True
data_logger = prometheus
--
・prometheus exporter のポート設定変更
# vi ./prometheus_logger.py
--
・・・
start_http_server(5001) ⇒デフォルトは5000、solarshed exporter と競合するため変更
・・・
--
2.prometheus.yml の変更(追記)
# cd /etc/prometheus
# vi prometheus.yml
--
・・・
- job_name: solar-bt-monitor1
static_configs:
- targets: ['localhost:5001']
・・・
--
3.solar-bt1-monitor の起動
・起動シェルの作成
# cd ~/
# vi solar-bt-monitor1.sh
# cat solar-bt-monitor1.sh
#!/bin/bash
pyspid=`ps -ef | grep solar-bt-monitor1 | awk '{if($8=="python3")print $2}'`
if [ ! "$pyspid" = "" ]
then
kill -9 $pyspid
sleep 1
fi
( cd /root/solar-bt-monitor1 ; python3 /root/solar-bt-monitor1/solar-bt-monitor.py ) &
・クーロンへの起動シェル追加
# crontab -e
# crontab -l
・・・
@reboot /root/solar-bt-monitor1.sh
・・・
・起動(RaspberryPIの再起動か以下コマンド投入)
# /root/solar-bt-monitor1.sh
ログ(~/solar-bt-monitor1/solar-bt-monitor/solar-bt-monitor.log)に異常出力がないか確認する
4.Grafana GUI の変更
・既存のダッシュボードをコピーして、solarshed のパラメータを solar-bt-monitor1 の対応するパラメータに変更
変更作業は以上で完了です。
以下、先の計測システム構成変更に関係するところ以外での変更はありません。
負荷システム構成図。
fig04
24Vシステム構成図。
fig05
12Vシステム構成図。
fig06
その後曇りのため発電が低調ですがシステム動作は順調です。最初と微妙に画面配置が好みと気分で変わっていますが、いとも簡単に変更できるところがGrafanaの強みです。
fig07
https://www.haseatskier.com/archives/32617769.html
コメントを編集
いいねした人
コメントを書く
ヤマレコにユーザー登録いただき、ログインしていただくことによって、コメントが書けるようになります。ヤマレコにユーザ登録する