capteur de niveau & requette http
Modérateur : Francois
-
- Messages : 30
- Enregistré le : mar. 3 févr. 2015 16:20
- Localisation : Rouen
capteur de niveau & requette http
bonjour à tous
j'ai pour projet d'installer des capteurs de niveau d'eau relié à un raspberry ( pour une cuve à eau et un puisard )
je pensais à 4 capteurs de niveau ( 0 / 33 / 66 / 100 % ) pour la cuve
et 3 capteurs ( 0 / 50 / 100 % ) pour le puisard
j'ai vu ce tuto
Une mesure de niveau d’eau avec un Raspberry Pi
qui correspond au 3/4 à mon besoin
seul modification :
- vérifier les capteurs toutes les 15 min
- envoyer une requête " http " ( à un bouton virtuel sur une box domotique )
seul bémol : je suis novice en " code "
et donc besoin de vous
par avance merci
j'ai pour projet d'installer des capteurs de niveau d'eau relié à un raspberry ( pour une cuve à eau et un puisard )
je pensais à 4 capteurs de niveau ( 0 / 33 / 66 / 100 % ) pour la cuve
et 3 capteurs ( 0 / 50 / 100 % ) pour le puisard
j'ai vu ce tuto
Une mesure de niveau d’eau avec un Raspberry Pi
qui correspond au 3/4 à mon besoin
seul modification :
- vérifier les capteurs toutes les 15 min
- envoyer une requête " http " ( à un bouton virtuel sur une box domotique )
seul bémol : je suis novice en " code "
et donc besoin de vous
par avance merci
domotique : vera3 + veraLite
BananaPi ( bananian Jessie ) + SATA + HD ext 2To
Raspberry ( squeezeslave )
BananaPi ( bananian Jessie ) + SATA + HD ext 2To
Raspberry ( squeezeslave )
-
- Messages : 30
- Enregistré le : mar. 3 févr. 2015 16:20
- Localisation : Rouen
Re: capteur de niveau & requette http
pour la vérification des sondes toutes les 15 min
tache cron
pensez vous que ce code pourrait fonctionner
tache cron
pensez vous que ce code pourrait fonctionner
Code : Tout sélectionner
#!/usr/bin/env python
# -------------------------------------------
# Affichage du niveau d'eau de la cuve
# Fred J. mars2014
# -------------------------------------------
import RPi.GPIO as GPIO
import time
DEBUG = 0;
#-------------[ CABLAGE ]--------------------
# sondes 4 à 9 puisard ( 0, 33, 66, 100%)
# sondes 10 à 15 cuve eau ( 0, 33, 66, 100%)
Sonde = [4, 7, 8, 9, 10, 11, 14, 15];
#-------------[ Initialisation ]--------------
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
for i in range(0,8):
GPIO.setup(Sonde[i], GPIO.IN)
#-------------[ url suivant n° sonde et si true ou false ]--------------
sonde_true[1]="http://@IP:port/xxxxxxxxxx"
sonde_false[1]="http://@IP:port/xxxxxxxxxx"
sonde_true[2]="http://@IP:port/xxxxxxxxxx"
sonde_false[2]="http://@IP:port/xxxxxxxxxx"
sonde_true[3]="http://@IP:port/xxxxxxxxxx"
sonde_false[3]="http://@IP:port/xxxxxxxxxx"
sonde_true[4]="http://@IP:port/xxxxxxxxxx"
sonde_false[4]="http://@IP:port/xxxxxxxxxx"
sonde_true[5]="http://@IP:port/xxxxxxxxxx"
sonde_false[5]="http://@IP:port/xxxxxxxxxx"
sonde_true[6]="http://@IP:port/xxxxxxxxxx"
sonde_false[6]="http://@IP:port/xxxxxxxxxx"
sonde_true[7]="http://@IP:port/xxxxxxxxxx"
sonde_false[7]="http://@IP:port/xxxxxxxxxx"
sonde_true[8]="http://@IP:port/xxxxxxxxxx"
sonde_false[8]="http://@IP:port/xxxxxxxxxx"
#-------------[ Main ]--------------
for i in range(0,8):
if GPIO.input(sonde[i]) == True:
r = requests.get(sonde_true[i])
else:
r = requests.get(sonde_false[i])
r.url
exit
domotique : vera3 + veraLite
BananaPi ( bananian Jessie ) + SATA + HD ext 2To
Raspberry ( squeezeslave )
BananaPi ( bananian Jessie ) + SATA + HD ext 2To
Raspberry ( squeezeslave )
-
- Raspinaute
- Messages : 136
- Enregistré le : sam. 18 oct. 2014 19:09
Re: capteur de niveau & requette http
L'envoi de requete HTTp en python n'est pas aussi simple
Ce n'est pas la mort non plus, mais il faut decomposer ta requette
Ce n'est pas la mort non plus, mais il faut decomposer ta requette
Code : Tout sélectionner
import httplib
# on cree un connection avec le serveur:
httpServ= httplib.HTTPConnection("adresse du seveur", port )
#on se connecte au serveur
httpServ.connect()
#on envoie la requete
httpServ.request('GET',requete)
response = httpServ.getresponse()
#les verification :
if response.status == httplibOK :
printText(response.read())
-
- Messages : 30
- Enregistré le : mar. 3 févr. 2015 16:20
- Localisation : Rouen
Re: capteur de niveau & requette http
merci pour l'aide zeverybest
pour le coup je suis complétement largué
les requetes seront de ce type :
et envoyé sur une box domotique ( pas un server, je ne sais pas si cela fait une différence )
helppppp
pour le coup je suis complétement largué
les requetes seront de ce type :
Code : Tout sélectionner
http://@IP:PORT/data_request?id=lu_action&output_format=xml&DeviceNum=DEVICE&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=0
helppppp
domotique : vera3 + veraLite
BananaPi ( bananian Jessie ) + SATA + HD ext 2To
Raspberry ( squeezeslave )
BananaPi ( bananian Jessie ) + SATA + HD ext 2To
Raspberry ( squeezeslave )
-
- Messages : 30
- Enregistré le : mar. 3 févr. 2015 16:20
- Localisation : Rouen
Re: capteur de niveau & requette http
bonjour
est il possible d'utiliser une commande curl
( cela m'a l'air plus simple )
est il possible d'utiliser une commande curl
( cela m'a l'air plus simple )
Code : Tout sélectionner
import subprocess
proc = subprocess.Popen(["curl", "http://192.168.1.xxx:3480/data_request?id=lu_action&output_format=xml&DeviceNum=DEVICE&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=0"])
domotique : vera3 + veraLite
BananaPi ( bananian Jessie ) + SATA + HD ext 2To
Raspberry ( squeezeslave )
BananaPi ( bananian Jessie ) + SATA + HD ext 2To
Raspberry ( squeezeslave )
Re: capteur de niveau & requette http
Je te conseille la lib requests qui te permet de simplifier les requêtes http
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.
-
- Messages : 30
- Enregistré le : mar. 3 févr. 2015 16:20
- Localisation : Rouen
Re: capteur de niveau & requette http
Une idée pour l'inscrire dans le script svp ??
merci
merci
minimoibientot a écrit :Code : Tout sélectionner
#!/usr/bin/env python # ------------------------------------------- # Affichage du niveau d'eau de la cuve # Fred J. mars2014 # ------------------------------------------- import RPi.GPIO as GPIO import time DEBUG = 0; #-------------[ CABLAGE ]-------------------- # sondes 4 à 9 puisard ( 0, 33, 66, 100%) # sondes 10 à 15 cuve eau ( 0, 33, 66, 100%) Sonde = [4, 7, 8, 9, 10, 11, 14, 15]; #-------------[ Initialisation ]-------------- GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) for i in range(0,8): GPIO.setup(Sonde[i], GPIO.IN) #-------------[ url suivant n° sonde et si true ou false ]-------------- sonde_true[1]="http://@IP:port/xxxxxxxxxx" sonde_false[1]="http://@IP:port/xxxxxxxxxx" sonde_true[2]="http://@IP:port/xxxxxxxxxx" sonde_false[2]="http://@IP:port/xxxxxxxxxx" sonde_true[3]="http://@IP:port/xxxxxxxxxx" sonde_false[3]="http://@IP:port/xxxxxxxxxx" sonde_true[4]="http://@IP:port/xxxxxxxxxx" sonde_false[4]="http://@IP:port/xxxxxxxxxx" sonde_true[5]="http://@IP:port/xxxxxxxxxx" sonde_false[5]="http://@IP:port/xxxxxxxxxx" sonde_true[6]="http://@IP:port/xxxxxxxxxx" sonde_false[6]="http://@IP:port/xxxxxxxxxx" sonde_true[7]="http://@IP:port/xxxxxxxxxx" sonde_false[7]="http://@IP:port/xxxxxxxxxx" sonde_true[8]="http://@IP:port/xxxxxxxxxx" sonde_false[8]="http://@IP:port/xxxxxxxxxx" #-------------[ Main ]-------------- for i in range(0,8): if GPIO.input(sonde[i]) == True: r = requests.get(sonde_true[i]) else: r = requests.get(sonde_false[i]) r.url exit
domotique : vera3 + veraLite
BananaPi ( bananian Jessie ) + SATA + HD ext 2To
Raspberry ( squeezeslave )
BananaPi ( bananian Jessie ) + SATA + HD ext 2To
Raspberry ( squeezeslave )
-
- Messages : 46
- Enregistré le : lun. 22 janv. 2018 11:04
Re: capteur de niveau & requette http
J'ai le même besoin que toi, mais je compte partir sur une solution différente.
Modifié en dernier par Le Ptit Nicolas le lun. 29 janv. 2018 16:33, modifié 1 fois.
-
- Messages : 46
- Enregistré le : lun. 22 janv. 2018 11:04
Re: capteur de niveau & requette http
Je vais utiliser un capteur de distance étanche JSN-SR04T (équivalent au HC-SR04)
http://karlytau.raidghost.com/arduino/m ... _fioul.htm
Relié à un ESP8266 (équivalent à ce montage au niveau matériel) :
http://blog.rexave.net/sonde-de-mesure- ... -desp8266/
Sur lequel je vais installer comme soft easyesp :
https://www.letscontrolit.com/wiki/index.php/HC-SR04
J'ai déjà testé le soft easyesp sur un ESP8266 avec un capteur HC-SR04, ca fonctionnne très bien, tu peux voir la mesure de distance avec un navigateur web, comme ceci:
Et j'envoie les valeurs sur ma box domotique (un Pi avec Domoticz)
Il ne me reste plus qu'à acheter le capteur étanche
http://karlytau.raidghost.com/arduino/m ... _fioul.htm
Relié à un ESP8266 (équivalent à ce montage au niveau matériel) :
http://blog.rexave.net/sonde-de-mesure- ... -desp8266/
Sur lequel je vais installer comme soft easyesp :
https://www.letscontrolit.com/wiki/index.php/HC-SR04
J'ai déjà testé le soft easyesp sur un ESP8266 avec un capteur HC-SR04, ca fonctionnne très bien, tu peux voir la mesure de distance avec un navigateur web, comme ceci:
Et j'envoie les valeurs sur ma box domotique (un Pi avec Domoticz)
Il ne me reste plus qu'à acheter le capteur étanche