Table des matières:

Capteur de verrouillage et de porte de hangar alimenté par batterie, solaire, ESP8266, ESP-Now, MQTT : 4 étapes (avec photos)
Capteur de verrouillage et de porte de hangar alimenté par batterie, solaire, ESP8266, ESP-Now, MQTT : 4 étapes (avec photos)

Vidéo: Capteur de verrouillage et de porte de hangar alimenté par batterie, solaire, ESP8266, ESP-Now, MQTT : 4 étapes (avec photos)

Vidéo: Capteur de verrouillage et de porte de hangar alimenté par batterie, solaire, ESP8266, ESP-Now, MQTT : 4 étapes (avec photos)
Vidéo: WALKAROUND - EX-ARMY UNIMOG 4X4 TRUCK converted to DIY EXPEDITION VEHICLE CAMPER 2024, Novembre
Anonim
Capteur de porte et de verrouillage à piles, solaire, ESP8266, ESP-Now, MQTT
Capteur de porte et de verrouillage à piles, solaire, ESP8266, ESP-Now, MQTT
Capteur de porte et de verrouillage alimenté par batterie, solaire, ESP8266, ESP-Now, MQTT
Capteur de porte et de verrouillage alimenté par batterie, solaire, ESP8266, ESP-Now, MQTT
Capteur de porte et de verrouillage alimenté par batterie, solaire, ESP8266, ESP-Now, MQTT
Capteur de porte et de verrouillage alimenté par batterie, solaire, ESP8266, ESP-Now, MQTT

Dans ce Instructable, je vous montre comment j'ai fait un capteur alimenté par batterie pour surveiller l'état de la porte et de la serrure de mon abri de vélo à distance. Je n'ai pas d'alimentation secteur, je l'ai donc alimenté par batterie. La batterie est chargée par un petit panneau solaire.

Le module est conçu pour un fonctionnement à faible consommation et fonctionne sur un ESP-07S en veille profonde qui se réveille et vérifie la position de la porte et de la serrure toutes les minutes. Cependant, lorsque la porte est ouverte, le module est réveillé par un simple circuit matériel pour envoyer immédiatement l'information « porte ouverte ». Le module communique via ESP-Now, dans lequel le temps de transmission est très court, ne nécessitant qu'une faible quantité d'énergie.

Ma domotique fonctionnant sur Openhab et Mosquitto gère les messages et m'envoie un message d'alarme via Telegram si l'alarme est activée.

Fournitures

Tous les composants sont achetés chez Aliexpress.

  • Le module ESP-07S est choisi pour la connexion facile d'une antenne externe afin d'augmenter la portée ESP-Now.
  • Carte chargeur TP4056 avec protection batterie
  • Batterie LiPo 18650
  • Interrupteur à lames (NON pour surveiller la position de la porte)
  • Interrupteur de contact (position de verrouillage du moniteur)
  • Panneau solaire (6V, 0,6W)
  • Transistors, résistances, diode, connecteurs (voir schéma)

Étape 1: Matériel

Matériel
Matériel
Matériel
Matériel
Matériel
Matériel

Le schéma tel que construit est inclus sous forme d'image. J'ai d'abord prototypé le circuit sur une maquette. Ensuite, j'ai soudé tous les composants sur une carte perf.

J'utilise un module ESP-07S ESP8266 car il a une connexion pour une antenne externe. Comme mon local à vélos est à l'extérieur, le signal WiFi doit traverser un mur de béton. J'ai découvert qu'une antenne externe augmente fortement la portée de l'ESP-Now. Assez logique, puisqu'il s'agit d'un signal WiFi.

Pour le capteur de porte, j'ai utilisé un interrupteur à lames avec des connexions botn NO et NC. Lorsque la porte est fermée, un aimant attaché à l'ouvre l'interrupteur. Le module vérifie l'état de la porte et de la serrure toutes les 60 secondes, cependant, lorsque la porte est ouverte, je veux être informé immédiatement, c'est pourquoi j'ai mis en place un circuit de réinitialisation, voir ci-dessous.

Pour le capteur de verrouillage, j'ai utilisé un interrupteur de contact avec des connexions botn NO et NC. Lorsque le verrou est fermé, la goupille de verrouillage ouvre l'interrupteur. Ainsi, le capteur de porte et le capteur de verrouillage sont normalement ouverts (NO).

La batterie est chargée via une carte chargeur TP4056 avec protection de batterie attachée à un petit panneau solaire 6V.

Je vais expliquer certaines parties du circuit ci-dessous.

Circuit de réinitialisation

Le circuit de réinitialisation avec le Mosfet 2N7000 est connecté à la broche de réinitialisation de l'ESP8266. Si la porte est fermée, le contact est ouvert, la grille et la source du transistor sont hautes et le mosfet est éteint. Le condensateur connecté à la grille a une charge positive. L'ESP8266 reed GPIO12 comme HIGH = fermé.

Lorsque la porte est ouverte, la source du mosfet est connectée à la terre. Étant donné que la porte est haute, le mosfet est allumé et tire la broche de réinitialisation à la terre, ce qui entraîne une réinitialisation de l'ESP8266. Le condensateur est déchargé via R7 puis éteint le mosfet. Voir la capture d'écran de mon oscilloscope pour le pouls faible de 50 ms. Après l'impulsion, l'ESP8266 démarre. L'ESP8266 reed GPIO12 comme LOW = ouvert.

Lorsque la porte est refermée, la résistance R6 tire la source et le GPIO12 vers le haut.

Surveillance de la batterie

La tension de la batterie est lue via un diviseur de tension entre VBat et GND. Cependant, je ne veux pas d'une connexion permanente entre VBat et GND, car cela vide la batterie. Par conséquent, j'ai mis un mosfet à canal P sur le côté haut du diviseur de tension et la grille du mosfet est tirée vers le haut, donc le mosfet est éteint. Ce n'est que lorsque GPIO14 est bas, que le mosfet est allumé et que l'ESP8266 peut mesurer la tension avec l'ADC.

Étape 2: Logiciel

Le module ESP8266 est principalement en mode veille profonde pour économiser de l'énergie.

Toutes les 60 secondes, le module démarre avec le WiFi désactivé et mesure la position de la serrure et de la porte et vérifie si ces positions ont changé par rapport aux valeurs stockées dans la mémoire RTC. Si une position a changé, le module se met en veille pendant un temps minimum et se réveille avec le WiFi activé pour envoyer la nouvelle position via ESP-Now. Et bien sûr, les nouvelles positions sont stockées dans la mémoire RTC. Si rien n'a été changé, le module se met à nouveau en veille et se réveille avec le WiFi désactivé.

Voir mon autre Instructable dans lequel j'explique comment j'utilise ESP-Now pour transmettre des messages et les transformer en messages MQTT.

Si le «circuit OTA» est fermé manuellement via un cavalier, le module se réveille et se connecte à mon réseau WiFi pour attendre une mise à jour OTA via ESP8266HTTPUpdateServer.

Toutes les 30 minutes, la tension de la batterie est mesurée et publiée.

Il fonctionne comme une machine d'état. Les états sont définis dans le programme qui est publié sur mon Github.

STATE_CHECK: réveillez-vous avec la radio désactivée (WiFi désactivé), vérifiez simplement si quelque chose a changé

STATE_INIT: se réveiller avec la radio allumée (WiFi activé) et transmettre les états de la porte et de la serrure

STATE_DOOR: se réveiller avec la radio allumée, publier l'état de la porte au prochain démarrage

STATE_LOCK: se réveiller avec la radio allumée, publier l'état de verrouillage au prochain démarrage

STATE_VOLTAGE: se réveiller avec la radio allumée, publier la tension au prochain démarrage

STATE_OTA 5: réveillez-vous avec la radio allumée, passez en mode OTA

Étape 3: Assembler

Assembler
Assembler
Assembler
Assembler
Assembler
Assembler
Assembler
Assembler

J'utilise des bornes à vis et des connecteurs DC mâle/femelle pour pouvoir monter et démonter mon projet. J'ai mis toutes les pièces dans une petite boîte en ABS, voir les photos. J'ai encapsulé les pièces dans du ruban Kapton pour l'isolation électrique

Je connecte le panneau solaire via une prise DC mâle (5,5 x 2,1) avec une diode 1N5817 qui a une faible tension directe.

L'interrupteur à lames est collé dans la boîte et un aimant est collé sur la porte à la bonne position.

Le contact de verrouillage est entré par le côté, voir l'image.

Étape 4: Module de travail

Module de travail
Module de travail
Module de travail
Module de travail

Les données reçues sont lues par ma domotique Openhab. Je vous aime, je peux poster les fichiers Openhab.

Je surveille:

  • La tension de la batterie (avec persistance donc je vois la tension dans le temps dans un graphique).
  • Les positions de la porte et de la serrure.
  • Les fois où la position a changé.

De cette façon, quand je vais me coucher, je peux facilement voir si tous les hangars sont verrouillés.

Au début de l'utilisation, la batterie était chargée par une journée ensoleillée et après environ une semaine, la batterie était complètement chargée. Maintenant, en automne, la batterie reste chargée. Apparemment, le module est très économique et utilise beaucoup moins d'énergie qu'un petit panneau solaire n'en génère. La batterie costaud a probablement de l'énergie pendant quelques mois d'obscurité. Voyons comment le module se comporte cet hiver, lorsque la température dans le hangar est beaucoup plus basse.

Conseillé: