samedi 21 janvier 2017

Raspberry épisode 18 : Electronique, le capteur d'humidité

Cette épisode sera certainement le plus long et le plus construit de tous les épisodes déjà écrit.
En effet, j'ai monté ce projet en plusieurs étapes et sur de longs mois.



J'ai acheté sur un coup de tête un ensemble de modules électronique.
N'y connaissant absolument rien (si ce n'est de ne pas y mettre les doigts quand c'est branché), j'ai décidé de me jeter dans ce bain.
Dans mon paquet se trouvait entre autre, un module de relevé de température et d'humidité. Tel que celui-ci. Comment brancher mon bidule bleu sur ma framboise ?
 

En gros un fil sur le +, un fil sur le moins, un fil de data (out)
Il existe des schémas sur internet pour expliquer le détail des PIN  ou ce site: http://fr.pinout.xyz/



Je branche donc le + sur le PIN 3,3V (ici 1)
Le moins sur le  un PIN Ground (ici 6)
Le data sur GPIO4 (ici 7)

Une fois votre DHT22 branché sur le raspberry Pi, installons le logiciel.
Beaucoup de blog désigne le logiciel d'ADAFRUIT comme étant le meilleur, pour ma part, je préfère le DHTXX.

Mise à jour du système
sudo apt-get update
 
Installation des logiciels 
sudo apt-get install build-essential python-dev



sudo apt-get install pigpio python-pigpio python3-pigpio

Créer le repertoire
mkdir DHTXX
cd DHTXX

wget http://abyz.co.uk/rpi/pigpio/code/DHTXXD.zip
Dézipper le script
unzip DHTXXD.zip  

Compiler le script
root@raspberrypi:/home/pi/thermo3/DHTXXD# gcc -Wall -pthread -o DHTXXD test_DHTXXD.c DHTXXD.c -lpigpiod_if2

Donner les droits d'ecriture
chmod a+x DHTXX


Récuperer les informations du module DHT
Avant de tester votre module activer le PIGPIOD
SUDO PIGPIOD 
sinon vous n'aurez aucun retour !
et si vous voulez en faire un service qui se lance au démarrage pour ne plus à avoir à y penser :
sudo systemctl enable pigpiod.service

exemples:
./DHTXXD -g17 # Read a DHT connected to GPIO 17. donc le PIN 11 ou BCM17
./DHTXXD -g5 -i3 # Read a DHT connected to GPIO 5 every three seconds.
./DHTXXD -?
# for options.


J'utiliserai la commande suivante avec un Crontab 
./DHTXXD -g7

Le résultat est de la forme suivante : 0, temperature en °C, humidité %
0 22.0 37.0

Pour utiliser une commande dans un script Python, nous utiliserons cette méthode:
var=$(commande)

pour enregistrer les valeurs dans un fichier:


DHTXXD –g4 -i3 > test.txt




En crontab -e:
#Humidité
*/15 * * * * /home/pi/testcron/test.sh >> /home/pi/thermo3/logtemp.txt

*/15 * * * * /home/pi/thermo3/DHTXXD/DHTXXD -g4 >> /home/pi/thermo3/logtemp.txt




Dans test.sh
jour=$(date +%d/%m/%Y_%H:%M)

echo $jour

Dans Thermo.sh

#pigpiod

jour=$(date +%d/%m/%Y_%H:%M)

metrologie=$(/home/pi/thermo3/DHTXXD/DHTXXD -g4)

temperature=$(echo $metrologie | cut -c3-6)
humidite=$(echo $metrologie | cut -c8-13)
echo $jour";"$temperature";"$humidite";"




Aucun commentaire:

Enregistrer un commentaire