Page 1 sur 2

Détection de présence d'eau

Posté : mar. 25 oct. 2016 20:25
par 2RJ
Bonjour.

J'ai un détecteur d'eau comme indiqué sur ce site: https://www.modmypi.com/blog/raspberry- ... n-tutorial
mais j'ai pas besoin d'alerte email et contrairement à ce tutoriel, c'est pas le manque d'eau qui doit être détecté mais bien la présence.

Et d'une façon beaucoup plus simple. Une opération sous python (.py) qui, à toute les 10 minutes, affiche dans une fenêtre terminal, si la sonde détecte ou non, la présence d'eau, par un 0 ou un 1.

Au niveau du hardware, tout fonctionne. Manque juste le petit programme que je réussis pas à imaginer pour l'instant. Le GPIO utilisé est le 17

Merci d'avance pour votre aide.

Re: Détection de présence d'eau

Posté : mer. 26 oct. 2016 20:30
par 2RJ
Une piste ? Une idée ?

Re: Détection de présence d'eau

Posté : mer. 26 oct. 2016 23:28
par 2RJ
Un peu comme celà, par exemple:

Si la pin 18 est high, print 1 et si elle est low, print 0 et ce, à toutes les 10 minutes.

Mais je vois pas comment créer un fichier bash (?) pour y arriver.

Merci

Re: Détection de présence d'eau

Posté : jeu. 27 oct. 2016 00:33
par spourre
2RJ a écrit :Un peu comme celà, par exemple:

Si la pin 18 est high, print 1 et si elle est low, print 0 et ce, à toutes les 10 minutes.

Mais je vois pas comment créer un fichier bash (?) pour y arriver.

Merci
Bonsoir,

Il y a eu récemment un bon article de Patrice sur le Bouton Poussoir:
http://www.framboise314.fr/le-bouton-po ... -etonnant/
pour ne pas détruire le port GPIO du Raspberry, il faut que la sonde sorte un niveau logique 1 à 3.3V. Dans le caqs contraire, il faut prévoir une interface qui peut être élémentaire.

Sylvain

Re: Détection de présence d'eau

Posté : jeu. 27 oct. 2016 00:51
par destroyedlolo
Salut,
2RJ a écrit :Mais je vois pas comment créer un fichier bash (?) pour y arriver.
Si, en passant par le /sys comme expliqué dans la doc du sysfs.

Si l'anglais n'est pas ton ami, tu peux t'inspirer avec ce que j'ai fais mais en sortie dans mon cas. Au milieu de cette page, lorsque je parle de sysfs ;)

A+

Re: Détection de présence d'eau

Posté : jeu. 27 oct. 2016 00:59
par 2RJ
Merci Sylvain, je vais aller voir si je peux m'inspirer de quelque chose dans ce lien.

Si quelqu'un a d'autres idées, je suis preneur !

Re: Détection de présence d'eau

Posté : jeu. 27 oct. 2016 13:07
par Bud Spencer
2RJ a écrit :..Si quelqu'un a d'autres idées, je suis preneur !
L'idée c'est toi qui l'a et la bonne réponse peut tenir toute entière dans un tout petit script python de quelques lignes.
Je n'ais pas de pi sous la main, et je ne connais pas ce détecteur mais juste ce code dans un fichier .py devrait faire l'affaire :

Code : Tout sélectionner

from time import sleep
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarning(False)
GPIO.setup(17,GPIO.IN,pull_up_down=GPIO.PUD_UP)
while (True):
     print(GPIO.input(17));
     sleep(600)
pour le lancer : $ sudo python machin.py
pour le fermer : CTRL + C

Re: Détection de présence d'eau

Posté : jeu. 27 oct. 2016 15:08
par 2RJ
C'est pas mal ça, Bud. j'envisage toutes les possibilités offertes ici et vous remercie tous !

Re: Détection de présence d'eau

Posté : jeu. 27 oct. 2016 15:55
par 2RJ
CODE : TOUT SÉLECTIONNER
from time import sleep
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarning(False)
GPIO.setup(17,GPIO.IN,pull_up_down=GPIO.PUD_UP)
while (True):
print(GPIO.input(17));
sleep(600)

Bonne piste, je crois, de ce que j'ai besoin et voici ce que ça donne comme erreur. Mais j'ai aucune idée de ce que ça signifie:

sudo python detecteureau.py
Traceback (most recent call last):
File "detecteureau.py", line 5, in <module>
GPIO.setwarning(False)
AttributeError: 'module' object has no attribute 'setwarning'

Re: Détection de présence d'eau

Posté : jeu. 27 oct. 2016 16:17
par Bud Spencer
2RJ a écrit :CODE : TOUT SÉLECTIONNER
from time import sleep
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarning(False)
GPIO.setup(17,GPIO.IN,pull_up_down=GPIO.PUD_UP)
while (True):
print(GPIO.input(17));
sleep(600)

Bonne piste, je crois, de ce que j'ai besoin et voici ce que ça donne comme erreur. Mais j'ai aucune idée de ce que ça signifie:

sudo python detecteureau.py
Traceback (most recent call last):
File "detecteureau.py", line 5, in <module>
GPIO.setwarning(False)
AttributeError: 'module' object has no attribute 'setwarning'
En fait le 'compilateur' te dit que l'objet GPIO ne possède pas la propriété 'setwarning'.
Effectivement, j'ai oublié le s de setwarning . il faut écrire setwarnings (avec un s a la fin).

**** Edit ************
Une fois corrigé en rajoutant le s oublié à la fin de setwarnig, cela fonctionne comme prévue. Ceci dit, tu peux carrément virer la ligne GPIO.setwarning(False)

Juste au cas ou tu ne l'aurais pas compris, tu peux changer le délais en remplaçant 600 par une autre valeur (600 secondes = 10 minutes)