Alarme températures et niveaux avec un RaspberryPi

Do It Yourself, les bonnes personnes, les bonnes idées, les bonnes bidouilles... sans s'électrocuter !
Répondre
yann
Membre du Cala 2017/2018
Messages : 230
Enregistré le : dim. 24 févr. 2013 01:55

Alarme températures et niveaux avec un RaspberryPi

Message par yann » lun. 27 mars 2017 10:57

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éclancher une alerte email si problème

Matériel

* 1 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 osmosee : n° du port du flotteur niveau osmosee

* 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

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.

Image

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

Image


Installation

Il faut installer un OS sur votre Raspberry, moi j'ai choisi une Raspbian mais ça devrait focntionner 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éistance 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

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 ...
Modifié en dernier par yann le ven. 19 mai 2017 16:28, modifié 1 fois.

MaxBreizh
Messages : 7
Enregistré le : lun. 3 oct. 2016 11:07
Localisation : Séné (56)

Re: Alarme températures et niveaux avec un RaspberryPi

Message par MaxBreizh » lun. 27 mars 2017 14:27

sympa, merci pour le partage :)

Midu44
Membre du Cala
Messages : 740
Enregistré le : lun. 18 avr. 2011 21:24
Localisation : Rezé

Re: Alarme températures et niveaux avec un RaspberryPi

Message par Midu44 » mar. 28 mars 2017 18:34

Bravo, sujet super intéressant ;)

Tu aurais des liens (style Raspberry pour les nuls :D ) pour se familiariser avec la bête ?
Tu pourrais commenter la partie finale "pour déployer l'application" pour les novices Raspberry comme moi ?

yann
Membre du Cala 2017/2018
Messages : 230
Enregistré le : dim. 24 févr. 2013 01:55

Re: Alarme températures et niveaux avec un RaspberryPi

Message par yann » mer. 29 mars 2017 13:17

Tu aurais des liens (style Raspberry pour les nuls :D ) pour se familiariser avec la bête ?
Si tu connais rien à Linux, il faut te contenter de restaurer l'image téléchargée avec ce tuto :
https://blog.nicolargo.com/2013/04/rasp ... te-sd.html

Il y a une distrib spéciale debutants, j'ai pas essayé, mais il se vends aussi les cartes SD avec le truc installé
https://www.raspberrypi.org/downloads/noobs/

Et mon script fonctionnera aussi la dessus :D
Tu pourrais commenter la partie finale "pour déployer l'application" pour les novices Raspberry comme moi ?
La commande magique c'est "* sudo apt-get install git nodejs npm"
* nodejs nodejs c'est l'interpréteur JS pour mon script
* npm c'est pour installer des paquets nodeJS
* git c'est un outil pour rrécupérer mon code déposé sur github

* git clone : ca recup mon code
* npm install j: ca install les paquets necessaires
* cd aquasurvey : tu vas dans le dossier /home/pi/aquasurvey
* sudo node app.js : tu lances le script en "super user" (pour pouvoir écrire dans le fichier de conf, sinon pas besoin de sudo)

Hope this help
Yann

Midu44
Membre du Cala
Messages : 740
Enregistré le : lun. 18 avr. 2011 21:24
Localisation : Rezé

Re: Alarme températures et niveaux avec un RaspberryPi

Message par Midu44 » mer. 29 mars 2017 15:41

Merci beaucoup pour les explications ;)

fabien10
Messages : 3
Enregistré le : jeu. 30 mars 2017 11:48

Re: Alarme températures et niveaux avec un RaspberryPi

Message par fabien10 » jeu. 30 mars 2017 11:53

C'est top merci pour les explications et les détails !
Passionné de fonds sous marins depuis mon passage à Provence Corail. Un univers tellement immense sous nos pieds !

Répondre