VOUS ÊTES ICI: Accueil » Blog » Raspberry » Guides Raspberry pi » Suivre le niveau d’une cuve de récupération d’eau sur Jeedom avec un Raspberry Pi
Guides Raspberry pi

Suivre le niveau d’une cuve de récupération d’eau sur Jeedom avec un Raspberry Pi

guide-jeedom-cuve-eau-raspberry-pi-domotique-hc-sr04

L’objectif du jour est de mesurer et disposer de la quantité d’eau contenue dans une cuve de récupération d’eau pluviale. Pour cela, nous mettrons en oeuvre plusieurs notions sur le Raspberry Pi, mais également sur le système domotique Jeedom. De quoi accroître vos connaissances des deux systèmes qui, il faut bien l’avouer font un couple parfait. Pour ce nouveau guide, je vais m’appuyer sur un premier guide autour du Raspberry Pi et de la mesure des distances que nous avions publiée sur le blog il y a deux ans.

Lire
Comment mettre en place un capteur de distance HC-SR04 sur Raspberry Pi

Côté matériel, je vais mettre à profit une ancienne version du Raspberry Pi. Amplement suffisante pour cette tâche, sachez toutefois que ce guide peut aussi parfaitement s’appliquer à une autre version du RPi.

Pour la mesure de distance qui sera la donnée principale de ce guide, nous nous appuierons sur l’excellent et économique module HC-SR04.

Enfin, pour mettre en musique le tout, nous aurons également besoin de deux résistances et quelques câbles.

Les composants nécessaires

Dernière mise à jour du tarif le  2019-12-08 at 12:43

Et pour l’alimentation du Raspberry Pi, n’ayant pas d’électricité près du récupérateur et n’ayant pas envie de tirer une nouvelle ligne. J’ai opté pour une autre option bien pratique, l’alimentation PoE. Oui, un petit module qui permet de conduire à la fois la donnée et l’alimentation du Rapspberry sur un seul et même câble réseau.

DSLRKIT Active PoE Splitter Power Over Ethernet 48V to 5V 2.4A Micro USB Plug for Raspberry Pi...
17 Commentaires
DSLRKIT Active PoE Splitter Power Over Ethernet 48V to 5V 2.4A Micro USB Plug for Raspberry Pi...
  • this POE Splitter is suitable for household IP camera with Micro USB Plug 5V power Port

Dernière mise à jour du tarif le  2019-12-08 at 12:43

L’outillage nécessaire

Dernière mise à jour du tarif le  2019-12-08 at 12:43

Retour sur les GPIO du Raspberry Pi

Les GPIO sont les broches qui se trouvent sur le bord du Raspberry Pi. Ces broches permettent de connecter des composants électroniques qui seront ensuite capables d’être lues ou actionnées depuis un programme piloté par le Rpi.

Je vous invite à lire notre article sur un excellent ouvrage qui traite des GPIO et leur potentiel.

Lire
Mouvement, lumière et son avec Arduino et Raspberry Pi

Voici le brochage générique des Raspberry Pi.

raspberry-pi-pinout-gpio-schema

 

Et voici le brochage qui concerne plus spécifiquement notre projet. Vous avez peut-être remarqué que j’ai mis à profit de mon projet, un vieux Raspberry Pi dans sa version B. Cette version était une des premières du mini-ordinateur et ne possédait donc pas autant de PIN que la dernière génération. Toutefois, cela n’a pas une grande importance puisque nous utiliserons des broches de la première partie, qui sont à la fois sur les anciennes et les nouvelles versions.

raspberry-pi-pinout-cuve-recuperateur-eau-hc-sr04

Le nommage des PIN ne change pas, elles sont simplement plus nombreuses sur les dernières versions du Rpi (Partie rouge de droite en plus).

Pour le repérage, comme vous pouvez le remarquer, nous viendrions utiliser 4 PIN. Deux pour l’alimentation 5V et GND et deux autres pour  collecter les données du capteur.

Le schéma de câblage

Pour le branchement des différents composants, rien de compliqué. il n’y a qu’à suivre ce petit schéma simple. Pour info, la résistance de 470 Ohms peut être remplacée par deux résistances de valeur équivalentes. Pour ma part, j’ai utilisé une résistance de 330 Ohms et une autre de 150Ohms. Soit 480Ohms mais rien de grave, ça fonctionne correctement quand même.

schema-hc-sr04-mesure-distance-jeedom-eau-domotique

Le script Python

Les présentations sont faites avec le branchement des GPIO, voyons à présent la partie script. Comme dans l’article sur l’utilisation du HC-SR04, nous utiliserons le même script de base. Un script de Matt Hawkins bien pratique. Nous apporterons simplement quelques petites modifications à ce script pour envoyer les données à Jeedom.

Avant toute chose, nous allons nous assurer de disposer de tout le nécessaire pour l’environnement python du Raspberry Pi.

1 commençons par mettre à jour les depots :
2 Ensuite, il faut ajouter pip
3 maintenant, installons la bibliothèque requests
Requests, va permettre à Python de faire des appels HTTP pour communiquer avec Jeedom et son API. C’est comme cela que nous mettrons à jour la valeur dans Jeedom.

4

À présent, téléchargeons le script ultrasonic de la même façon que dans le premier guide à l’aide de la commande suivante

Du côté de jeedom

Du côté du système domotique Jeedom, nous avons juste à créer un device virtuel que le Raspberry Pi viendra alimenter avec sa valeur mesurée. Créez alors simplement un virtuel et notez son code de commande.

jeedom-device-virtuel-niveau-eau

Création de la requête de mise à jour

Vous l’avez compris, nous utiliserons la bibliothèque python Requests pour envoyer les données de mesure à Jeedom. Nous devons donc pour cela construire la requête avant de l’ajouter dans le script.

changez alors les valeurs APIKEYDEJEEDOM et IDDUVIRTUAL par vos valeurs

Enfin, maintenant que nous disposons des paramètres à passer dans l’URL, construisons l’URL principale. Là encore remplacez simplement ADRESSEJEEDOM par l’adresse de votre Jeedom.

Mise à jour du script

À présent, il convient d’éditer le script python pour y intégrer nos paramètres d’appel à Jeedom.

1 Pour cela, ajoutez la ligne suivante en début dans script dans la partie import des bibliothèques :
import-script-python-requests

2 Puis ajoutez les lignes précédemment construites avec vos données dans la boucle en fin de script

Modifiez le sleep de la boucle pour disposer d’une rotation du script 1 fois par heure soit 3600 secondes

boucle-script-python-raspberrypi-jeedom

3 Il ne reste plus qu’à sauvegarder le tout et tester. Pour ce test, lancez manuellement le script avec la commande suivante :

L’automatisation du script

Maintenant que nous avons testé le bon fonctionnement du script, il convient de l’automatiser au démarrage du Rapsberry Pi. Sur ce point plusieurs méthodes existent, je ne me suis pas cassé la tête, j’ai simplement choisi d’éditer le fichier de démarrage. Pour cela utilisez la commande suivante :

Une fois dans le fichier rc.local ajoutez-lui la ligne suivante :

rclocal-demarrage-script-raspberrypi

Notez qu’il est possible d’avoir une erreur d’exécution, car la bibliothèque requests n’est pas forcément disponible sous l’environnement sudo. Pour corriger cela, exécutez simplement cette commande :

C’est terminé ! À présent à chaque démarrage du raspberry pi, le script va s’exécuter automatiquement et mettre à jour le niveau de la cuve dans un virtual Jeedom toutes les heures.

La formule de conversion distance / volume pour Jeedom

Pour terminer, la formule de calcul pour convertir la distance en litre et disposez du véritable volume d’eau de la cuve.

pour une cuve de 500L mesurant 98cm de haut, les données sont les suivantes :

  • 0 cm = cuve pleine
  • 98 cm = cuve vide
  • contenance total = 500 L

l’équation à saisir dans Jeedom est donc ((98-#value#)x500)/98

info-virtuel-jeedom-cuve-eau-calcul-formule-math

Enfin, vous pouvez encore allez plus loin en manipulant les différentes données générées avec différents compteurs.

widget-jeedom-cuve-eau-raspberrypi-hc-sr04

Ou encore avec une vue en relation avec la quantité de pluie tombée.

vue-jeedom-eco-eau-cuve-raspberrypi-courbes

Conclusion

Voilà, nous venons de voir comment j’ai entrepris ce projet. Pour moi c’était une cuve de récupération d’eau, mais le principe est parfaitement applicable à une cuve de fioul, un réceptacle de granules de bois ou encore un puit. De la même façon, ce guide est réalisé sur Jeedom mais peut aussi être transposé à une autre box domotique comme Eedomus par exemple.

Pour aller plus loin, vous pouvez également imprimer un modèle 3D pour y loger le détecteur et le coller dans la cuve. Voici le modèle 3D que j’ai utilisé chez moi et que vous avez vu ce week-end sur mes réseaux sociaux.

Besoin d’un Raspberry Pi pour réaliser ce guide?

Dernière mise à jour du tarif le  2019-12-08 at 12:43

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter