MySensors Linky – la portée du NRF24L01

Un bref article pour donner quelques informations sur la portée du module Linky Mysensors. Comme tu le sais, ce module utilise le NRF24L01 pour l’échange de données via le protocole Mysensors. Théoriquement, il est possible de réaliser la transmission de données jusqu’à 100 mètres de distance. Mais dans la vraie vie, c’est complètement différent et je vais essayer de te donner quelques pistes pour améliorer sa portée.

Pour atteindre les 100 mètres, il faut réunir plusieurs pré-requis :

  • Être en champ libre : pas de chance, tu as sûrement des murs entre ce module et ta gateway. Le NRF24L01 utilise la bande de fréquence 2,4Ghz qui n’aime pas les murs et encore moins les murs en béton armé.
  • De pas être perturbé par un champ externe : je suppose que tu as du wifi chez toi et l’une des bandes utilisées est aussi le 2,4 Ghz. De plus, le canal réglé par défaut sur MySensors est 76, correspondant à la bande en plein milieu du wifi.
  • D’utiliser un débit bas : pas de problème, Mysensors est réglé par défaut à 250kps.
  • D’utiliser la pleine puissance du module : sur Mysensors le réglage par défaut est à HIGH ce qui n’est pas le niveau le plus élevé.

Comment améliorer la portée du module ?

Changer le NRF24L01+ SMD par un module avec amplificateur et antenne externe n’est pas une bonne option à cause de sa consommation vis-à-vis de la puissance limitée à 130mW sur l’alimentation du Linky.

Il est possible d’alimenter le module avec une alimentation extérieure, mais ce n’est pas envisageable pour le compteur enfermé devant ta rue…

Dans ce cas, je te conseille de te tourner vers le module RFM qui permettra d’avoir une portée importante, mais demande la mise en place d’une autre gateway qui n’est pas compatible avec MySensors.

Il reste à mon avis quatre possibilités (si tu as d’autres idées, je suis preneur…) :

  • Modifier quelques paramètres de Mysensors liés au fonctionnement du NRF24L01. La version 1.1.4 disponible github permet de modifier avant la compilation certains paramètres du NRF.

# define MY_RF24_PA_LEVEL RF24_PA_HIGH

RF24_PA_LOW = -18dBm
RF24_PA_MID = -12dBm
RF24_PA_HIGH = -6dBm -> par défaut
RF24_PA_MAX = 0 dBm
il est possible de mettre ce paramètre à RF24_PA_MAX mais sans garantie de stabilité du module à cause de l’augmentation de consommation. Cela fonctionne chez moi, mais je n’ai pas vu une grande différence de portée. A tester chez toi si besoin.

#define MY_RF24_CHANNEL 96

0 => 2400 Mhz (canal RF24 1)
1 => 2401 Mhz (canal RF24 2)
76 => 2476 Mhz (canal RF24 77) -> par défaut
83 => 2483 Mhz (canal RF24 84)
124 => 2524 Mhz (canal RF24 125)
125 => 2525 Mhz (canal RF24 126)
Attention : ce paramètre doit être identique sur tous les éléments MySensors incluant la Gateway. Par défaut, il est positionné à 76. Il est possible de le positionner à 96 ou plus afin d’être hors spectre wifi.
  • Utiliser une antenne de meilleure qualité sur la gateway. Pour ma part ma gateway utilise une NRF24L01 SMA avec une antenne extérieure 6db.

  • Mettre en place une antenne extérieure sur le NRF24L01 SMD à l’image de cet article.
  • Utiliser un NRF24l01 sans amplificateur intégré, mais avec une sortie antenne comme celui de chez EBYTE « E01-ML01IPX« . La dernière version du PCB est maintenant compatible avec le module EBYTE « E01-ML01IPX ».
  • Mettre en place un « repeter » MySensor. Le réseau Mysensors est un réseau de type arborescent ; les capteurs envoient directement les informations à la gateway, mais il est possible de passer par un « repeter » pour étendre la portée du réseau MySensors.