Les DHT 11, 22, Raspberry ça marche enfin !

Aaahhh, le Raspberry et les DHT de tout type viennent de faire un grand pas car Adafruit met à notre disposition une bibliothèque destinée à faire les acquisitions depuis les DHT11, 22, 2302 QUI FONCTIONNE.

Si, si je vous jure !

un autre article mentionnait ici l’installation et les problèmes liés à l’acquisition des données, c’est du passé.

Voyons ici comment connecter un capteur de température et de % d’humidité DHT11 à notre Raspberry. la procédure est identique pour un DHT22 ou 2302

Un DHT 111

Câblage

  • 1 du DHT au 3.3 V,
  • 2 du DHT au gpio que vous voulez,
  • 3 rien,
  • 4 GND

Un lecteur (cj) fait remarquer que :

D’après les spécifications fabriquant, le DHT22 accepte une alimentation comprise entre 3.3V et 6V. Les DHT11 et AM2302 acceptent quant à eux une alimentation comprise entre 3.3 et 5.5V. On peut donc sans problème brancher ces composants sur le 5V d’un RPi (ce que j’ai d’ailleurs fait avec mon AM2302 pour éviter les interférences créées par sa mauvaise cohabitation avec un DS18B20 connecté sur le 3.3V en 1-wire).

Entre 1 et 2 une résistance 4.7K Ohm-10 K, si ça marche pas avec 4.7K , passez à une 10k.

Attention vérifiez la répartition des pins GPIO suivant votre modèle de Raspberry.

Un tuto en anglais de chez Adafruit : https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/wiring

Software

Les outils Adafruit ont été déplacés sur github et consistent maintenant en une librairie C que nous devrons utiliser dans un script python.

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

git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo apt-get update
sudo apt-get install build-essential python-dev python-openssl
sudo python setup.py install

Une fois terminé et pour tester cela, on exécute la commande suivante (pour un  DHT11) , un DHT 22 sera interrogé par Adafruit_DHT 22 XX, XX étant le numéro du GPIO concerné.

cd examples
sudo ./AdafruitDHT.py 11 4
Temp=23.0* Humidity=37.0%
J’indique au plus têtus d’entre vous que le sudo EST OBLIGATOIRE pour accéder aux GPIO du Raspi.
Attention : le message d’erreur ci-dessous indique que le mode « device-tree » n’est pas activé sur le Raspberry.
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 puis dans le point 8 « Advanced Options », faites un « Enable Device Tree » et rebootez.
Vérifiez que tout fonctionne avec :
AdafruitDHT 11 4

Le 11 étant le type de DHT que vous avez (11 ,22 ou 2302) et 4 le numéro du GPIO que vous avez câblé.

OK tout est bon on a température et humidité, on passe à la suite.

Attention : Le DHT11 et le  DHT22 ne répondent que 1 fois par seconde, inutile donc de les interroger plus rapidement.

Domoticz

On  va dans l’onglet « Matèriel » pour créer un virtual device puis dans ce virtual device.

On ajoute un virtual sensor Temp+Humidité ,

2014-09-05 19_01_10-Domoticz

Maintenant on revient dans  « Réglages/Dispositifs », on clique sur la flèche verte pour l’ajouter puis on on note l’ IDX Domoticz (44) dans mon cas

2014-09-05 19_03_06-DomoticzLire la suite

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

IPX800 V4, lien avec Domoticz

 

 

 

ipx800v4

Depuis quelques semaines j’ai un ipx800 V4  sous la main et passé la phase de prise en main de celui-ci, je n’ai pu m’empêcher de le relier à notre Domoticz.

Pour ceux qui ne connaîtraient pas :

Principales fonctions:

  • 8 entrées digitales tout ou rien (contact sec). Extensible à 56.
  •  8 sorties relais sur contact  270 V/10A  extensible à 56.
  •  4 entrées analogiques 10 bits.
  •  128 entrées + 128  sorties librement configurables. Mode Virtual IO ©.
  • 32 entrées analogiques virtuelles 16 Bits. Mode Virtual IO ©
  • 32 Ping Watchdog (détection de périphériques réseaux par PING ICMP).
  • 32 Périphériques Enocean. ( Nécessite l’extension X-ENO ).
  •  16 Compteurs d’impulsions incrémental / décrémental et pas configurable.
  •  255 Scènes sur 512 canaux DMX.(Nécessite l’extension X-DMX).
  •  255 horloges programmables pour déclencher des actions uniques ou à chaque seconde, minute, heure, jour , mois.
  •  Notifications GET et POST sécurisées: Cryptage des pushs en TLS (HTTPS).
  •  Envoi d’émails sécurisés vers 1 à 4 utilisateurs différents.
  •  Support du Dyn-Dns.
  •  Mise à l’heure par serveur NTP et/ou Horloge interne avec sauvegarde en cas de coupure réseau ou de courant.
  •  Gestion fuseaux horaire et changement d’heure été/Hiver.
  •  Moteurs de scénarios GX© : Logique combinatoire ET / OU / NOT.
  •  8 Tableaux de bord responsives personnalisables par  widgets.
  •  Editeur Javascript pour personnaliser et créer ses propres widgets.
  •  Sources de données configurable  JSON et XML.
  •  Controle des lampes LED RGBW Mi-Light.

 

et une présentation ici http://blog.domadoo.fr/2016/02/16/a-decouverte-de-carte-ipx800v4-de-cge-electronics/

Il nous intéresse ici de savoir que l’IPX possède une API permettant de le contrôler par passage de commandes dans une URL.

Pour peu que vous ayez ouvert un compte chez gce vous pouvez récupérer les mises à jour de l’ipx et la documentation qui nous apprends que pour utiliser l’IPX via JSON ou M2M, il faut y autoriser l’utilisation de l’API.

Dans le menu ip_de_votre_ipx/admin/m2m.htm il suffit d’activer l’API et de donner un code d’accès (1234 par exemple).

ipx800_api

Puis ensuite la doc de l’api est assez bien faite pour mettre en place le pilotage et l’interrogation facilement

Sachant que l’ipx 800 à 192.168.1.74 comme adresse ip et que ma clé API est 1234.

Pour activer le Relai 01
http://192.168.1.74/api/xdevices.json?key=1234&SetR=01

Pour le repasser  à 0
http://192.168.1.74/api/xdevices.json?key=1234&ClearR=01

Pour incrémenter le Compteur 02 de +2
http://192.168.1.74/api/xdevices.json?key=1234&SetC02=+2

Ces url de pilotage pourront être facilement liées à un switch Domoticz par les action ON/ action OFF pour que celui-ci pilote l’ipx.

ipx_http

On peut aussi grouper les commandes dans un seul appel d’URL de cette façon :

http://IPX800_V4/api/xdevices.json?key=apikey&SetR=01,02,03,04,05,06,07,08 » qui met les 8 relais de l’IPX800V4 à 1.

Pour récupérer des données on utilise Get=R pour relais ou Get=VA pour les virtuelles ou Get=C pour les compteurs

http://192.168.1.74/api/xdevices.json?key=1234&Get=C
renvoie un pavé de valeurs en JSON contenant toutes les valeurs des compteurs.

Exemple :

{
« product »: « IPX800_V4 »,
« C1 »: 0,
« C2 »: 26,
« C3 »: 0,
« C4 »: 0,
« C5 »: 0,
« C6 »: 20,
« C7 »: 0,
« C8 »: 0,
« C9 »: 19050,
« C10 »: 0,
« C11 »: 0,
« C12 »: 0,
« C13 »: 0,
« C14 »: 0,
« C15 »: 0,
« C16 »: 0
}

Il est ensuite facile d’extraire les valeurs recherchées via jq/python ou autres, ici jq dont l’installation est détaillée ici https://easydomoticz.com/manipuler-les-donnees-json-de-domoticz-en-shell/

#!/bin/bash
valeurC2=$(curl -s "http://192.168.1.74/api/xdevices.json?key=1234&Get=C"|jq   -r .C2)
echo $valeurC2

me renverra bien ma valeur attendue pour le compteur 2

Voila, au final une intégration simple et fonctionnelle rapidement sans prise de tête.

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Une nouvelle section dans le forum easydomoticz dédiée aux ESP8266 et dérivés

Suite à de nombreuses demandes (!) une section dédiée aux ESP8266 vient d’être ouverte sur le forum.

esp8266

Pour ceux qui ne connaitraient pas ESP8266 il s’agit d’un module Wifi, peu cher (entre 3 et 8 € suivant modèles), s’interfaçant facilement à de nombreux équipements tels que Arduino les rendant ainsi wifi facilement mais pouvant également fonctionner de manière autonome, sans Arduino donc ce qui en fait un objet de choix pour l’IOT, internet des objets en Français.

Plus de lecture générale ici http://sebastien.warin.fr/2015/10/29/3223-esp8266-des-microcontroleurs-avec-wifi-integre-l-avalanche-des-objets-connectes-dans-constellation-dossier-complet-dans-le-magazine-programmez/

Le lien direct vers le forum est ici : https://easydomoticz.com/forum/viewforum.php?f=24

Vous y retrouverez une compilation de quelques liens sur des sujets anciens en attendant d’alimenter tout ça avec vos propres questions.

Utilisez aussi cette section pour tous les Weemos, NodeMCU ….

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/