Table des matières:
Vidéo: Capteur de verrouillage et de porte de hangar alimenté par batterie, solaire, ESP8266, ESP-Now, MQTT : 4 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
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
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
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
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é:
Capteur de niveau de collecteur d'eau alimenté par batterie : 7 étapes (avec photos)
Capteur de niveau de collecteur d'eau alimenté par batterie: Notre maison dispose d'un réservoir d'eau alimenté par la pluie tombant sur le toit et utilisé pour les toilettes, la machine à laver et l'arrosage des plantes dans le jardin. Au cours des trois dernières années, les étés ont été très secs, nous avons donc surveillé le niveau d'eau dans le réservoir. S
Bureau alimenté par batterie. Système solaire avec panneaux solaires à commutation automatique est/ouest et éolienne : 11 étapes (avec photos)
Bureau alimenté par batterie. Système solaire avec panneaux solaires à commutation automatique est/ouest et éolienne : Le projet : Un bureau de 200 pieds carrés doit être alimenté par batterie. Le bureau doit également contenir tous les contrôleurs, batteries et composants nécessaires à ce système. L'énergie solaire et éolienne chargera les batteries. Il y a un léger problème de seulement
Capteur d'humidité de fleur WiFi IOT (alimenté par batterie): 8 étapes (avec photos)
Capteur d'humidité de fleur WiFi IOT (alimenté par batterie) : dans cette instructable, nous présentons comment construire un capteur d'humidité/eau WiFi avec un moniteur de niveau de batterie en moins de 30 minutes. L'appareil surveille le niveau d'humidité et envoie des données à un smartphone via Internet (MQTT) avec un intervalle de temps choisi. Vous
ESP IoT alimenté par batterie : 10 étapes (avec photos)
Battery Powered ESP IoT : ces instructables montrent comment faire une base de Battery Powered ESP IoT sur la conception de mes instructables précédentes
Fer à souder alimenté par batterie au lithium construit par l'utilisateur : 8 étapes (avec photos)
Fer à souder alimenté par batterie au lithium construit par l'utilisateur : récemment, j'ai trouvé une source excédentaire de pannes à souder alimentées par batterie Weller(r) BP1. Le soudage électronique nécessite parfois une visite de réparation sur site et les outils de terrain peuvent être un défi. Je construis souvent mes propres outils, trouvant des solutions sur étagère trop coûteuses