Примечание : работа в процессе.
Простое приложение на основе ржавчины для измерения (и, возможно, более поздних контрольных входов) (например, с солнечной панели) и выходной (например, мощность, используемая Raspberrypi of VisionFive 2 Single Poord Computer. Цель состоит в том, чтобы увидеть, сможем ли мы запустить один платный компьютер 24/7 на зеленой энергии.
Первоначально это было создано для измерения энергопотребления Raspberry Pi 4, который питался батареем, который, в свою очередь, питался набором солнечных панелей. Он также был протестирован с помощью VisionFive 2 на основе RISC-V.
Датчики мощности используют датчики на основе INA219 на шине I2C. В то время как данные о погоде собираются через 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 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
По умолчанию файл конфигурации загружается из default.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