Table des matières:

Sonnette de porte et capteur de température : 6 étapes
Sonnette de porte et capteur de température : 6 étapes

Vidéo: Sonnette de porte et capteur de température : 6 étapes

Vidéo: Sonnette de porte et capteur de température : 6 étapes
Vidéo: Détecteur d'ouverture de porte connecté avec commande vocale XMD-103.app [PEARLTV.FR] 2024, Juillet
Anonim
Sonnette de porte et capteur de température
Sonnette de porte et capteur de température

Cela améliore une sonnette de porte câblée standard avec un module esp-12F (esp8266).

Il s'installe dans la sonnette elle-même pour éviter toute modification du câblage. Il fournit les fonctions suivantes

  • Détecter les coups de sonnette de porte
  • Envoie des notifications au téléphone via IFTTT
  • Stocke l'activité de la sonnette dans un serveur easyIOT (facultatif)
  • Déclencher une autre activité via une URL lorsque la sonnette est enfoncée

    Je prends un instantané sur une webcam près de la porte et je peux voir les récentes captures de sonnette sur mon téléphone

  • Capteur de température intégré en option (DS18B20) qui fait partie de la surveillance de la température de ma maison

Étape 1: Quincaillerie et matériaux

Quincaillerie et matériaux
Quincaillerie et matériaux
Quincaillerie et matériaux
Quincaillerie et matériaux

Les matériaux suivants sont nécessaires

  • Module wifi/processeur ESP-12F (ESP8266)
  • Convertisseur DC Buck pour alimentation 3.3V
  • Diode de redressement (par exemple 1N4001)
  • Condensateur électrolytique 220uF 35V
  • Condensateur électrolytique 220uF 16V
  • Diode Zener 3.3 ou 2.6V
  • Résistances
  • Morceau de planche à bande
  • Connecteurs si nécessaire
  • Capteur de température numérique DS18B20 si nécessaire

Le schéma montre le circuit utilisé. Il suppose une cloche alimentée en courant alternatif basse tension qui est le type le plus courant de cloche simple câblée. L'unité de cloche est alimentée par un transformateur de cloche externe généralement autour de 10 V AC. Ceci n'est pas critique, la seule contrainte étant la tension maximale dans le convertisseur abaisseur. Celui que j'utilise est basé sur le MP2307 avec une entrée maximale de 23V DC (~16V AC).

Il y a normalement 3 terminaux actifs. Avec le bouton de sonnette, établir la connexion d'un côté de l'alimentation CA au solénoïde de sonnette. Le module utilise les deux bornes AC pour produire le courant continu via un simple redresseur demi-onde. La détection de la cloche se fait en surveillant la tension aux bornes du solénoïde réel. Ce sera normalement mis à la terre, mais lorsque la cloche sera activée, ce sera le plein AC. Une résistance / diode Zener écrête cela afin qu'une impulsion de 0 à 3,3 V 50 Hz soit introduite dans une broche GPIO. Le logiciel traite cela pour fournir une seule activation par presse à cloche.

J'ai construit le circuit sur un morceau de carte à bande et c'est assez petit pour s'intégrer facilement dans l'unité de cloche. J'utilise de simples connecteurs de cavalier pour faciliter l'installation et l'inclure spécifiquement en ligne avec l'alimentation secteur principale afin qu'il puisse être réinitialisé facilement si nécessaire.

Le schéma illustré comprend un capteur de température DS18B20. Ceci est facultatif. Je l'utilise dans le cadre d'un réseau surveillant la plupart des zones de ma maison. S'il est inclus, il est bon de câbler le capteur avec quelques centimètres de câble pour lui permettre d'être isolé de tout effet de chauffage local.

Étape 2: Logiciel

L'unité de poussée de porte utilise un croquis Arduino disponible sur github

Cela doit être ajusté en fonction des conditions locales, puis compilé dans un environnement Arduino esp8266. Les bibliothèques suivantes sont nécessaires, elles sont standard ou peuvent être ajoutées.

  • ESP8266Wi-Fi
  • WifiClient
  • Serveur Web ESP8266
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • WifiClientSécurisé
  • IFTTTMaker
  • Serveur dns
  • WiFiManager (utilisation facultative)
  • Un fil
  • DallasTempérature

Les éléments du croquis à modifier comprennent

  • Détails d'accès wifi local (ssid, mot de passe) si vous n'utilisez pas WifiManager
  • Code d'autorisation pour l'accès Web AP_AUTHID. Il est bon d'en faire une longueur décente. Il peut contenir des caractères alphanumériques.
  • firmware mot de passe OTA update_password
  • Mot de passe WifiManager WM_PASSWORD

    Le Wi-Fi peut être configuré manuellement en commentant WM_NAME

  • Clé du fabricant IFTTT (voir l'étape de notification)

Les modifications facultatives incluent

  • Modification de la broche d'entrée pour le détecteur de sonnette
  • Changement de broche pour capteur de température
  • Modification du port d'accès Web par défaut 80

Une fois cela fait, il doit d'abord être compilé et téléchargé en utilisant le téléchargement en série conventionnel. Une mise à jour ultérieure peut être effectuée en compilant un binaire d'exportation dans l'environnement Arduino, puis en accédant à l'interface OTA sur ip/firmware.

La poussée de la sonnette est détectée dans le logiciel par interruption détectant le front montant de la première impulsion du circuit détecteur. Toutes les interruptions suivantes sont ignorées. Un timeout est utilisé pour réactiver le détecteur après le BELL_MIN_INTERVAL qui est fixé à 10 secondes.

D'autres activités sont accessibles sur le serveur web esp8266

  • ip/recent montre l'activité récente de la sonnette de porte
  • ip/reloadConfig recharge espConfig
  • ip/bellPush simule une poussée de cloche

Étape 3: Configuration

Tel qu'il est construit, le logiciel obtient sa configuration à partir d'un serveur Web local. Le module charge les données de configuration en fonction de son adresse Mac. Cela rend très pratique l'exécution de plusieurs modules en utilisant le même binaire, et facilite également la mise à jour de la configuration sans recompilation. Il serait possible de sauter cela et de mettre les données de configuration directement dans le code.

Je stocke le fichier de configuration sur mon serveur EasyIOT qui a un dossier à easyIOT/html où le fichier de configuration peut être récupéré facilement.

Le fichier s'appelle espConfig et est un simple fichier texte stockant un certain nombre de paramètres (12) pour chaque adresse Mac possible. Un module ne charge que les paramètres définis pour son adresse Mac.

Un exemple du fichier est

#Salle

#adresse MAC123456ABCDEF

#nom du module

esp8266-salle

#masque de mode serveur (1=sens temp, 4 = mode chaudière, 4 = sonnette)

9

Nœud #EIOT pour la température

N9S0

#inutilisé

-1

# intervalle de température minimum en secondes

60

#intervalle de température maximale en secondes

300

#intervalle de puissance de la chaudière

0

Nœud d'alimentation de chaudière #EasyIOT

-1

Nœud de poussée de cloche #EasyIOT

N10S0

# Valeur de notification IFTTT

de face

#IFTTT notifier le nom de l'événement

sonnette

#URL d'action

192.168.0.2/snap.php

Toute ligne commençant par # est ignorée. Toutes les lignes doivent être présentes. -1 est utilisé pour les paramètres à ignorer.

Le fichier de configuration est lu au premier démarrage du module. Il peut également être rechargé dans un système en cours d'exécution (lorsque la configuration a été modifiée) en accédant à ip/reloadConfig

La partie mode chaudière de la configuration n'est pas pertinente ici mais est utilisée dans mes capteurs de température attachés à la sortie du tuyau de chauffage central car elle détecte lorsque la chaudière chauffe et peut calculer la consommation électrique moyenne.

Étape 4: Notifications

Lorsqu'une sonnette de porte est détectée, elle essaie de le notifier par IFTTT ou PushOver. Je maintenant PushOver car il donne une réponse plus rapide.

Pour IFTTT, vous avez besoin d'un compte et activez le canal Maker WebHoooks. La MakerKey de ce canal doit être compilée dans le code.

Configurez une action IF à l'aide de Maker WebHooks et utilisez le nom d'événement du même nom que dans la configuration (par exemple, sonnette). L'action ALORS doit être une notification IFTTT. Vous pouvez ajouter value1 à la notification qui sera dans le fichier de configuration. Cela peut être utile si vous avez 2 détecteurs ou plus.

Vous devez installer l'application IFTTT sur votre téléphone, puis des notifications apparaîtront chaque fois que la sonnette est déclenchée.

Pour PushOver, vous avez besoin d'un compte PushOver et suivez les instructions pour recevoir des notifications API. Vous devez configurer les jetons NOTIFICATION_APP et NOTIFICATION_USER dans le logiciel avec les valeurs de votre compte PushOver.

Vous devez installer l'application PushOver sur votre téléphone et payer des frais uniques modestes pour recevoir des notifications. Cela en vaut la peine à mon avis pour obtenir une réponse beaucoup plus rapide.

Étape 5: Intégration EasyIOT

Le logiciel peut envoyer des rapports push de température et de sonnette à un serveur EasyIOT. L'automatisation EasyIOT peut être utilisée pour prendre des mesures supplémentaires en fonction de ces rapports.

Configurez un serveur EasyIOT (par exemple sur un Raspberry Pi). Configurez l'adresse IP et le mot de passe du nom d'utilisateur dans le logiciel esp8266 et compilez.

Ajoutez maintenant un pilote virtuel dans la configuration EASYIOT. Choisissez Entrée analogique de température et notez le nom du nœud EasyIOT. Cela doit être mis dans la partie du nom du nœud de température du fichier espConfig.

Ajoutez un deuxième pilote virtuel. Choisissez Door digital input, notez le nom du nœud et mettez-le dans le fichier espConfig.

Étape 6: Autres actions Bell Push

Le logiciel a une routine appelée actionBellOn. Comme écrit, cela peut faire 3 choses

  • IFTTT notifier
  • Rapport EasyIOT
  • Effectuer une URL d'action

L'URL peut être utilisée pour déclencher d'autres activités à partir d'autres serveurs Web. L'URL utilisée se trouve dans le fichier espConfig.

Si le serveur de l'URL est authentifié, le nom d'utilisateur et le mot de passe doivent être configurés et compilés dans le code.

Je l'utilise pour accéder à une URL appelée snap.php sur une caméra à côté de la porte. Cela prend un-j.webp

J'utilise des caméras basées sur Raspberry Pi qui permettent cette opération très facilement. caméra

Conseillé: