Hinweis : Arbeiten in Arbeit.
Einfache rostbasierte Anwendung zur Messung (und möglicherweise später Steuerung) Stromeingänge (z. B. aus einem Solarpanel) und Ausgabe (z.
Dies wurde ursprünglich erstellt, um den Stromverbrauch eines Himbeer-Pi 4 zu messen, der von einer Batteriebank angetrieben wurde, die wiederum von einer Reihe von Solarpanels angetrieben wurde. Es wurde auch mit dem RISC-V-basierten VisionFive 2 getestet.
Die Leistungssensoren nutzen Sensoren auf ASA219 -Basis über einem I2C -Bus. Während die Wetterdaten über die Wetter -API gesammelt werden.
Grund für das Sammeln von Strom- und Wetterdaten besteht darin, das Verhalten der Sonnenkollektoren unter verschiedenen Wetterbedingungen besser zu verstehen. Dies sollte eine bessere Vorhersage der Menge an Strom ermöglichen, die in naher Zukunft angesichts des aktuellen Wetters verfügbar sein wird.
Das folgende Blockdiagramm zeigt das System -Setup:

In Wirklichkeit sieht das alles etwas langweilig aus:

Die gesammelten Daten sehen wie die unten gezeigte Tabelle aus. Diese Daten können wiederum ein Prognosemodell trainieren, mit dem ein modellbasiertes Feedback -Steuerbasissystem erstellt werden soll.
| Zeitstempel | 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 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
Standardmäßig wird die Konfigurationsdatei von Standards.toml geladen. Sie können eine Umgebungsvariable namens ogc_config einstellen, um sie von einem anderen Pfad zu laden.
Eine Beispielkonfigurationsdatei finden Sie hier.
Um diesen als Dienst mithilfe von Systemd auszuführen, verwenden Sie die folgende Einheitsdatei:
[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
Stellen Sie sicher, dass die richtige Ziel -Toolchain und der Compiler auf Ihrem Host installiert sind:
rustup target add riscv64gc-unknown-linux-gnu
apt-get install gcc-riscv64-linux-gnu