Accueil | Domotique | MySensors v2 : mesure de température et d’humidité (DHT11/DHT22)

MySensors v2 : mesure de température et d’humidité (DHT11/DHT22)

Le firmware MySensors permet de réaliser très facilement une sonde de température et d’humidité à base de DHT11 ou DHT22 dont on pourra très facilement récupérer les valeurs sur un logiciel domotique ou un programme quelconque. C’est un bon exercice pour découvrir la librairie MySensors et la domotique. Si vous débutez avec la librairie MySensors, vous pouvez commencer par cet article.

https://twitter.com/projetsdiy/status/771319183304949761

Matériel nécessaire

arduino nano v3 atmega328pArduino Nano (conseillé)
rflink nrf24l01Module radio nRF24L01

Portée standard ou longue portée (1000m ou environnement difficile)

adaptateur cablage nRF24L01Adaptateur avec régulateur de tension 3V3 pour module antenne nRF24L01 ou nRF24L01 + PA + LNA
Broches DHT22Capteur de température et d’humidité

DHT11 ou DHT22

jumper dupontJumper Dupont
breadboardBreadboard

Branchement nRF24L01 et DHT22

Il est préférable d’utiliser un adaptateur avec un régulateur de tension intégré pour obtenir une meilleure qualité d’émission / réception du signal radio (et c’est aussi beaucoup plus facile à câbler). Le branchement du module nRFF24L01 à l’Arduino Nano est le suivant :

  • 5V -> V+
  • GND -> GND
  • D13 -> SCK (vert)
  • D12 -> MISO (violet)
  • D11 -> MOSI (bleu)
  • D10 -> CSN (jaune)
  • D9 -> CE (orange)
  • D2 -> IRQ (gris)

Le DHT22 ne comporte que 3 broches à câbler.

L’équipe de développement MySensors conseille l’utilisation d’un Arduino Nano comme base pour un noeud MySensors. Il est également possible d’ajouter un noeud à une gateway ou d’utiliser un ESP8266 depuis la v2.

mysensors arduino micro dht22 nrf24l01

Code

Copiez le code ci-dessous dans un nouveau projet Arduino. Vous pouvez modifier les paramètres suivants :

  • La force du signal. Ici il est réglé à LOW pour privilégier la portée compte tenu du faible volume de données à transmettre et de la fréquence de l’envoi.
  • Le type de module Radio.
  • L’identifiant du noeud. La v2 est stable mais l’attribution automatique d’un identifiant est encore aléatoire. Pour le moment, je préfère attribuer un numéro manuellement.
  • Le paramètre SLEEP_NODE permet de mettre en sommeil le module pour la période SLEEP_TIME

Vous aurez peut être aussi besoin d’ajouter la librairie DHT depuis le gestionnaire de librairie. Contrairement aux exemples que l’on trouve sur internet, j’ai utilisé la librairie Adafruit qui est disponible dans le gestionnaire de librairie.

Visualisation sous Domoticz

Il ne nous reste plus qu’à intégrer cette petite sonde de température et d’humidité dans un logiciel domotique tel que Domoticz. Si vous débutez en domotique (ou Domoticz), lisez d’abord cet article qui explique comment ajouter une gateway réseau à base d’ESP8266.

Allez dans les dispositifs. Dès le premier envoi de données, Domoticz l’a ajouté automatiquement à la liste des dispositifs disponibles. Appuyez sur la flèche verte et donnez lui un nom.

domoticz dispositif mysensors temperature humidite dht11 dht22 arduino nano

Allez ensuite sur la page Température pour voir votre nouvelle sonde MySensors.

domoticz dispositif mysensors temperature humidite dht11 dht22 arduino nano

  • Philippe

    Bonjour !

    J’ai testé votre sketch : ca marche !! Mais voici quelques remarques :

    Sur votre schéma, il y a une erreur de connexion au niveau du module radio, il faut inverser les fils bleu et mauve (je me suis fait avoir, trop regardé le schéma !!). Mais pas d’erreurs dans texte !!

    Toujours sur le schéma, vous alimentez le module radio en 5V….Pas bon pour lui !!! 🙂 j’ai rajouté un régulateur de tension en 3.3V (ou faire comme vous le proposez, ajouter un adaptateur sur le module radio).

    Dans le sketch la syntaxe #include <SPI.h> ne passe pas lors de la compilation dans IDE. Mettre : #include , idem pour les deux autres #include !

    Voilà, rien de bien gênant, juste quelques précisions !! 🙂

    Pour info, j’ai fait le capteur avec une Arduino Mini, nickel !

    Je lis les valeurs de température et humidité dans Jeedom avec le plugin Mysensors.

    Le capteur semble très bien marcher, je vais le laissé en test un bon moment.

    Juste une question : pour le mode sleep, peut on passer à 1 min ? , voir plus ?

    En tout cas, merci pour votre article et le sketch fonctionnel !!

    Je vous souhaite de passer un bon réveillon et à l’année prochaine !! 🙂

    • Bonjour Philippe et merci beaucoup pour tous vos retours. Désolé pour la couleur sur le schéma, je vais corriger rapidement. Concernant le temps de mise en sommeil, oui, vous pouvez indiquer ce que vous voulez. Vous pouvez le réveiller une fois par heure si c’est suffisant. Passez un bon réveillons également et à l’année prochaine avec plein de nouveaux tutos !

      • Philippe

        Bonsoir,
        Tout mes voeux pour cette nouvelle année!
        Merci pour votre réponse, je modifierai le sketch en conséquence pour augmenter la période de sommeil.

        • Bonjour Philippe. Meilleurs voeux également pour 2017 !