Station météorologique
- Détails
La station météorologique permet d'acquérir différentes mesures de l'environnement pour les transmettre à un serveur externe et afficher les valeurs en temps-réel sur une interface graphique.
Plusieurs détails sont fait dans la vidéo : https://youtu.be/T4_CxVAVX9I
La station météo comporte un capteur de température, un capteur de pression, un capteur d'humidité et un capteur de vent. À intervalle régulier, ces informations sont transmises par WiFi à un serveur qui collecte l'ensemble de ces données.
La conception mécanique du boitier a été fait en fonction du capteur de vent qui nécessite une base particulière. À partir de là, il a été possible de faire la conception de la structure de la station météo. Des fentes verticales servent à laisser passer l'air et à bloquer la pluie et la neige. Le boitier comporte deux couches avec des fentes qui sont intercalées et espacées. Ainsi, même si la pluie entre par les fentes extérieurs, elle ne va pas s'introduire au niveau des capteurs. Par contre, l'air peut passer ce qui permet d'obtenir une lecture de la température plus fiable. Au centre du boitier, on retrouve les capteurs de température, de pression et d'humidité. En fait, le capteur de température et de pression sont dans le même boitier, soit le BMP388 de Bosch. Le capteur d'humidité est le HR202.
Au niveau de la partie électronique, la station météo est gérée par le microcontrôleur ESP32. Cette famille de microcontrôleur est très puissante et intègre les composants nécessaires pour avoir une communication WiFi. Ainsi, il a été possible de réaliser le projet avec un minimum de composant. Étant donné que le ESP32 est un microcontrôleur, il suffit de relier les capteurs directement au ESP32 selon les protocoles de communication. Pour l'alimentation, le microcontrôleur peut accepter une alimentation 5V qui est fournie par un régulateur linéaire sur le PCB. La carte est alimenté par une alimentation externe de 12V qui sera convertie en 5V par le régulateur. Le capteur de vent est aussi relié directement au ESP32 puisqu'il envoi une pulsation à chaque révolution. Ainsi, il suffit de le relier à une entrée d'interruption du microcontrôleur. Pour ce projet, un PCB a été conçu et produit pour produire un résultat plus professionnel et plus fiable. Surtout que le circuit restera à l'extérieur et il va subir de fortes variations de température, il est préférable d'avoir un circuit robuste. J'ai fait produire mon PCB chez PCBWay et à nouveau, le service était très rapide et de bonne qualité.
Pour la partie logicielle, j'ai utilisé l'environnement de développement Visual Studio Code avec l'extension Platform IO. Les cartes ESP32 sont compatibles avec les librairies Arduino, ce qui les rend super agréable et simple à utiliser. Dans l'extension de Platform IO, il est possible d'avoir accès à un nombre immense de librairie pour différentes applications. À coup sûr, les capteurs que j'avais sélectionné étaient déjà intégrés dans l'environnement ce qui a accéléré le développement. En bref, le programme interroge les capteurs à intervalle de 10 secondes pour accumuler les résultats dans des mémoires. Ensuite, la moyenne est calculée sur les 50 précédentes valeurs en mémoire. Ainsi, la valeur est plus stable et fiable. Ensuite, à intervalle de 15 minutes, la moyenne de chaque capteur est envoyé au serveur web. Ainsi, à intervalle régulier, la base de donnée du serveur augmente avec de nouvelles données de température, pression, humidité et vent. À partir d'une application fait sur mesure et connectée à la base de donnée, il est possible d'afficher les informations sur une interface graphique.