Un détecteur de mouvement connecté à la box domotique (3/6)

Réussir à créer sa box domotique, puis son premier capteur connecté, le tout rendu accessible en local mais aussi sur son smartphone où que l’on soit, c’est déjà un grand pas en avant. Mais souvent quand on parle domotique, on parle d’alarme avec détecteur de mouvement, caméra, détection de son, pour effectivement envoyer des notifications au propriétaire et ainsi de suite. Voilà ce que je propose dans cet article, créer un détecteur de mouvement connecté à Domoticz.

Parlons tout d’abord d’électronique

Dans ce paragraphe, nous allons parler essentiellement du circuit prototype puis du montage final.

Ce qu’il faut:

  • 1 Wemos D1 mini ou autre module Wifi dont vous avez l’habitude
  • 1 PIR (détecteur IR de mouvement) HC-SR501
  • 1 transistor NPN 2N222
  • 2 résistances 10kOhm (R2=R3 dans le schéma ci-dessus)
  • 1 résistance 1kOhm (R1 dans le schéma ci-dessus)
  • 1 condensateur électrolytique 1uF

Voilà ce que donne le montage sur breadboard:

Montage sur breadboard

Pour avoir un montage plus propre, j’ai eu recours une nouvelle fois à JLCPCB pour commander les PCB après avoir dessiné le circuit et construit la PCB dans l’outil EasyEDA.

Les PCB ont été reçues en 1 mois (commande passée en même temps que celles du thermomètre IR et de l’interface Nextion pour optimiser le prix de la livraison par exemple). Voici le résultat après quelques minutes de soudage. Les inscriptions et le dessin sur la PCB sont d’une grande aide :

Quelques précisions sur le circuit

Tout d’abord, le module détecteur de mouvement, comme on peut le voir sur le circuit, n’est pas connecté directement à une GPIO du Wemos. En fait tout dépend du besoin que l’on a. 2 options :

  • Soit votre circuit n’est pas alimenté par une batterie et vous n’avez donc aucune gestion d’énergie à faire. Ceci vous permet donc très simplement de laisser le module Wifi allumé en permanence et donc détecter les mouvements sans vous poser plus de questions.
  • si vous souhaitez faire une gestion d’énergie:
    • Une première solution consiste à utiliser une batterie. Ceci a l’avantage de rendre votre détecteur de mouvement plus mobile et donc de pouvoir le placer vraiment où vous le souhaitez. Cela demande néanmoins de bien dimensionner votre batterie, de pouvoir allumer ou éteindre votre module (peu de raison de vouloir l’activer quand vous êtes chez vous).
    • pour augmenter la durée de vie de la batterie et en pas la recharger trop souvent, il est possible d’utiliser la fonction Deep Sleep du Wemos et de le réveiller par une interruption. Pour être plus précis, le PIR reste alimenté même quand le Wemos a été mis en sommeil et sa consommation est vraiment très faible. Quand il détecte un mouvement, il va donc continuer d’envoyer un signal qui peut être utilisé pour réveiller le Wemos. Une fois réveillé, celui-ci peut envoyer en Wifi cette information à Domoticz qui enverra ensuite une notification.

Réveiller le Wemos avec le PIR

Le fonctionnement du circuit mérite quelques explications supplémentaires. Même quand le Wemos est endormi, le PIR envoie un signal. Or, le Wemos étant en sommeil, ses GPIO ne peuvent être utilisées. Par contre, le module Wifi peut être réveillé par un signal de niveau haut arrivant sur la broche D0. Afin d’activer ce mode, il faut que les broches D0 et RST soient reliées entre elles. Sur certains modules, cela est déjà le cas. Puisque on utilise ici une PCB créée spécialement, cette connexion est prise en compte dans le schéma électrique.

Le circuit utilise un transistor et un condensateur. Pourquoi ?

On sait notamment que le module peut être réveillé par une interruption (le signal de détection du PIR). Le signal qui doit être envoyé sur D0 et RST doit être un front montant unique. En conséquence, utiliser directement le signal du PIR n’est pas possible car cela résulterait en une multitude de redémarrages. Ceci serait bloquant à 2 titres:

  • la consommation de toutes ces réinitialisations successives constituerait un gaspillage d’énergie, notamment si le montage est alimenté par une batterie.
  • Avec tous ces redémarrages, il n’est pas sûr que l’information envoyée par le PIR soit finalement correctement prise en compte par le Wemos.

Le transistor joue ici parfaitement son rôle d’interrupteur qui permet de s’assurer de la qualité d’un signal unique envoyé sur la broche de réveil grâce au condensateur. De plus, la GPIO du Wemos doit recevoir le signal venant du PIR pour que cette information soit prise en compte par ESPEasy puis envoyée à Domoticz. Il faut donc relier le PIR directement à l’entrée choisie et qui sera configurée en Input dans ESPEasy.

Résumons

Au bilan, quand le PIR détecte un mouvement, il envoie un signal. Ce signal permet dans un premier temps de réveiller le Wemos. Dès que le module est prêt, l’entrée choisie reçoit le signal du PIR (réglage à faire du maintien de l’impulsion) et peut donc être traitée par le système domotique quand le détecteur de mouvement s’actionne.

Réglages du PIR HC-SR5011

Pour bien se rendre compte du fonctionnement du circuit, voilà une vidéo qui simule avec un signal carré des détections successives avec le PIR et le fonctionnement attendu du couple condensateur/résistance sur la base du transistor et la tension de la résistance du collecteur.

Mise à l’état bas de la broche reset (tension entre le collecteur et l’émetteur du transistor)

Il est clair que la broche RST reçoit pendant un court laps de temps un signal ramené à 0v avant de revenir à l’état haut ce qui revient à faire un reset du module.

N.B: le condensateur a été mis à 10uF pour une question de visualisation sur le simulateur de l’état bas de la broche RST.

Avant de modéliser, à quoi penser pour le boîtier ?

Voilà! le détecteur de mouvement connecté à la box domotique est prêt à fonctionner. Maintenant, il reste à voir comment le packaging sera présenté. 3 choses à prendre en compte avant de se lancer dans la modélisation (faite ici sous Fusion360):

  • évidemment la fenêtre pour le PIR
  • l’alimentation par une batterie type 18650 et l’utilisation d’un module chargeur. Avec le système utilisé, il faut donc penser à un emplacement dédié pour alimenter le circuit, une fenêtre pour brancher le câble USB qui permet de recharger la batterie et une fenêtre pour le switch on/off
Chargeur de batterie 18650 avec branchement micro usb
Chargeur 18650 avec micro usb

Voilà le résultat, certes un peu grand mais j’ai prévu large au cas où je veuille ajouter des modules. Il ne tient qu’à vous de vous lancer dans une miniaturisation. On voit bien sur les 2 premières photos le système choisi pour fermer le boîtier: des aimants collés dans les emplacements prévus sous Fusion 360 ! L’encoche permet de soulever facilement le couvercle, pas de vis.

Le modèle sera disponible à terme sur GitHub avec les fichiers Gerber pour faire confectionner les PCB.

Configuration dans ESPEasy et Domoticz

Le module Wemos a été flashé avec ESPEasy au préalable et tout est prêt pour paramétrer le firmware. Sur la photo de gauche, l’utilisation du mode Deep Sleep. Un point d’attention ici, ce que nous voulons c’est mettre le module en deep sleep et le réveiller par une action externe, le PIR, et pas par une périodicité. Il faut donc régler le Sleep Awake time à par exemple 30 seconde pour permettre au module de se réveiller, que la pin D5 soit lue, avant de repartir en sommeil. Le Sleep time doit dans notre cas rester à 0 (il ne sert qu’au réveil périodique).

Après, on vérifie dans Hardware que la GPIO choisie (D5 dans cet article) est correctement paramétrée en Input. Dans la partie Device, il faut dès lors paramétrer un switch de façon conformément à la configuration créée dans Domotiomotcz. Ce Device doit communiquer avec le controller choisi (Domoticz MQTT comme dans les articles précédents) vers l’idx du dispositif qui aura été créé dans Domoticz.

Maintenant, tout doit communiquer correctement entre le montage, ESPEasy et Domoticz. Il serait intéressant, à chaque fois que cet interrupteur se déclenche, de recevoir une notification. Domoticz implémente de nombreuses possibilités dans ce domaine. Le service présenté ci-après s’appelle PushOver. Après s’être inscrit, une clé utilisateur (user key). Il suffit par la suite de créer une App pour disposer d’un token d’application (API Token/Key), la clé d’API qui sera demandée dans Domoticz.

Puis, il faut paramétrer ce service dans Domoticz sous l’onglet Paramètres/Notifications (image de gauche ci-dessous).

Pour terminer, dans l’onglet interrupteur de Domoticz, sélectionner celui en question et cliquer sur Notifications. La page équivalente à la photo de droite ci-dessus s’affiche. Il ne reste qu’à sélectionner le service choisi et à ajouter cette procédure de notification.

Conclusion

Voilà pour le détecteur de mouvement connecté à une box domotique. Finalement, de nombreux choix ont été faits et peuvent différer selon l’utilisation qui en est faite et l’installation disponible. S’il y a des questions ou des commentaires sur ce sujet, ne pas hésiter à m’en faire part dans la section dédiée.

CC BY-NC-SA 4.0 Un détecteur de mouvement connecté à la box domotique (3/6) par MadeInFck est sous Licence Creative Commons Internationale Attribution-Pas d'utilisation Commerciale-Partage à l'identique 4.0 .

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.