Remarque : travail en cours.
Application simple basée sur la rouille pour mesurer (et peut-être le contrôle ultérieur) les entrées d'alimentation (par exemple à partir d'un panneau solaire) et la sortie (par exemple, l'alimentation utilisée par un framboise de l'ordinateur à carte unique VisionFive 2. L'objectif est de voir si nous pouvons exécuter un ordinateur à carte unique 24/7 sur l'énergie verte.
Cela a été initialement créé pour mesurer la consommation d'énergie d'un Raspberry Pi 4 qui a été alimenté par une banque de batterie qui à son tour a été alimentée par un ensemble de panneaux solaires. Il a également été testé avec le VisionFive 2 basé sur RISC-V.
Les capteurs de puissance utilisent des capteurs basés sur InA219 sur un bus I2C. Tandis que les données météorologiques sont collectées via l'API météorologique.
La raison de la collecte des données d'énergie et de météo est de mieux comprendre le comportement des panneaux solaires dans diverses conditions météorologiques. Cela devrait permettre une meilleure prévision de la quantité de puissance qui sera disponible dans un avenir proche, compte tenu de la météo actuelle.
Le schéma de bloc suivant montre la configuration du système:

En réalité, tout cela semble un peu plus ennuyeux:

Les données collectées ressembleront au tableau ci-dessous - ces données peuvent à leur tour être utilisées pour former un modèle de prévision qui devrait aider à créer un système de bases de contrôle de rétroaction basé sur un modèle.
| horodatage | calcul_voltage | calcul_current | calculer | solar_voltage | Solar_Current | solaire | OWA_TÉMÉRATURE | ... | 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 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
Par défaut, le fichier de configuration est chargé à partir de Default.toml . Vous pouvez définir une variable d'environnement appelée ogc_config pour le charger à partir de tout autre chemin.
Un exemple de fichier de configuration peut être trouvé ici.
Pour l'exécuter en tant que service à l'aide de SystemD, utilisez le fichier unitaire suivant:
[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
Assurez-vous que la bonne chaîne d'outils cible et compilateur est installée sur votre hôte:
rustup target add riscv64gc-unknown-linux-gnu
apt-get install gcc-riscv64-linux-gnu