Cuprins:
- Pasul 1: Hardware și materiale
- Pasul 2: Software
- Pasul 3: Configurare
- Pasul 4: notificări
- Pasul 5: Integrare EasyIOT
- Pasul 6: Alte acțiuni Bell Push
Video: Senzor de apăsare și temperatură a soneriei ușii: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Acest lucru îmbunătățește un clopot de ușă cablat standard cu un modul esp-12F (esp8266).
Se instalează în clopot în sine pentru a evita orice schimbare a cablajului. Oferă următoarele funcții
- Detectați apăsarea soneriei ușii
- Trimite notificări către telefon prin IFTTT
- Stochează activitatea soneriei pe un server easyIOT (opțional)
-
Declanșați alte activități prin intermediul unei adrese URL atunci când soneria este împinsă
Capturez un instantaneu pe o cameră web lângă ușă și pot vizualiza capturile recente ale soneriei de pe telefon
- Senzor de temperatură încorporat opțional (DS18B20) care face parte din monitorizarea temperaturii casei mele
Pasul 1: Hardware și materiale
Sunt necesare următoarele materiale
- ESP-12F (ESP8266) modul wifi / cpu
- Convertor DC Buck pentru alimentare de 3.3V
- Diodă redresoare (de ex. 1N4001)
- Condensator electrolitic 220uF 35V
- Condensator electrolitic 220uF 16V
- Diodă Zener 3.3 sau 2.6V
- Rezistențe
- Bucată de scândură
- Conectori dacă este necesar
- Senzor digital de temperatură DS18B20, dacă este necesar
Schema arată circuitul utilizat. Presupune un clopot alimentat cu curent alternativ de joasă tensiune, cel mai frecvent tip de clopot simplu cu fir. Acest lucru nu este critic, singura constrângere fiind tensiunea maximă în convertorul buck. Cel pe care îl folosesc este MP2307 bazat pe o intrare maximă de 23V dc (~ 16V AC).
În mod normal, există 3 terminale active. Cu clopotul, faceți conexiunea dintr-o parte a sursei de curent alternativ la solenoidul clopotului. Modulul utilizează cele două terminale de curent alternativ pentru a produce puterea de curent continuu printr-un redresor simplu cu jumătate de undă. Detectarea apăsării clopotului se face prin monitorizarea tensiunii pe solenoidul real. Acest lucru va fi normal măcinat, dar când clopotul este activat va fi AC complet. O diodă rezistor / zener clipește acest lucru, astfel încât un impuls 0 - 3,3V 50 Hz este alimentat într-un pin GPIO. Software-ul procesează acest lucru pentru a oferi o singură activare pentru fiecare apăsare a clopoțelului.
Am construit circuitul pe o bucată de placă de benzi și acest lucru este suficient de mic pentru a se încadra cu ușurință în clopot. Folosesc conectori jumper simpli pentru a facilita instalarea și includerea în mod specific în conformitate cu sursa principală de CA, astfel încât să poată fi resetată cu ușurință, dacă este necesar.
Schema prezentată include un senzor de temperatură DS18B20. Acest lucru este opțional. Îl folosesc ca parte a unei rețele care monitorizează majoritatea zonelor din casa mea. Dacă este inclus, este bine să conectați senzorul cu câțiva centimetri de cablu pentru a permite izolarea acestuia de orice efect de încălzire locală.
Pasul 2: Software
Unitatea de împingere a ușii utilizează o schiță Arduino disponibilă pe github
Acest lucru trebuie ajustat pentru a se potrivi condițiilor locale și apoi compilat într-un mediu Arduino esp8266. Următoarele biblioteci sunt necesare, sunt standard sau pot fi adăugate.
- ESP8266WiFi
- WifiClient
- ESP8266WebServer
- ESP8266mDNS
- ESP8266HTTPUpdateServer
- ArduinoJson
- WifiClientSecure
- IFTTTMaker
- DNSServer
- WiFiManager (utilizare opțională)
- OneWire
- DallasTemperature
Elementele din schiță care urmează să fie modificate includ
- Detalii de acces la rețeaua locală wifi (ssid, parolă) dacă nu utilizați WifiManager
- Cod de autorizare pentru acces web AP_AUTHID. Este bine să faci acest lucru o lungime decentă. Poate conține caractere alfanumerice.
- firmware parola OTA update_password
-
Parola WifiManager WM_PASSWORD
Wifi poate fi configurat manual comentând WM_NAME
- Cheia producătorului IFTTT (consultați pasul de notificare)
Modificările opționale includ
- Schimbarea pinului de intrare pentru detectorul soneriei
- Pin de schimbare pentru senzorul de temperatură
- Schimbarea portului de acces Web de la 80 implicit
Odată ce ați făcut acest lucru, ar trebui mai întâi să fie compilat și încărcat folosind încărcarea în serie convențională. Actualizarea ulterioară se poate face prin compilarea unui binar de export în mediul Arduino și apoi accesarea interfeței OTA de pe ip / firmware.
Apăsarea soneriei ușii este detectată în software prin întreruperea detectării marginii ascendente a primului impuls din circuitul detectorului. Toate întreruperile ulterioare sunt ignorate. Un timeout este utilizat pentru a reactiva detectorul după BELL_MIN_INTERVAL care este setat la 10 secunde.
Alte activități pot fi accesate pe serverul web esp8266
- ip / recent arată activitatea recentă a soneriei
- ip / reloadConfig reîncarcă espConfig
- ip / bellPush simulează o apăsare a soneriei
Pasul 3: Configurare
Pe măsură ce este construit, software-ul își obține configurația de pe un server web local. Modulul încarcă datele de configurare pe baza adresei Mac. Acest lucru face foarte convenabil rularea mai multor module folosind același binar și, de asemenea, face mai ușoară actualizarea configurației fără recompilare. Ar fi posibil să omiteți acest lucru și să introduceți datele de configurare direct în cod.
Stoc fișierul de configurare pe serverul meu EasyIOT care are un folder la easyIOT / html unde fișierul de configurare poate fi recuperat cu ușurință.
Fișierul se numește espConfig și este un fișier text simplu care stochează un număr de parametri (12) pentru fiecare posibilă adresă Mac. Un modul încarcă numai parametrii setați pentru adresa sa Mac.
Un exemplu din fișier este
#Sala
#Mac address123456ABCDEF
#numele modulului
esp8266-hall
#mască mod server (1 = sens temporar, 4 = mod boilerm, 4 = sonerie)
9
Nod #EIOT pentru temperatură
N9S0
# neutilizat
-1
# interval de temperatură minimă în secunde
60
#interval de temperatură maximă în secunde
300
#interval de putere al cazanului
0
Nodul de putere al cazanului #EasyIOT
-1
Nodul de apăsare a clopotului #EasyIOT
N10S0
# Valoarea notificării IFTTT
față
#IFTTT notifică numele evenimentului
sonerie
#action URL
192.168.0.2/snap.php
Orice linie care începe cu # este ignorată. Toate liniile trebuie să fie prezente. -1 este utilizat pentru ca parametrii să fie ignorați.
Fișierul de configurare este citit atunci când modulul pornește pentru prima dată. Poate fi, de asemenea, reîncărcat într-un sistem care rulează (când configurarea a fost modificată) accesând ip / reloadConfig
Partea de configurare a modului cazan nu este relevantă aici, dar este utilizată în senzorii de temperatură atașați la ieșirea centrală a conductei de căldură, deoarece detectează când cazanul se încălzește și poate calcula consumul mediu de energie.
Pasul 4: notificări
Când este detectată o apăsare a soneriei ușii, atunci încearcă să notifice acest lucru prin IFTTT sau PushOver. Acum am PushOver, deoarece oferă un răspuns mai rapid.
Pentru IFTTT aveți nevoie de un cont și activați canalul Maker WebHoooks. MakerKey din acest canal trebuie să fie compilat în cod.
Configurați o acțiune IF folosind Maker WebHooks și utilizați numele evenimentului cu același nume ca și în configurație (de exemplu, sonerie). Acțiunea THEN ar trebui să fie o notificare IFTTT. Puteți adăuga valoare 1 la notificarea care va fi în fișierul de configurare. Acest lucru poate fi util dacă aveți 2 sau mai multe detectoare.
Trebuie să instalați aplicația IFTTT pe telefonul dvs. și apoi notificările vor apărea ori de câte ori este declanșat soneria.
Pentru PushOver aveți nevoie de un cont PushOver și urmați instrucțiunile pentru a primi notificări API. Trebuie să configurați jetoanele NOTIFICATION_APP și NOTIFICATION_USER în software cu valorile din contul dvs. PushOver.
Trebuie să instalați aplicația PushOver pe telefonul dvs. și să plătiți o taxă unică modestă pentru a primi notificări. Acest lucru merită în opinia mea pentru a obține un răspuns mult mai rapid.
Pasul 5: Integrare EasyIOT
Software-ul poate trimite rapoarte de temperatură și sonerie către un server EasyIOT. Automatizarea EasyIOT poate fi utilizată pentru a întreprinde acțiuni suplimentare pe baza acestui raport.
Configurați un server EasyIOT (de exemplu, pe un Raspberry Pi). Configurați adresa IP și parola pentru numele de utilizator în software-ul esp8266 și compilați.
Acum adăugați un driver virtual în configurația EASYIOT. Alegeți Intrare analogică de temperatură și notați numele nodului EasyIOT. Acest lucru ar trebui introdus în partea de nume a temperaturii nodului din fișierul espConfig.
Adăugați un al doilea driver virtual. Alegeți Intrare digitală ușă, notați numele nodului și introduceți-l în fișierul espConfig.
Pasul 6: Alte acțiuni Bell Push
Software-ul are o rutină numită actionBellOn. După cum este scris, acest lucru poate face 3 lucruri
- Notificare IFTTT
- Raport EasyIOT
- Efectuați o adresă URL de acțiune
Adresa URL poate fi utilizată pentru a declanșa alte activități de pe alte servere web. Adresa URL utilizată se află în fișierul espConfig.
Dacă serverul adresei URL este autentificat, atunci numele de utilizator și parola trebuie configurate și compilate în cod.
Folosesc acest lucru pentru a accesa o adresă URL numită snap.php pe o cameră de lângă ușă. Acest lucru necesită un-j.webp
Folosesc camere bazate pe raspberry Pi, care realizează această operație foarte ușor. aparat foto
Recomandat:
Senzor de temperatură și umiditate alimentat cu energie solară Arduino Ca senzor Oregon de 433 MHz: 6 pași
Senzor de temperatură și umiditate alimentat cu energie solară Arduino, ca senzor Oregon de 433 MHz: acesta este construirea unui senzor de temperatură și umiditate alimentat cu energie solară. Senzorul emulează un senzor Oregon de 433 MHz și este vizibil în gateway-ul Telldus Net. Senzor de mișcare a energiei solare " din Ebay. Asigurați-vă că scrie 3.7v aluat
Modificați o lumină LED cu apăsare: 9 pași (cu imagini)
Retrofitează o lumină LED Push: Acest proiect a început pentru că aveam în dulapul meu o lumină LED push care nu era suficient de strălucitoare pentru ca eu să o văd bine. Am crezut că bateriile se descărcează, dar când le-am înlocuit, nu s-au mai aprins! M-am gândit că aș deschide lumina spre
Interfață Arduino cu senzor cu ultrasunete și senzor de temperatură fără contact: 8 pași
Interfață Arduino cu senzor cu ultrasunete și senzor de temperatură fără contact: În prezent, producătorii, dezvoltatorii preferă Arduino pentru dezvoltarea rapidă a prototipurilor de proiecte. Arduino este o platformă electronică open-source bazată pe hardware și software ușor de utilizat. Arduino are o comunitate de utilizatori foarte bună. În acest proiect
Conectarea soneriei video SimpliSafe la o sonerie digitală: 6 pași
Conectarea clopotei video SimpliSafe la o sonerie digitală: recent am cumpărat o clopoțel video SimpliSafe și după instalare am aflat că mi-a făcut să sune constant clopotul digital. După ce au vorbit cu SimpliSafe și li s-a spus că soneria nu este concepută pentru a funcționa cu un sunet digital, ei
Buggy RSPI cu buton de apăsare: 10 pași
RSPI Push-Button Robot Buggy: Ați văzut vreodată o mașină cu telecomandă la magazin și v-ați întrebat dacă ați putea construi una singură. Ei bine, da, puteți construi una și vă puteți controla mașina cu butoane. Ai nevoie de câteva materiale simple și ai putea să-ți construiești un rob de buton