SVXLINK: Température et humidité

Dans cette article, vous allez pouvoir annoncer sur votre relais SVXLink en vocal la température et l’humidité grâce au capteur DH11 + un programme developpé par Adafruit.

Ce type d’information peut être importante, les relais sont parfois isolés dans des locaux chauffés ou pas.
Les cavités d’un relais radioamateur sont sensibles à la température ambiante. Il serait possible d’asservir un chauffage activé par un relais de la carte SVXCard en cas de température inférieur à la consigne.


Nous allons installer les fichiers nécessaires à la lecture du capteur:

Récupérons les sources sur GitHub et compilons la bibliothèque DHT.

sudo git clone https//github.com/adafruit/Adafruit_Python_DHT.git

cd Adafruit_Python_DHT
sudo apt-get update
sudo aptget install buildessential pythondev pythonopenssl

sudo python setup.py install

Une fois terminé et pour tester, on tape la commande ci-dessous (pour un  DHT11) , un DHT 22 sera interrogé par Adafruit_DHT 22 XX, remplacer XX par le numéro du GPIO.

cd examples
sudo ./AdafruitDHT.py 11 5
En réponse:
Temp=23.0* Humidity=37.0%

La commande sudo est nécessaire pour accéder aux GPIO du Raspi.
Attention : Si le message d’erreur ci-dessous apparait, il indique que le mode « device-tree » n’est pas activé.

Traceback (most recent call last):
File « ./AdafruitDHT.py », line 41, in <module>
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
File « build/bdist.linux-armv7l/egg/Adafruit_DHT/common.py », line 90, in read_retry
File « build/bdist.linux-armv7l/egg/Adafruit_DHT/common.py », line 77, in read
File « build/bdist.linux-armv7l/egg/Adafruit_DHT/Raspberry_Pi_2.py », line 34, in read
RuntimeError: Error accessing GPIO.

Tapez sudo raspi-config et dans le point 8 « Advanced Options », activer le « Enable Device Tree » et rebootez.
Vérifiez que tout fonctionne avec :
sudo ./AdafruitDHT.py 11 5
Le 11 étant le type de DHT que vous avez (11 ,22 ou 2302) et 5 le numéro du GPIO que vous utilisez.

Attention : Le DHT11 et le  DHT22 ne répondent que 1 fois par seconde.

Câblage sur un raspberry:

Le module est équipé de la resistance utile, nous avons juste à raccorder 3 fils, par défaut dans le programme c’est le Gpio4 qui est utilisé.
Le capteur est disponible chez Banggood

Câblage sur la SVXCard:

Sur la droite de la carte, les gpios non utilisés ont été ressortis sur des Pin vous retrouverez le GPIO5.
Nous avions aussi prévu une alimentation externe 5V, il ne reste plus qu’a vous connecter dessus.

Intégration dans SVXLink sur demande DTMF 11#:

Se rendre dans Logic.tcl dans la partie proc dtmf_digit_received {digit duration} {

#
#MESSAGE TEMPERATURE/HUMIDITE
#
if {$cmd == "11"} {
set temphum [exec sudo python /home/SVXCARD/Adafruit_Python_DHT/examples/AdafruitDHT.py 11 5];
set temperature [string range $temphum 5 8]
set humidity [string range $temphum 21 24]
#TEMPERATURE EXTERIEUR:
puts " Température: $temperature °C"
playMsg "SVXCard/Weatherstation" "tempext";
playTemp $temperature;
 
#HUMIDITY OUT
puts "Humidité $humidity %"
playMsg "SVXCard/Weatherstation" "humidityout";
playNumber $humidity;
playMsg "Default" "percent";
 
return 1
}

Il est  bien sûr nécessaire d’avoir les fichiers sons dont le code ci-dessus fait appel, voir l’article précédent pour installer les fichiers vocaux 4 voix en français qualité 16K 

Vous pouvez recevoir un email dès la parution d’un article sur le Blog F8ASB.COM, entrez votre mail sur la fenêtre à droite et cliquer sur abonnement. Tous les articles en 1 clic ICI
Ce contenu a été publié dans electronique, F1ZKA, Raspberry, Relais F1ZBU /F1ZBV, Svxlink, avec comme mot(s)-clé(s) , , , , , , , , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Time limit is exhausted. Please reload CAPTCHA.