Arduino et Raspberry Pi

Un système de surveillance avec Raspberry Pi et Arduino qui envoie un e-mail en cas de chaleur dangereuse

Avec les fortes chaleurs de l'été, les cas de personnes âgées vivant seules, transportées à l'hôpital pour un coup de chaleur faute d'avoir remarqué la hausse de température dans leur logement, se multiplient. « THSense », un projet personnel publié sur Zenn, s'adresse aux personnes qui s'occupent de proches vivant loin. Il surveille la température et l'humidité de la pièce et envoie un e-mail lorsque la température atteint un niveau dangereux.

Les fonctions sont simples : mesure de la température et de l'humidité toutes les minutes, envoi d'un e-mail au-delà de 35 °C, et consultation dans le navigateur des valeurs actuelles ainsi que de l'historique sous forme de graphique. Selon l'auteur, le graphique permet de repérer plus tôt des signes avant-coureurs, comme une température qui ne cesse de monter.

L'architecture est intéressante. La lecture du capteur (DHT20) est confiée à un Arduino présent sur le Grove Beginner Kit plutôt qu'au Raspberry Pi, car cela assure une meilleure réactivité et des valeurs plus fiables. Toutes les 60 secondes, l'Arduino envoie une chaîne de caractères au Raspberry Pi via un port série USB. Le programme Python du Raspberry Pi la reçoit avec pyserial, la convertit en nombres, puis se charge de la détection du seuil, de l'envoi de l'e-mail et de l'enregistrement en base. La base est une MariaDB hébergée sur une machine virtuelle Azure, et l'interface est réalisée avec Flask et Chart.js. Les e-mails transitent par le serveur SMTP de Gmail via smtplib, et les identifiants sont lus dans un fichier .env plutôt que d'être écrits dans le code.

La répartition des rôles est claire, ce qui en fait un bon exemple de conception pour un petit projet IoT. Confier la mesure à l'Arduino et la décision ainsi que la notification au Raspberry Pi est une séparation que je pourrai moi aussi réutiliser pour des bricolages similaires. L'auteur indique que le code source est publié sur GitHub.

Source : Zenn

Commentaires 0

Laissez le premier commentaire, dans la langue de votre choix.

Connectez-vous pour commenter