Aller au contenu

Alarme températures et niveaux avec un RaspberryPi


Messages recommandés

[ Je recopie mon article posté sur un autre forum pour illustrer mes propos dans l'article osmolation/surveillance DIY ]

 

Bonjour,

Je continue dans mes investigations d'automates à base de RaspberryPi pour gérer mes bacs.

J'ai développé une appli qui me permet de consulter depuis mon smartphone la température de l'eau, de l'air du bac et de la décant ainsi que les niveaux d'eau de la décant, de l'osmolation et de la réserve d'eau osmosée et de m'envoyer une alarme par email si les seuils que j'ai défini sont hors limites.

Niveau coût, on s'en tire pour moins de 100€, sachant que le Raspberry peut aussi servir à autre chose ...
Voici un tuto si certains sont intéressés.

Besoin
* Surveiller certains paramètres de l'aquarium : températures, niveaux d'eau et déclencher une alerte email si problème

Matériel
 

* 1 à 4 RasberryPi connecté au réseau local pour accès internet via smartphone

* 1 carte miniSD de 16Go (8Go mini pour le système)

* 1 à 4 sonde(s) de température étanche de type DS18B20

* 1 à 4 capteur(s) de niveau de type NF FLSW2

* 1 boitier pour le RaspberryPi

* 1 alim 5v USB pour le RaspberryPi + cable micro-usb

coût en VPC France (Amazon, Gotronics, ...)
= 80€ (1 sonde & flotteur) à 120€ (4 sondes & flotteurs)

* 1 résistance de 4.7K pour le(s) sonde(s) de température
* 1 à 4 résistances de 10K pour les flotteurs
* 1 connecteur 2x20pin pour les branchements vers le Raspberry (en option mais bien pratique)
* 2x1 à 2x4 fiches M/F 2pin et 3pin pour connecter les sondes et les flotteurs (en option mais bien pratique)
* 1 cable RJ45 (ou wifi car le Raspberry3 intègre désormais le wifi)
* n mètres de cable 2 conducteurs (flotteur) et 3 conducteurs (sonde)

coût en VPC France (Amazon, Gotronics, ...)
= 10€ (1 sonde & flotteur) à 20€ (4 sondes & flotteurs)

* supports imprimés pour les flotteurs à fixer sur des aimants
= gratuit, j'ai une imprimante 3D

Logiciel

Développé en langage NodeJS en quelques dizaine d'heures.
Je suis partisan de l'open-source, donc je partage mon code avec la communauté
aquariophile.
= gratuit

Repo github: https://github.com/ylemarie/aquasurvey

Paramètres

Les paramètres sont configurables online (écran ci-dessous) ou offline dans un fichier txt au
format JSON.
* T° eau mini : c'est la T° en dessous de laquelle une alarme sera remontée
* T° eau maxi : c'est la T° au dessus de laquelle une alarme sera remontée
* T° air mini : c'est la T° en dessous de laquelle une alarme sera remontée
* T° air maxi : c'est la T° au dessus de laquelle une alarme sera remontée

* Sonde T° eau bac : adresse de la sonde
* Sonde T°eau decant: adresse de la sonde
* Sonde T°air bac : adresse de la sonde
* Sonde T°air decant : adresse de la sonde
* GPIO decant Min : n° du port du flotteur niveau bas decant
* GPIO decant Max : n° du port du flotteur niveau haut decant
* GPIO osmolation : n° du port du flotteur niveau osmolation* GPIO osmosée : n° du port du flotteur niveau osmosée

* EMAIL dest : l'adresse mail du receveur des alarmes
* SMTP server : gmail (pas testé avec autre chose)
* Send period : le temps entre 2 mails d'alertes en minutes
* SMTP user : login du serveur SMTP
* SMTP password : mot de passe du serveur SMTP

* Check : périodicité du contrôle des paramètres en secondes
* HTTP port : n° du port http sur lequel tourne l'appli web
* Debug : mode debug
* Log : mode log
 

Image redimensionnée de 76% de sa taille originale [ 368 x 650 ]

xpwz5y.png

Fonctionnement email

* L'appli va checker toutes les n secondes les paramètres de T° et de niveaux, si les
paramètres sont en dehors des seuils définis, elle enverra un mail, et ce toutes les n minutes.

106c0ba.png

Fonctionnement appli web

* L'application affiche en temps réél une page web accessible depuis un smartphone via par
exemple http://mabox.amoi.fr:8987 .
* En cliquant en haut à droite on accède à la page des paramètres.
 

Image redimensionnée de 76% de sa taille originale [ 371 x 650 ]

2hpsq6g.png
 

Image redimensionnée de 77% de sa taille originale [ 369 x 648 ]

2nqxy7s.png


Installation

Il faut installer un OS sur votre Raspberry, moi j'ai choisi une Raspbian mais ça devrait fonctionner sous d'autres distrib.
https://www.raspberrypi.org/downloads/

Une fois l'OS installé, le plus compliqué c'est de réussir à faire lire les sondes de température au RaspberryPi, une fois que ça fonctionne côté hardware, le reste c'est juste un peu de soudure et de temps à passer.
Je vous conseille de commencer par suivre les instructions de ce site : http://www.framboise314.fr/mesure-de-te ... pberry-pi/
Donc toutes les sondes sont en série, on utilise 1 seule résistance de 4.7K pour l'ensemble et on relie le + de la sonde au +3V, le - à la masse et le data au GPIO 04.

Pour les capteurs de niveau, c'est pas beaucoup plus compliqué, sauf qu'il faut une resistance de 10K par flotteur. Un des fils va directement à la masse et l'autre vous intercalez la resistance de 10K avec le +3v et rejoignez l'autre fil du flotteur.
http://www.framboise314.fr/une-mesure-d ... pberry-pi/
 

Image redimensionnée de 75% de sa taille originale [ 799 x 455 ]

2v8sc1u.png

Pour déployer l'application :

* sudo apt-get install git nodejs npm
* cd /home/pi
* git clone https://github.com/ylemarie/aquasurvey
* npm install jsonfile underscore express http socket.io ds18x20 dateformat onoff nodemailer
* cd aquasurvey
* sudo node app.js

Pour que cela se lance tout seul au boot, ajoutez dans /etc/rc.local :
* cd /home/pi/aquasurvey
* sudo node app.js

Bon montage.
Yann

PS: j'ai fait les copies d'écrans sans les sondes de T°, ceci explique le 0°C ...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

En poursuivant votre navigation, vous acceptez l’utilisation des cookies pour vous proposer des contenus adaptés à vos centres d’intérêt et réaliser des mesures pour améliorer votre expérience sur le site. Pour en savoir plus et gérer vos paramètres, cliquez ici