l'idée de ce petit projet est de mettre en place de manière autonome et rapide un outils de supervision de capteurs en tout genre à moindre couts.
le matériel :
un Raspberry + une carte SD + un alim
des capteurs : perso j'ai choisi des capteurs KY-001 qui normalement sont sensé être utilisés sur Arduino .
Lien vers documentation capteur :KY-001
Pre requis : avoir fait l'installation et la configuration de son Raspberry
lien vers site officiel des Iso/Image : lien
perso j'ai installé la version light de Raspbian , car tout se fait en mode ligne de commande
1 - Commençons par activer de la gestion du bus Wire sur la Raspberry.
- le paramétrage se trouve dans le fichier /boot/config.txt du Raspberry
utiliser la commande : sudo nano /boot/config.txt
en fin de fichier rajouter la ligne suivante : dtoverlay=w1-gpio
enregistrer votre fichier ( CTRL+X puis répondre O )
- un petit reboot du Raspberry . en utilisant la commande : sudo reboot
2 - Jouons avec les capteurs en ligne de commande:
Information :
- le port qui permet de lire les données du Bus Wire est le GPIO 4. sur le Raspberry
- les capteurs KY-001 on besoin d'être alimenté en 5V , génial le Raspberry a des ports GPIO qui fournissent du 5V et la masse .
- si vous utilisez plusieurs capteurs il faudra relié leurs pin S ( signal ) sur le port GPIO 4 ( une breadboard est pratique dans ce cas )
exemple de schéma réalisé avec 3 capteurs :
- Activer la lecture des capteurs sur le Raspberry :
1 - commande : sudo modprobe w1-gpio
2 - commande : sudo modprobe w1_therm
chaque capteur a un numéro unique et afin de l'obtenir il vous faut utiliser la commande : ls -l /sys/bus/w1/devices/
ce qui ma donner le resultat ci dessous.pour mes 3 capteurs
ensuite pour obtenir les valeurs : vous pouvez utiliser la commande : cat /sys/bus/w1/devises/"identifiant du capteur"/w1_slave
ce qui devrai vous donner le résultat ci dessous , on voit que la commande renvoie deux lignes d'information la température se trouve sur la deuxième et il faut la diviser par 1000*
dans l'exemple ci dessous la valeur est de 19,687 C°
il est possible d'interroger l'ensemble des capteurs pour obtenir les valeurs de température en utilisant la commande cat /sys/bus/w1/devices//w1_slave
mais a la lecture c'est moins pratique car difficile de savoir quel capteur a répondu en premier,
petite astuces: pour ne voir que la deuxième ligne s'afficher
utiliser la commande suivante : cat /sys/bus/w1/devices//w1_slave | grep t=
le résultat devrai être le suivant :
3 - Mais du coup quel est l'utilité de ce tuto :
je répondrai ceci :
1 - totalement inutile mais totalement indispensable pour nourrir l'esprit et comprendre comment ça marche
..........et puis ça évite que le Raspberry reste dans un placard
2 - si on maitrise un peu plus la programmation et les notions system et réseaux.
on transforme le Raspberry en serveur web + hotspot wifi avec DHCP là on a une boite a outils autonome qui permet de faire des relevées de données , la seul limite est le nombre de capteur.
Complément : le Raspberry ne demandant que du 5V , si on utilise une batterie de 5V , 10000mAh , ce dernier fonctionne pendant 5 jours.
pratique quand tu veux contrôler et faire des relevés dans un endroits sans électricité ni réseaux.
Si le point N° 2 intéresse : je pourrai faire un tuto sur
comment configurer son Raspberry en serveur Web , mais il y a déjà plein de tuto sur le web pour ça.
comment paramétrer son Raspberry en serveur DHCP et hotspot wifi