Quand on parle de la domotique, notamment de DIY et d’open source, il serait aberrant de ne pas aborder et traiter MySensors sur ce blog. Comme d’habitude, dans cet article, on parlera un peu de théorie avant de passer à la pratique. On verra de quoi il s’agit et comment cela fonctionne? et comment fabriquer une passerelle ‘Gateway’ que ça soit USB ou WIFI.
Mysensors, c’est quoi ?
Mysensors est un protocole domotique 100% DIY, il permet de faire communiquer des capteurs/actionneurs à base d’Arduino et de puce radio 2.4Ghz avec un contrôleur domotique (ex : Jeedom ou Domoticz) via une passerelle (Gateway). L’un des point fort de MySensors c’est qu’il utilise la technologie de maillage pour augmenter la portée et la fiabilité comme le cas du Zwave. Il est aussi idéal pour créer des modules fonctionnant sur batterie grâce à la faible consommation de la puce NRF24L01+ et le mode sleep d’Arduino.
MySensors : comment cela fonctionne ?
MySensors forme un réseau de nœuds (Nodes), liés tous à la passerelle (Gateway), comme vous allez voir sur le dessin en-dessous, ces nœuds sont soit des nœuds capteurs (S) soit des nœuds capteurs-répéteur (R) :
- les noeuds capteurs (S): sont généralement construits à partir d’Arduino pro mini ou nano avec des capteurs attachés en combinaison avec une puces radio 2.4Ghz. les nœuds capteurs (S) lisent en permanence l’état de tous les capteurs connectés et transmettent les données via le réseau radio à la passerelle. il peuvent entrer en mode sommeil (sleep) au cas où on veut les faire fonctionner sur batterie.
- les nœuds répéteurs (R) : sont des nœuds capteurs qui seront placés dans le champ de la portée de la passerelle, ils restent tout le temps éveillés, pour pouvoir capter les messages venant des nœuds capteurs (S) qui sont placés plus loin de la passerelle. Un nœud répéteur peut éventuellement inclure des capteurs directement connectés et signaler leurs données à la passerelle. vous n’aurez probablement pas besoin de nœuds répéteurs car la portée de l’émetteur radio la plus élémentaire est d’environ 20 à 60 mètres.
- la passerelle (GW) : transfère les données des nœuds à votre contrôleur domotique, ainsi que du contrôleur aux nœuds. On peut construire des passerelles Usb Wifi et Ethernet, qui sont supportées par plusieurs logiciels domotiques, comme on peut faire une passerelle MQTT pour d’autres.
Pré-requis : Arduino IDE et librairie MySensors
Le software utilisé pour le protocole MySensors est sous forme de sketchs qu’on va injecter aux Arduinos via l’outils Arduino IDE, pour ce faire, on va aller sur le site officiel d’Arduino, télécharger et installer l’outil IDE
Une fois installé, ouvrir l’IDE et cliquer sur ‘Croquis’ (Sketch) puis ‘Inclure une bibliothèque’ et enfin ‘Gérer les bibliothèques’
Chercher ‘Mysensors’ et cliquer ‘Installer’
tout les sketchs qu’on aura besoin seront disponibles désormais sous ‘Fichier’ =› ‘Exemples’ =› ‘Mysensors’
Passerelle MySensors USB :
Matériel nécessaire :
–Un Arduino NANO soudé + son cable :
voir sur : Amazon Aliexpress
-Puce radio NRF24L01+ PA+LNA
voir sur : Amazon Aliexpress
-Câbles dupont pour tester avant de souder
voir sur : Amazon Aliexpress
-Un pcb + des pins 2.54mm femelles pour souder et avoir un montage plus propre :
voir sur : Amazon Aliexpress
-Condensateurs pour optimiser la portée :
Montage de la puce radio :
NRF24L01 + ==› Arduino
GND ==› GND (noir)
3.3V ==› 3.3V ( rouge attention pas 5v !!)
CE ==› D9 (orange)
CS ==› D10 (jaune)
CSK ==› D13 (vert)
MOSI ==› D11 (bleu)
MISO ==› D12 (violet)
IRQ non connecté.
Téléversement de sketch
On ouvre l’Arduino IDE, clique ‘Fichier’ =› Exemple’ =› ‘MySensors’ =› ‘GateweySerial’
Ensuite, on choisit le type de carte et le COM port :
On laisse le sketch tel qu’il est, on clique ‘Vérifier’ pour s’assurer qu’il y a pas d’erreur, puis ‘Téléverser’
On débranche notre Gateway et on la branche à Jeedom. on installe le plugin Mysensors, on active, installe les dépendances, et on passe à la configuration du port.
On sauvegarde et voila ! notre passerelle USB est prête à l’emploi .
Sur Domoticz, on clique ‘Réglages’ =› ‘Matériel’, on donne un nom quelconque, on choisit ‘MySensors Gateway USB’ et on renseigne le port où est branché notre passerelle :
Passerelle MySensors WIFI
La passerelle WIFI est très pratique, elle permet de libérer un port USB gagner encore de la portée.
Matériel nécessaire :
On remplace l’Arduino avec un wemos D1 ou NodeMcu. et on peut prendre une puce radio sans antenne puisqu’on peut mettre notre gateway dans un endroit ‘stratégique’ :
-NRF24L01+
-NodeMcu Lua V3 :
-Wemos D1 :
voir sur : Amazon Aliexpress
Montage de NRF24L01 :
NRF24L01 + ==› Wemos D1 / NodeMcu
GND ==› GND (noir)
3.3V ==› 3.3V ( rouge attention pas 5v !!)
CE ==› D2 (orange)
CS ==› D8 (jaune)
CSK ==› D5 (vert)
MOSI ==› D7 (bleu)
MISO ==› D6 (violet)
IRQ non connecté.
Téléversement du sketch
Avant de téléverser le sketch, il est nécessaire d’ajouter les ESP8266 aux cartes reconnues par l’Arduino IDE, pour cela : ‘Fichier’ =› ‘Préférences’ =› ‘Url de gestionnaire des cartes supplémentaire’ mettre cette adresse et sauvegarder :
On va sur ‘Outils’ =› ‘Type de carte’ =› ‘Gestionnaire de cartes’ on tape ESP8266 et on prend la version : 2.4.1
On choisit le type de carte et le port :
Si votre carte ESP8266 n’est pas reconnue par l’ordinateur, vous devez installer les drivers correspondants CH340 ou CP2102.:
On passe à l’édition de sketch : ‘Fichier’ =› Exemple’ =› ‘MySensors’ =› ‘GateweyESP8266’ Il faut mettre les identifiant de notre WIFI sur ces lignes :
Fixer de préférence l’adresse IP de la gateway en modifiant ces lignes :
On vérifie le sketch et on clique ‘Téléverser’
On place notre passerelle dans un endroit où elle peut capter le WIFI et peut être alimentée en 5V. Et voila la config de notre passerelle sur Jeedom :
Et sur Domoticz :
Pour booster les puces et augmenter la portée NRF24L01 on peut brancher un condensateur d’une valeur entre 4.7µ – 47µF sur les GND et VCC de la puce.
Mon tuto touche à sa fin, je vous donne rendez-vous trés prochainement pour vous montrer comment fabriquer des capteurs et des multi-capteurs comme ceux-là :
capteur d’humidité de sol et de température.
contrôleur pour bande à leds autonome, il fait allumer la lumière en fonction de mouvement et de la lumière ambiante, et en même temps remonter toutes les infos au contrôleur domotique. Pour ne rien louper, je vous invite à suivre le blog sur les réseaux sociaux. A bientôt !
Salut, j’ai hâte de voir le capteur d’humidité de sol et de température. Comment est il alimenté ?
Battrie 18650, de 2000mah avec des relevés chaque 5 min ça tiens jusqu’à 6 mois 🙂
Article très intéressant ! Merci de partager ces informations ! Continue comme ca ! 🙂
Excellent article. Bravo et merci pour le partage
Salut,
Pourquoi rajouter un NRF24L01 alors que le WemosD1 ou NodeMCU ont des puces Wifi?
Je suis bricoleur mais débutant en prog et DIY informatique.
Alors la question paraît être con et la réponse certainement très simple.
Merci d’avance
Bonjour, je ne sais pas exactement c’est quoi la différence. techniquement les deux sont en 2.4G mais en wifi on a toujours besoin d’un routeur et d’adresse IP. en radio-fréquence 2.4ghz on a pas besoin de ça. 🙂 voila je suis aussi débutant je ne peux pas en dire plus