Les services météorologiques en ligne sont parfaits pour fournir des prévisions de zone génériques, mais ils ne fournissent pas de données hyperlocales spécifiques à votre emplacement. [Harald Kreuzer] avait besoin des deux et a construit une station météorologique Raspberry Pi qui fournit des prévisions météorologiques pour les 7 prochains jours ainsi que des lectures de capteurs locaux. Le projet est entièrement open source et basé sur une station de base Raspberry Pi qui se connecte aux nœuds de capteurs ESP32 et aux services en ligne pour bien présenter les données sur un écran tactile de 7″.
L’architecture est assez simple. Les nœuds de capteurs basés sur ESP32 publient leurs lectures sur un courtier MQTT exécuté sur le Raspberry Pi. Le Pi s’abonne à ces sujets de nœud de capteur pour récupérer les données de capteur pertinentes. Cela facilite l’ajout de nœuds de capteurs supplémentaires à l’avenir. Les données de prévisions météorologiques sont collectées en se connectant à l’API OpenWeatherMap. Toutes les informations collectées sont ensuite affichées via une application construite à l’aide de Kivy : framework de développement d’applications Python open source.
Le matériel de la station de base est simple et logé dans un élégant boîtier imprimé en 3D soutenu par un support de base imprimé en 3D. L’électronique du nœud de capteur à distance est un peu plus impliquée. [Harald]La conception de utilise un simple circuit imprimé personnalisé qui est essentiellement une carte de support pour le montage de l’ESP32, un commutateur DIP bidirectionnel pour le réglage de l’adresse du nœud du capteur, un diviseur de tension pour mesurer la tension de la batterie, un capteur BME280 qui fournit des lectures de température, d’humidité et de pression atmosphérique. , et un chargeur de batterie basé sur TP4056 pour la batterie lithium-ion 18650. La batterie est chargée via une cellule solaire qui forme le couvercle supérieur de l’enceinte du nœud de capteur.
Les applications de capteurs à distance telles que celles-ci fonctionnent bien lorsque la durée de vie de la batterie peut être prolongée aussi longtemps que possible, ce qui nécessite de réduire la consommation d’énergie au strict minimum. [Harald] sélectionne une carte ESP32 avec un régulateur de tension à faible courant de repos. Cela se traduit par un courant d’environ 20uA pendant les périodes de sommeil profond de 10 minutes et de 200mA sur une période de 10s pour la connexion au WiFi et la transmission des données. Il estime que cela lui donnera environ 25 jours avant que la batterie ne se décharge. Espérons qu’il obtiendra suffisamment d’heures d’ensoleillement pendant les mois d’hiver pour maintenir la batterie rechargée.
Il existe plusieurs logiciels qui doivent fonctionner à l’unisson pour faire fonctionner la station météo, et [Harald] nous guide à travers l’installation et la configuration de chaque pièce en détail. De la configuration du système d’exploitation sur le Raspberry Pi et le Kivy : cadre dans lequel l’application de la station météo est codée, à la configuration de l’API OpenWeather, du courtier Mosquitto MQTT et du flashage du code sur les nœuds de capteurs ESP32. [Harald] a partagé tous les détails des composants matériels et logiciels de la station météo sur les référentiels Github, ce qui facilite la réplication de ses efforts.
La station météo fonctionne comme prévu, mais [Harald] dispose déjà d’une liste d’améliorations « fluage de fonctionnalités » qu’il aimerait mettre en œuvre dans la prochaine version, ce qui ne devrait pas nous surprendre. Les projets de stations météorologiques sont les favoris des hackers, et il existe de nombreuses approches différentes, telles que cette station météo pour qu’il pleuve ou qu’il brille ou cette soumission au prix Hackaday 2022 pour une station météo LoRa à énergie solaire pour les masses.