C'est mon premier tuto, désolé pour la mise en page rapide.
Le capteur à ultrason est basé sur un raspberry couplé à une carte grovepi+ ( 15€+45€+29€).
J’ai tout acheté sur lextronic.fr
Pour info, j’en ai profité pour rajouter un capteur d’eau pour le jardin et ainsi avoir un équivalent au Koubachi DIY (je dis equivalent car la seule fonction qui m’intéressait était le retour d’humidité du sol dans la box. L’appli et les fonctions sup du Koubachi étaient pour moi inutiles). On peut aussi mettre un capteur UV, luminosité, capteur de présence de pluie….
Mon choix s’est porté sur le grovePi car je n’y connais rien en raspberry et en python et la solution me semblait assez simple à mettre en œuvre… et c’est le cas
Le top aurait été de faire un systeme basé sur le capteur RGBW de Fibaro mais la box eedomus ne gère pas encore l’entrée variable de ce capteur/actionneur.
-Tout d’abord il faudra récuperer une vieille carte microSD 4Go mini ou en acheter une (3€ sur amazon) et y installer l’OS modifié du raspberry qui intègre le gropePi :
http://sourceforge.net/projects/dexteri ... ianflavor/
-Ensuite, j’ai suivi ce tuto pour tout installer sur le raspberry
http://raspbian-france.fr/installer-ras ... iguration/
-Et enfin ce super tuto
pour partager ecran/fichier du raspberry sur mac (ca doit se trouver pour windows):
http://swissraspberry.ch/doku.php?id=fa ... ge_d_ecran
(c'est pour éviter de le brancher le raspberry à un ecran, clavier, souris...).
A partir de là, vous avez un système d’exploitation installé et accessible depuis votre ordinateur
-Il faut maintenant créer un capteur http sur votre box eedomus appelé [b]volume cuve[/b]
unité L
URL de requete http://NIL
type de données : nombre décimal,
chemin XPATH : nil,
frquence de la requete : 0
ensuite vous cliquez sur paramètres expert puis sur la clé bleu à coté de API.
Et là vous notez :
Api_user
Api_secret
Et votre id API
(J’ai crée un 2eme capteur pour le capteur d’eau dans le sol)
-J’ai créé un répertoire « /test » sur le raspberry dans le répertoire existant Desktop/Grovepi et dans lequel j’ai copié tous les scripts python existants dans le répertoire /GrovePi/Software/Python
De mon coté j’ai rajouté un petit écran LCD grove qui me permet d’avoir directement le volume affiché sur le raspberry
Si vous n'en mettez pas il faudra retirer quelques lignes du script
Voici ensuite mon script Python à créer avec leafpad (programme d’édition intégré au raspberry ) dans e répertoire /test et à nommer cuve.py :
Il faut évidemment remplacer les XXXX par les valeurs que vous venez de noter
Concernant le volume de votre cuve, il faut connaître sa forme. A vous d’adapter la formule en fonction.
Chez moi c’est un parallelepipede rectangle de 1,25m * 2,5m, profondeur 120cm (entre le fond et le capteur) . J’ai ensuite multiplié par 0,8 car c’est la difference entre le volume extérieur et interieur de ma cuve)
La formule pour un cylindre couché est beaucoup plus complexe :
V= h x ((R x R x pi) - (1/4 R x R x cos (2 x pi))
Script correct pour mes 2 capteurs et l'afficheur 2 lignes LCD
- Code : Tout sélectionner
from grovepi import *
from grove_rgb_lcd import *
import time
import grovepi
import urllib2
ultrasonic_ranger = 4 # Connect the ultrasonic sensor to port 4
moisture = 2
while True:
try:
distant = ultrasonicRead(ultrasonic_ranger)
volume = 1.25 * 2.5 * (120 - distant) /10 * 0.8
moist = grovepi.analogRead(moisture)
url1 = "https://api.eedomus.com/set?api_user=XXXXXXX&api_secret=XXXXXXXXX&action=periph.value&periph_id=XXXXX&value=%s" % volume
url3 = "https://api.eedomus.com/set?api_user=XXXXXX&api_secret=XXXXXXXX&action=periph.value&periph_id=XXXXXXX&value=%s" % moist
print temp," vol=",volume, distant, "cm", "moisture", moist
d = str(distant)
vol = str(volume)
response1 = urllib2.urlopen(url1)
html = response1.read()
response3 = urllib2.urlopen(url3)
html = response3.read()
setRGB(0,128,64)
setRGB(0,255,0)
setText("vol" + vol + "L " )
time.sleep(300) # remontée de valeur toutes les 300s ici
except (IOError,TypeError) as e:
print "Error"
Vous pouvez tester le script via terminal sur mac (sur windows il y a des logiciels à installer je crois)
Loggez vous sur le raspberry :
ssh pi@raspberrypi.local
entrez le password (raspberry si vous n’avez rien changé)
ensuite lancez le script
sudo python /home/pi/Desktop/GrovePi/test/cuve.py
Si ca marche, il nous reste à le lancer automatiquement à chaque démarrage du raspberry :
sudo nano /etc/rc.local
et vous insérer cette ligne à la fin du fichier avant de quitter et sauver :
sudo python /home/pi/Desktop/GrovePi/test/cuve.py
Je n'ai pas encore installé la sonde dans ma cuve par manque de temps. Mais l'idée est d'avoir le raspberry dans le jardin dans un boitier d'élec étanche et de tirer un cable (téléphonique 4 brins) qui passe par l'arrivée d'eau de la cuve. Mon raspberry se retrouvera sur le mur extérieur de la maison pres du regard d'eau de pluie qui va à la cuve.
Concernant le capteur à ultrason, je compte mettre sur le petit circuit imprimé un film étanche qu'on applique en spray (plastidip)
Je crois que j’ai fait le tour.
Bon bricolage