Capteurs RF DIY

Bonjour à tous,

Je crée ce post pour permettre à d’autres de profiter des capteurs que j’ai mis au point en utilisant un protocole RF perso très simple, et une passerelle RF vers MQTT de façon à bénéficier du plugin jMQTT qui existe déjà est fonctionne parfaitement. Ce protocole est ouvert et pourra évoluer si nécessaire.
Il est basé sur des modules HopeRF 868 MHz qui permettent une portée très honorable. On peut mettre plusieurs passerelles si le nombre de capteurs est trop important, ce qui permet de choisir une fréquence pour chaque passerelle et donc chaque groupe de capteurs.
Les capteurs actuellement opérationnels sont les suivants :

  • Capteur mouvement/ température/ Humidité/ Luminosité/ Ouverture de porte (tout en un) logé dans un boitier de 102x 31x30mm en impression 3D, destiné à un usage intérieur.
  • Capteur Température/Humidité/pression/ Mouvement//Luminosité pour usage extérieur, dans un boitier supportant la pluie, d’environ 35x45x90mm
  • Capteur d’humidité de sol pour extérieur, avec température et luminosité. S’enfonce dans la terre et mesure de type capacitif à 80 MHz, pour une meilleure fiabilité.

Les schémas/routages ont été fait sous Kicad6, et le soft embarqué sous Arduino. Les boitiers sur Freecad. Tout les sources sont disponibles.
Exemple du capteur intérieur :


La petite fenêtre en bas à droite est pour le capteur de luminosité et la led RGB.
Le dôme est la lentille du capteur PIR type HC-SR501 (mouvement) et permet une sensibilté réglable jusqu’à 10m.
Le capteur de température/humidité interne est au choix un MCP9800 (temp seule) ou SHT41 (Temp/hum). Les trous du boitier permettent de laisser passer l’air pour une meilleure précision de mesure.
On distingue à droite un connecteur qui permet de brancher une sonde de température externe One Wire (type DS18B20) pour un aquarium, frigo, congélateur…
L’antenne hélicoïdale visible donne d’excellents résultats mais sera remplacée dans la dernière version par une antenne IFA imprimée plus simple à utiliser (rien à acheter ou souder!) tout aussi performante .
Le MCU interne est un ATSAMD21G18 très courant sur Arduino.
L’alimentation est faite par une batterie Li-Ion de format14500 située en partie inférieure, et permettant une autonomie d’environ 6 mois, pour une mesure toutes les 4min. On doit pouvoir améliorer encore la conso pour tenir plus longtemps. Les capteurs de contact porte (magnétique) et mouvement (PIR) sont reportés instantanément vers la passerelle sur changement d’état. La luminosité est reportée sur changement brutal avec mesure toutes les 10 sec.
Le cout de revient est d’environ 20 € hors boitier. Je ferais un post plus complet pour décrire la fabrication si des personnes sont intéressées.

Bonjour,

Merci pour le partage, trés interessé par le hard
-j’imagine un ESP32, lequel stp? ainsi que le détecteur de présence?
-le boitier : probablement imprimable en 3D?

Ce n’est pas un ESP32 mais un ATSAMD21G18 (cortex M0+), flashable sous arduino.
Le module PIR vient d’aliexpress comme le module radio RF69HCW.
Boitier 3D en effet (toute amélioration du design est bonne à prendre !)
Voici la 3D de la carte interne sous Kicad :


On y voit la nouvelle antenne (design perso !), le module radio (en vert), des dip-switch de config, la led RGB (en blanc), la pile (bleu), le capteur reed (gris devant), le connecteur usb à gauche et jack 3,5mm pour le capteur externe.
Les connecteurs bottom entry au fond recoivent le module PIR soit du type HC-SR501 chinois ou un module perso comportant des capteurs supplémentaires en I2C.

1 « J'aime »

Et voici les dessins du capteur externe Temp/Hum/Press/Lum/PIR en vue 3D du boitier sur Freecad, et vue du PCB assemblé sur Kicad.


La partie supérieure sert à protéger les capteurs de la pluie et du soleil tout en permettant à l’air de passer. On voit en bas le capteur PIR (dome) et la fenêtre pour le capteur de lumière et la led.

Le sandwich est similaire au capteur intérieur dont il reprend une grande partie du schéma. On note à droite la petite extension de PCB qui sort du boitier principal pour les capteurs de température et humidité. Du coup l’antenne à été modifiée pour s’adapter, et c’est une PIFA en PCB qui est choisie. Il est possible de la remplacer par un fil conformé plus simple à fabriquer, avec des performances légèrement moindres.
On peut installer un petite panneau solaire sur le dessus via un petit adaptateur pour l’orientation à 30°, ce qui permet de recharger la batterie et d’éviter d’avoir à la remplacer.
Sur les 2 capteurs, la tension de batterie est mesurée et reportée dans la trame de mesures.

Ici une vue de la passerelle RF vers MQTT WiFi :


Le schéma est très simple, basé sur l’association d’un module Arduino Pro-micro (Atmega32U4) pilotant un module RF69HCW pour la réception RF, et communiquant avec un ESP01S via un port UART pour l’envoi des trames sur MQTT via WiFi. On doit pouvoir faire plus efficace avec un module ESP32 ou ESP12E qui permettrait de tout gérer en direct mais j’ai fait avec ce que j’avais sous la main.
Peut-être dans une prochaine version…
Le connecteur USB permet de ramener l’alimentation qui n’est pas sur batterie vu la réception permanente des trames RF, et de la connexion MQTT en WiFi.
L’inconvénient est qu’il faut flasher séparément le pro-micro et l’ESP01S.