注:進行中の作業。
電源入力(ソーラーパネルなど)と出力を測定する(および後の制御)を測定する(およびおそらく後の制御)アプリケーション(たとえば、VisionFive 2シングルボードコンピューターのRaspberrypiが使用する電力。目標は、グリーンエネルギーで24時間年中無休で実行できるかどうかを確認することです。
これは当初、バッテリーバンクを搭載したRaspberry Pi 4の消費電力を測定するために作成されました。また、RISC-VベースのVisionFive 2でテストされています。
パワーセンサーは、I2CバスでINA219ベースのセンサーを使用しています。気象データはWeather APIを通じて収集されます。
電力データと気象データの両方を収集する理由は、さまざまな気象条件下でのソーラーパネルの動作をよりよく理解することです。これにより、現在の天候を考えると、近い将来に利用できる電力量の予測が改善されるはずです。
次のブロック図は、システムのセットアップを示しています。

実際には、これはすべてもう少し退屈に見えます:

収集されたデータは、以下に示すテーブルのように見えます。このデータは、モデルベースのフィードバック制御ベースシステムの構築に役立つ予測モデルのトレーニングに使用できます。
| タイムスタンプ | compute_voltage | compute_current | compute_power | solar_voltage | solar_current | solar_power | owa_temperature | ... | owa_cloud_coverage |
|---|---|---|---|---|---|---|---|---|---|
| 21:36:58 | 4.708 | 1174.71036585366 | 5563.71951219512 | 0 | 0 | 0 | 11.92 | ... | 75 |
| 21:37:02 | 4.724 | 1164.74085365854 | 5502.43902439024 | 0 | 0 | 0 | 11.91 | ... | 75 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
デフォルトでは、構成ファイルはdefaults.tomlからロードされます。 OGC_CONFIGと呼ばれる環境変数を設定して、他のパスからロードできます。
構成ファイルの例はこちらにあります。
SystemDを使用してサービスとしてこれを実行するには、次のユニットファイルを使用します。
[Unit]
Description=Open Green Compute
After=multi-user.target
[Service]
ExecStart=/<path to>/open_green_compute
WorkingDirectory=/home/ubuntu
Restart=always
RestartSec=10s
[Install]
WantedBy=multi-user.target
正しいターゲットツールチェーンとコンパイラがホストにインストールされていることを確認してください。
rustup target add riscv64gc-unknown-linux-gnu
apt-get install gcc-riscv64-linux-gnu