Tags : GPIO Raspberry domotique Jeedom
- 0.Contexte
- 1.Les GPIO
- 2. Gpio et jeedom
- 2.1 Exemple d'utilisation
0.Contexte
En 2020 Nous avions lancé un concours pour domotiser un camping-car à bas cout, concours qui avait été remporté par Dimitri d’usine à gaz
Malheureusement covid aidant, nous n’avons pas pu trouver de créneaux pour avancer sur ce projet
Mais avec un peu de recherche et d’accompagnement, nous avons pu avancer sur ce projet… tout d’abord, nous avons installé retropie puis jeedom sur le même Raspberry. Nous avons relier via USB une awtrix au rpi (qui heberge également le serveur awtrix) et une tv led.
1.Les GPIO
les gpio c’est quoi ?
les gpio sont les broches qui se trouvent entre autre sur la plupart des raspberry, entrée ou sortie ils permettent de communiquer avec d’autres composants électroniques ou circuit
Comment les reconnaitre Chaque GPIO a un Numéro de gpio, mais également un numéro lié au Raspberry comme sur ce schéma si dessous
![](https://youdom.net/wp-content/uploads/2022/09/image.png)
- Les GND sont des neutres
- 3.3V fourni du courant 3V
- 5 pwr fourni du 5V,
- ID_SD et ID SC permet au Raspberry de voir s’il y a une carte d’extension attachée au Raspberry
- UART permet d’avoir un port serie mais cause la perte du bluetooth
- Gpio i2c sont liés au capteur de température et pression
- les autres sont des gpio classique en orange et des gpio spécifique en couleur rose (les spécifiques peuvent être utilisé en classique)
Je ne peux que vous conseiller d’utiliser des raccord a visser au GPIO qui sont beaucoup plus fiables !
Cela fonctionnera sur n’importe quel rpi avec Gpio par contre les anciens modèle on moins de broche et donc le schéma n’est pas tout a fait le meme.
2. Gpio et jeedom
Pour utiliser les gpio de son rpi, le plus simple est d’utiliser jeedouino sur jeedom
Une fois installé, on va dans celui-ci puis on clique sur ajouter
![](https://youdom.net/wp-content/uploads/2022/09/gpio1.png)
Puis, on renseigne les infos de notre RPI
![](https://youdom.net/wp-content/uploads/2022/09/gpio2.jpg)
- nom et lieu de l’équipement
- Cocher activer et visible
- On renseigne notre type de Raspberry
- son adresse ip
- Part quel port on peut l’atteindre
On renseigne quel pin est utiliser et pour quoi ?
![](https://youdom.net/wp-content/uploads/2022/09/gpio3.jpg)
2.1 Exemple d’utilisation
2.1.1 Le pull up – pull down
Pour brancher un pull up on doit relier notre GND a notre 5v en passant par une resistance 10kohm
cela s’appelle des résistances de rappel, elles sont des pull-up quand elles sont branchées au 5v pour donner un 1 à vide et des pull-down quand elles sont à la masse pour donner un 0 à vide. le principe reste le meme .
Bref comme le dit Dimitri: »fais pas ch*** avec tes termes techniques, Le pull UP sert a maintenir la tension haute, voilà «
l’un de montage les plus simples est d’envoyer le 5 v dans un wago et repartir de celui-ci via la résistance qui va alimenter plusieurs GND. (Un meme GND peut être lié à plusieurs GPIO).
![](https://youdom.net/wp-content/uploads/2022/09/IMG_20220601_183505-scaled.jpg)
2.1.1.1 Le détecteur d’ouverture
On relie un côté de notre détecteur ouverture sur un GND+résistance et L’autre sur un gpio de libre (bien penser à regarder le numéro).
Un exemple
![](https://youdom.net/wp-content/uploads/2022/09/ouverture-gpio.jpg)
Puis, on renseigne sur jeeduoino quel type de matériel, nous avons mis notre détecteur et quel type
![](https://youdom.net/wp-content/uploads/2022/09/ouverture-gpio2.jpg)
On sauvegarde !!!
Il faut aller par la suite dans la commande et penser vérifier que le générique type est bien spécifié
![](https://youdom.net/wp-content/uploads/2022/09/ouverture-gpio3.jpg)
![](https://youdom.net/wp-content/uploads/2022/09/ouverture-gpio4.jpg)
2.1.1.1.1 Quel usage possible à la maison ?
A la maison ces détecteurs ouverture peuvent servir pour tout type d’ouvrant quand le capteur est en contact avec son aimant (fermeture) le resultat transmis sera de 0 et de 1 si ce n’est pas le cas (ouverture).
Par exemple : détecteur ouverture boite aux lettres
![](https://youdom.net/wp-content/uploads/2022/09/ouverture-gpio-3.jpg)
- On définit un déclencheur provoqué dans ce cas notre détecteur ouverture boite aux lettres
- On lui demande de ne se déclencher que quand la valeur =1
- on sauvegarde
![](https://youdom.net/wp-content/uploads/2022/09/ouverture-gpio-4.jpg)
- J’introduis mes deux variables de temps formatTime(#time#) et sjour# #jour# #smois# #annee
- Je notifie du passage du facteur
- Je passe mon virtuel en mode courrier
- Dans mon chef d’orchestre, je dis à jeedom de remettre mon virtuel à 0 à minuit
![](https://youdom.net/wp-content/uploads/2022/09/ouverture-gpio-6.jpg)
![](https://youdom.net/wp-content/uploads/2022/09/ouverture-gpio-5.jpg)
2.1.1.1.2 Et pour le camping-car ?
Mon usage dans le camion : Détecteur, Ouverture des velux du camping-car, des portes latérales… Cela me sert :
- Pour l’alarme en cas d’intrusion
- Si la température extérieure est plus basse à l’extérieur, qu’il ne pleut pas et que je suis présent, il me recommande d’ouvrir les fenêtres
- S’il pleut et que les lanterneaux sont ouverts, il me rappelle d’aller les fermer
![](https://youdom.net/wp-content/uploads/2022/09/IMG_20220907_184505-scaled.jpg)
![](https://youdom.net/wp-content/uploads/2022/09/IMG_20220907_184501-scaled.jpg)
2.1.1.2 Le détecteur de pluie
Au niveau du branchement, le détecteur de pluie se branche comme le détecteur d’ouverture
![](https://youdom.net/wp-content/uploads/2022/09/detecteur-pluie.jpg)
Dans ce cas s’il pleut le module passe à 0 et 1 quand il n’y a pas d’eau sur la plaque
Coté jeedouino, je l’ai mis sur le pin 7 en tant que détecteur fuite d’eau, idem dans le générique type
![](https://youdom.net/wp-content/uploads/2022/09/pluie1.jpg)
2.1.1.2.1 Quel usage à la maison ?
![](https://youdom.net/wp-content/uploads/2022/09/pluie-2.jpg)
- Je vérifie que le détecteur de pluie est bien à 0 donc qu’il pleut
- Si mes velux sont ouverts, je les ferme
- si je suis présent à la maison, je me rappelle de vérifier qu’il n’y a pas du linge dehors et je réinitialise la variable au bout de 30 min pour éviter les déclenchements intempestif en cas d’averses intermittentes
- j’enregistre pour le jardin la date du timestamp de la pluie ce qui me permet de définir à l’instant T depuis quand il n’a pas plu
2.1.1.2.2 Quel usage dans le camping car ?
J’espère que vous êtes assis, car la réponse va vous surprendre, mais pour détecter la pluie !
Cela me permet de revenir au camion s’il pleut et que j’ai laissé un velux ouvert par exemple !
Pour info, j’ai essayé de mettre ce genre de module dans les eaux grises, puisque je n’ai pas besoin d’un niveau d’eau précis, juste savoir s’il est trop-plein, mais celui-ci s’oxyde et j’avais beaucoup trop de faux négatif !
![](https://youdom.net/wp-content/uploads/2022/09/IMG_20220907_184531-scaled.jpg)
2.1.1.3 Le détecteur de niveau d’eau
À la base, j’avais imaginé mettre ce type de capteur dans mon camion, car fiable et précis, mais je n’arrive pas à accéder au bas de ma cuve et il m’en aurait fallu 3 minimum.
Mais j’ai vite trouvé usage pour la maison dans mes cuves d’eau de pluie
coté branchement rien de bien compliqué c’est toujours pareil…
![](https://youdom.net/wp-content/uploads/2022/09/niveau-deau.jpg)
Coté jeedouino chez moi, c’est sur le pin 22 en tant que détecteur fuite d’eau
![](https://youdom.net/wp-content/uploads/2022/09/niveau1.jpg)
Pour ce module lorsqu’il y a de l’eau le flotteur est fermé donc on est à 1 s’il n’y a plus d’eau, il redescend et il repasse à 0.
2.1.1.3.1 Quel usage à la maison ?
![](https://youdom.net/wp-content/uploads/2022/09/niveau2.jpg)
2.1.1.4 Interrupteur
On peut également en pull up faire un interrupteur simple
Coté branchement comme à chaque fois
![](https://youdom.net/wp-content/uploads/2022/09/interrupteur.jpg)
coté jeedouino je suis sur le pin 35 et je l’ai mis en ouvrant de porte
![](https://youdom.net/wp-content/uploads/2022/09/2interrutpeur.jpg)
idem dans les generique type
![](https://youdom.net/wp-content/uploads/2022/09/3interrutpeur.jpg)
2.1.1.4.1 Quel usage à la maison ?
A la maison cela me sert par exemple à ouvrir mon électro aimant de l’atelier
![](https://youdom.net/wp-content/uploads/2022/09/atelier.jpg)
![](https://youdom.net/wp-content/uploads/2022/09/IMG_20220908_175743-scaled.jpg)
2.1.1.4.2 Quel usage dans le camion ?
Coté camping-car cela me sert à allumer la vmc, la TV etc …
2.1.1.5 Le détecteur de présence
Après tout est possible en pull up du moment qu’on fait un contact dans un cas et pas dans un autre
Le voilà avec mon système de présence sur enceinte marshall de gestion des clefs
À chaque fois qu’on introduit un porte-clef jack celui-ci lève un contacteur alors plus de contact et quand on l’enlève, il reprend sa place.
Il suffit donc de faire une soudure de chaque côté de ce contacteur et de relié un côté au GND et l’autre a un GPIO et voila
![](https://youdom.net/wp-content/uploads/2022/09/presence-1.jpg)
![](https://youdom.net/wp-content/uploads/2022/09/IMG_20220602_180548-scaled.jpg)
Comme d’habitude, on configure dans jeedouino en indiquant le bon GPIO utilisé
Dans mon cas cela me sert pour la gestion de ma présence
![](https://youdom.net/wp-content/uploads/2022/09/IMG_20220908_175722-scaled.jpg)
2.1.2 La sonde de temperature
Dans une maison comme dans un camping-car, ce qui est intéressant, c’est de maîtriser ces températures et je n’ai rien de plus fiable que ces sondes ds18b20
Pour faciliter la fiabilité se vendent à peine plus cher des kits de connexion ds18b20 qui permettent de brancher la sonde sur n’importe quel gpio
Le schéma est le suivant :
![](https://youdom.net/wp-content/uploads/2022/09/ds-scaled.jpg)
Dans jeedouino, on précise sur quel pin on a fait le branchement dans mon cas sur le pin 13
![](https://youdom.net/wp-content/uploads/2022/09/ds2.jpg)
On précise le générique type
![](https://youdom.net/wp-content/uploads/2022/09/ds3.jpg)
Et voilà, on a une sonde fonctionnelle
2.1.2.1 Quel usage à la maison ?
À la maison, cela me permet de gérer la mise en route de mon ventilateur d’armoire domotique, mais aussi de contrôler la température de mon congélateur, ces sondes supportant parfaitement les basses températures
![](https://youdom.net/wp-content/uploads/2022/09/ds3-1.jpg)
- On définit dans quelle condition on effectue l’action sur valeur
- Au bout de combien de temps
- Quelle action ?
- On sauvegarde
2.1.2.2 Quel usage dans le camion ?
C’est un des outils les plus utiles dans le camion, il me permet par exemple de me lancer une alerte si la température tombe trop basse et crée un risque de point bas de gel au niveau des canalisations ou de déclencher la climatisation du camping-car s’il fait trop chaud en notre absence
2.1.3 Le Relay
À la maison comme dans un camping-car, un relai est hyper pratique pour actionner certains modules
Pour le branchement d’un relai, rien de bien compliqué non plus
![](https://youdom.net/wp-content/uploads/2022/09/relay1.jpg)
D’un côté, on branche :
- le gnd du raspberry sur le GND du relai
- le 5v du rpi sur le 5v du relay
- le gpio du rpi sur le in du relay
De l’autre côté, on a :
- NC : signifie ‘NORMALLY CLOSED’. Cela veut dire que lorque l’on active pas le relay le circuit est fermé donc l’electricité passe entre les deux bornes. Si je branche une sirene et que je coupe l’influence du relay celle ci sonnera
- NO signifie ‘NORMALLY OPEN’. Cela veut dire que lorque l’on active pas le relay le circuit est ouvert donc l’electricité ne passe pas entre les deux bornes. Si je branche une sirene et que je coupe l’influence du relay celle ci ne sonnera pas
- COM: Commun. Dans nôtre cas on va y brancher la masse du dispositif à contrôler.
![](https://youdom.net/wp-content/uploads/2022/09/image-1.png)
Un relai peu contrôler tout type de courant y compris du 220v ce qui peut très vite être dangereux si on n’a pas de notion d’électricité ! restez prudent et n’hésitez pas à contacter un électricien si cela est en dehors de vos compétences et n’achetez pas de produit bas de gamme qui pourrait vous être fatale en cas de dysfonctionnement !!!
sous jeedouino :
![](https://youdom.net/wp-content/uploads/2022/09/j1.jpg)
![](https://youdom.net/wp-content/uploads/2022/09/j2.jpg)
2.1.3.1 Quel usage a la maison ?
Ventilateur pour gérer le rafraichissement de mon imprimante 3d, ouverture electro-aimant etc…
![](https://youdom.net/wp-content/uploads/2022/09/relay4.jpg)
2.1.3.2 Quel usage dans le camion ?
Éteindre la TV quand l’alarme est activée, activé la sirène en cas d’intrusion, activé la pompe a eau etc …
![](https://youdom.net/wp-content/uploads/2022/09/relay2.jpg)
![](https://youdom.net/wp-content/uploads/2022/09/relay3.jpg)
![](https://youdom.net/wp-content/uploads/2022/09/IMG_20220907_184728-1-scaled.jpg)
2.1.4 Brancher un ventilateur
Un raspberry sa chauffe du coup il est bien recommandé d’y brancher un petit ventilo
Pour cela rien de compliqué on relie celui ci sur le+ sur le 5 v si on veut qu’il tourne à fond et sur le 3.3 si on veut un rendement plus limité. le -ira lui sur un GND
![](https://youdom.net/wp-content/uploads/2022/09/image-2.png)
Pour ceux qui voudraient aller plus loin framboise 314 a ce super article sur le pwm sur Raspberry
Vous pouvez d’ailleurs acheter ce produit pour faire cela
2.1.5 Utiliser une sonde ultrason
2.1.5.1 partie hardware
On terminera cet article par cette maudite sonde qui m’a donné pas mal de fils à retordre
Je devais trouver comment quantifier le niveau d’eau de ma cuve à eau dans le camping-car et de ma cuve de sel d’adoucisseur à la maison.
J’avais déjà fait une sonde à ultrason sur wemos mais bon le wifi m’voyez….
Du coup me voila parti avec une HC-SR04 et une AJ-SR04M qui fonctionne pareille
exmple de materiel :
HC-SR04 – Aj-SR04M– Resistance
![](https://youdom.net/wp-content/uploads/2022/09/image-3.png)
Pour construire le circuit, procédez comme suit.
- Faites passer un fil entre un pin GND et le gnd du capteur
- Faites passer un fil du pin 5v(2) à la broche VCC sur le capteur de distance HC-SR04.
- Reliez le pin 7 et la broche TRIG du capteur de distance.
- Mettre une resistance 1 kOhm entre broche echo et pin 11 du rpi
- Mettre une resistance 2 Kohm entre cable Gnd et cable de la pin 11
2.1.5.2 Software
2.1.5.2.1 Partie mise en place
Comme d’habitude et on met à jour notre rpi
sudo apt-get upgrade
sudo apt-get upgrade
Installer la bibliothèque request
python -m pip install requests
Idem sous sudo
sudo pip install requests
On télécharge le script ultrasonic.py
wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/ultrasonic_2.py
Dans bloc note et on copie le texte suivant
payload = {'plugin': 'virtual', 'apikey': 'APIKEY' , 'type': 'event' , 'id': 'IDJEEDOM' , 'value': distance}
r = requests.post("http://ADRESSEIP/core/api/jeeApi.php", params=payload)
On va aller chercher dans jeedom de quoi compléter ce texte
Créer un nouveau virtuel
![](https://youdom.net/wp-content/uploads/2022/09/ULTRASON1.jpg)
- Le nommer
- Cocher activer
- sauvegarder
- Recupérer l’apikey entre le = et le & (avant id)
![](https://youdom.net/wp-content/uploads/2022/09/ULTRASON2.jpg)
- Ajouter une info virtuelle
- idem
- Nommer votre info Niveau
- Choisissez info type numérique
- Intituler votre info état
- Définissez une info de type Numérique
- Sauvegarder
- Créer 2 actions virtuelles et 1 info virtuelle – Nommez la première et liée là avec état
- Définissez quel sera sont rendu binaire et lié la a état
- Nommez la deuxième action et lié la a état
- Définissez sont état binaire et lié la a état
- Nommez votre info niveau 2
- Cliquer sur rechercher équipement et aller chercher Niveau
- sauvegarder
- Récupérer le numéro id de niveau
remplacer IDJEEDOM dans votre bloc note par celui trouver au-dessus et remplacer ADRESSEIP par l’adresse locale de jeedom
Ouvrir une console sur votre adresse ip de jeedom type putty ou encore mieux bitvise ssh client !
Taper la commande :
sudo nano /home/pi/ultrasonic_2.py
au debut du fichier rajouter
import requests
![](https://youdom.net/wp-content/uploads/2022/09/ultrason3.jpg)
puis a la fin de ce fichier il faut ajouter le texte que vous avez modifié dans votre bloc-notes
![](https://youdom.net/wp-content/uploads/2022/09/ULTRASON4.jpg)
Dans time.sleep (3600) le temps est en seconde la s’agissant de ma cuve à sel 1 fois par heure est suffisant pour le camping-car, je mets à jour toutes les 5 minutes ! on pense a sauvegarder !
Maintenant, on test le script en effectuant
python ultrasonic_2.py
![](https://youdom.net/wp-content/uploads/2022/09/ultrason5.jpg)
Maintenant on va automatiser le script en modifiant rc local
sudo nano /etc/rc.local
![](https://youdom.net/wp-content/uploads/2022/09/ultrason6.jpg)
On ajoute la ligne et on sauvegarde :
python /home/pi/ultrasonic_2.py
Et on reboot
La partie console est finie direction jeedom
2.1.5.2.2 Partie virtuel
Je n’avais pas envie d’avoir de scenario pour cette cuve du coup, j’ai créé une action via la roue crantée de niveau
![](https://youdom.net/wp-content/uploads/2022/09/ultrason7.jpg)
idem pour niveau 2
![](https://youdom.net/wp-content/uploads/2022/09/ultrason8.jpg)
Pour le camping-car j’avais besoin d’être plus précis du coup j’avais besoind e savoir ma contenance en litre sachant que la cuve fait 30 cm de haut pour 100 l
Si la cuve est 0 elle est pleine si elle est a 30 elle est vide
Du coup, on applique la formule
((hauteur cuve -niveau actuel)x nombre de litre)/hauteur de la cuve
![](https://youdom.net/wp-content/uploads/2022/09/ultrason9.jpg)
On peut également transformer cela en pourcentage
(100*#[Cellier][Niveau eau][Quantité deau restant]#)/hauteur de la cuve
![](https://youdom.net/wp-content/uploads/2022/09/ultrason10-1.jpg)
Voilà j’espère que cette mise en bouche sur l’utilisation des GPIO du Raspberry vous aura aidé et fait plaisir autant que j’en ai eu à domotiser ce foutu camion
Le but était de le domotiser pour moins de 200 balles ce qui est le cas, mais qui ne serait plus possible ce jour avec l’augmentation du prix de pi4 qui est devenue indécente !
En parlant d’indécent, je voudrais remercier Dimitri de la chaine Usine Gaz, pour son soutien et son savoir qui mon permis d’avoir un camping-car de l’enfer !
Allez au boulot !
Loïc
![](https://youdom.net/wp-content/uploads/2021/01/phoenix.png)
![](https://youdom.net/wp-content/uploads/2023/08/entraide2.png)