Station météo
Réalisation d’un station météo au sein d’un lycée - Documentation
Matériels :
- Raspberry pi 3
- Carte SD Classe 10 de 16 Go
- Capteur BME280
- Quelques fils
Installation :
Installation du raspberry pi 3 :
Téléchargement de l’image du système d’exploitation pour le raspberry pi sur le site de la fondation Rapsberry pi : https://www.raspberrypi.com/software/operating-systems/
On choisira la version Raspberry Pi OS Lite dans le cadre de ce projet afin de restreindre la quantité de mémoire utilisée en installant uniquement les logiciels et bibliothèques utiles.
A l’aide du logiciel Rufus, on installe l’image disque sur une carte SD.
Configuration du réseau wifi et du proxy réseau :
https://raspberry-pi.fr/raspberry-pi-sans-ecran-sans-clavier/
Installation des bibliothèques python pour la lecture des données du capteur BME280 :
Installation lib arduino IO
pip3 install adafruit-io
Code de récupération et envoi des données sur Adafruit IO :
import time
from bme280 import * # Gestion capteur BME280
from Adafruit_IO import Client # Gestion envoie donnée
# Connexion à Adafruit IO
aio = Client('Identifiant', 'Token')
# Initialisation des flux
temperature_feed = aio.feeds("temperature")
pression_feed = aio.feeds("pression")
humidite_feed = aio.feeds("humidite")
# Affichage information identification capteur
(chip_id, chip_version) = readBME280ID()
print("Chip ID :", chip_id)
print("Version :", chip_version)
while True:
# Récupération des données du capteur
temperature, pression, humidite = readBME280All()
# Affichage des données
print("[LOGS] Données : ",temperature, "°C |",round(pression,2), "hPa |",round(humidite,2), "%")
# Envoie des données sur Adafruit IO
aio.send_data(temperature_feed.key, temperature)
aio.send_data(pression_feed.key, pression)
aio.send_data(humidite_feed.key, humidite)
# Attente de 10 secondes avant la mesure suivante
time.sleep(10)
Création compte sur Arduino IO: ->créer les flux temperature, pression, humidite
Installation de npm pour installer pm2
sudo apt install nodejs
installation de pm2 pour gérer le lancement automatique
sudo npm install pm2@latest -g
Pour vérifier le bon foncionnement et les processus automatisées
pm2 list