Cuprins:

Wifi la RF - Încuietoare ușă: 3 pași (cu imagini)
Wifi la RF - Încuietoare ușă: 3 pași (cu imagini)
Anonim
Wifi la RF - Încuietoare ușă
Wifi la RF - Încuietoare ușă
Wifi la RF - Încuietoare ușă
Wifi la RF - Încuietoare ușă
Wifi la RF - Încuietoare ușă
Wifi la RF - Încuietoare ușă

Prezentare generală

Această instrucțiune vă va oferi posibilitatea de a vă bloca / debloca ușa prin intermediul software-ului dvs. de automatizare a casei (cum ar fi OpenHAB - software gratuit de automatizare a casei pe care îl folosesc personal) Imaginea de mai sus prezintă un exemplu de captură de ecran al aplicației OpenHAB pentru iPhone. Alternativ, puteți utiliza mesageria MQTT așa cum este descris mai jos în aproape orice sistem doriți.

Ipoteze

Această instrucțiune presupune că aveți deja (sau veți configura):

  • OpenHAB (software gratuit de automatizare casă open source) rulează, deși așa cum am menționat, ar trebui să funcționeze cu orice software de automatizare casă care poate include o legare MQTT. Alternativ, puteți modifica codul dvs. pentru a vă potrivi propriilor nevoi.
  • Legarea Mosquitto MQTT instalată și configurată cu OpenHAB (MQTT este un protocol de tip abonare / publicare de mesagerie ușor și excelent pentru comunicarea între dispozitive)
  • Că ați instalat deja o blocare a tastaturii pentru ușa din față pe bază de RF, care vine cu cel puțin o telecomandă cu cheie (majoritatea o fac). Acestea pot fi cumpărate relativ ieftine de pe Amazon (aproximativ ~ 60 USD, deși bateriile de pe acest model durează doar ~ 4 luni așa că vedeți dacă puteți furniza DC care alimentează blocarea sau să cheltuiți puțin mai mult pe un model decent:-))

Dacă nu rulați OpenHAB și un broker MQTT, consultați acest articol excelent pe site-ul web MakeUseOf

Introducere

Acest proiect vă arată în mod specific cum să utilizați o încuietoare de ușă bazată pe RF KEY FOB pentru a fi considerabil mai util transformându-l în funcțiune wireless, oferindu-vă, prin urmare, posibilitatea de a bloca sau debloca ușa prin sistemul dvs. de automatizare a casei, un browser web, telefonul (prin intermediul aplicației OpenHAB) sau chiar programați-l să se auto-blocheze noaptea folosind reguli în software-ul de automatizare a casei. Pentru acest proiect, am cumpărat o „Blocare ușă frontală tastatură bazată pe Mi RF” de pe Amazon pentru aproximativ 60 USD *

(* EDIT: bateriile de pe această marcă specială de blocare a ușii nu durează atât de mult! Am folosit doar 3-4 luni înainte să trebuiască să schimb bateriile, ceea ce a devenit destul de frustrant. De atunci am schimbat unitatea respectivă pentru o încuietoare electronică a ușii marca Windsor, a cărei baterie durează până la 2 ani. Alternativ, deși mult mai multă muncă, luați în considerare utilizarea alimentării de curent continuu prin miezul ușii până la încuietoare)

Pentru aceasta, acestea oferă o încuietoare cu ușă cu funcție de radiofrecvență (radiofrecvență), cu tastatură încorporată și o cheie pentru blocarea / deblocarea de la distanță. Cu RF, totuși, cheia trebuie să fie în raza de blocare a ușii. Acest proiect va face uz de cheie prin integrarea acestuia cu un Wemos (placa IOT cu cip ESP8266) pentru a face blocarea / deblocarea wireless, prin urmare controlabilă de oriunde aveți o conexiune la Internet.

De ce am nevoie?

Mai întâi, cumpărați și instalați blocarea tastaturii bazată pe RF. Trebuie să vă asigurați că vine cu un portofel! Testați butonul și asigurați-vă că, apăsând butoanele, acesta va bloca sau debloca ușa înainte de a porni. Majoritatea acestor încuietori ale ușilor ar trebui să se bazeze pe dimensiunile standard ale ușilor și a decalajelor de blocare, deci dacă aveți deja un șurub (așa cum am făcut-o eu), înlocuirea acestuia este extrem de ușoară.

Pentru a crea controlerul fără fir, va trebui să obțineți următoarele părți:

  • Wemos D1 mini V2 (are un chip ESP8266 fără fir încorporat) sau doar un chip ESP8266 ar trebui să facă acest lucru (nu recomand versiunea ESP-01 pentru acest proiect, deoarece pinul GPIO 0 trebuie să fie menținut la pornire pentru ca pentru ca acesta să pornească de la bliț, totuși, acest lucru va provoca blocarea ușii atunci când ESP8266 pornește, deblocând ușa ușii din față! În timp ce există soluții alternative, putem face acest lucru, cum ar fi utilizarea cronometrelor sau tranzistoarelor etc., pentru costul redus. a unui Wemos și mai puține componente, vom viza o abordare mai simplă)
  • O sursă de alimentare de 5V DC pentru a alimenta Wemos și Keyfob (bateriile nu vor mai fi necesare) Dacă alimentați Wemos utilizând pinul VCC 5V (mai degrabă decât portul USB) și sursa de alimentare DC este mai mare de 5V, nevoie, de asemenea, de un regulator de tensiune de 5V (cum ar fi un LM7805) plus 2 x condensatori, 10V 0.33uF și un 10V 0.1uF sau dimensiuni similare (conform fișei tehnice LM7805)
  • Două MOSFET-uri 2N7000 sau similare (acestea vor fi folosite pentru comutarea tastaturii, unul pentru blocare, celălalt pentru deblocare. 2N7000 este un MOSFET N-Channel de tip accesoriu foarte comun și foarte ieftin, deci ar trebui să fie foarte ușor de sursat)

  • Două rezistențe de 10K ohm (acestea vor fi utilizate ca rezistențe de tragere pentru fiecare dintre MOSFET-uri, astfel încât blocarea / deblocarea ușii să nu fie declanșată la pornire!)
  • În funcție de telecomandă, este posibil să fie necesar să conectați un alt condensator (cum ar fi un 10V 220uF sau o dimensiune similară) pentru a ajuta la creșterea puterii dispozitivului. Vedeți motivele pentru care mai târziu în acest articol.
  • Unelte necesare: freze laterale, sârmă cu un singur miez, un fier de lipit, flux și opțional un multimetru

Portofoliul în sine folosește în mod obișnuit 2 baterii de 3V în serie (6V Vcc) Prin urmare, utilizarea unei surse de 5V cu un condensator este însă o tensiune suficientă pentru a alimenta Wemos și pentru a declanșa blocarea / deblocarea.

Dacă aveți o cheie care funcționează cu o singură baterie de 3V, atunci ar trebui să puteți adăuga un regulator de tensiune de 3,3V în circuitul dvs. pentru a scădea tensiunea aproape de 3V necesară. O baterie de 3V produce de fapt aproximativ 3,1V, iar majoritatea circuitelor au un fel de toleranță de tensiune mai mare, deci în acest caz de 3,1V la 3,3V este + 6%. Combinați acest lucru cu faptul că Wemos atrage curent, astfel încât este probabil ca tensiunea să fie și mai mică. În cazul în care aveți dubii, măsurați cu un multimetru și, dacă este posibil, verificați cu furnizorul de blocare tensiunea maximă (sau toleranța maximă) pe care o acceptă telecomanda, deoarece nu îmi asum responsabilitatea în cazul în care telecomanda nu mai funcționează! În cele din urmă, ca soluție alternativă, configurați un circuit divizor de tensiune.

Pasul 1: Asamblare

Asamblare
Asamblare
Asamblare
Asamblare
Asamblare
Asamblare

Lipire

Asamblarea componentelor este foarte simplă. Mai întâi, deschideți cheia - scoateți bateriile și carcasa, deoarece aveți nevoie doar de placa de circuit din interior. Apoi lipiți un fir pe fiecare parte a picioarelor butonului cheie. Faceți acest lucru atât pentru butonul „blocare”, cât și pentru butonul „deblocare”. Apoi, întoarceți fobul și lipiți un fir pe tampoanele + și - din spatele fobului, așa cum se arată în imagini. Tamponul mai mare este +, cel mai mic este -

Notă: Sursa de alimentare de 5V va alimenta atât Wemos-ul, cât și butonul Key, astfel încât bateriile fob-ului nu mai sunt necesare.

Asamblare

Furnizați 5V Vcc și GND Wemos și adăugați MOSFET-urile și rezistențele la panoul de calcul conform imaginii. Rezistențele de 10K ohmi ar trebui să ruleze de la GND la poarta (pinul central) al MOSFET-urilor. Acest lucru va trage tensiunea la sol oprind MOSFET-urile declanșate la pornire.

Apoi rulați un fir de la D1 pe Wemos la poarta primului MOSFET și D2 pe Wemos până la poarta celui de-al doilea MOSFET. D1 și D2 sunt pini GPIO (intrare / ieșire de uz general) care sunt desemnați pini OUTPUT în cod.

În cele din urmă, conectați firele tastaturii la panou, Vcc la șina de 5V, GND la GND, apoi firul de pe partea negativă a butonului la partea sursă a fiecărui MOSFET și partea pozitivă a butonului la partea de scurgere a fiecărui MOSFET. așa cum se arată în imagine (utilizați un multimetru dacă nu sunteți sigur de polaritate)

(EDIT: Blocarea ușii Windsor de înlocuire pe care am menționat-o mai devreme are un keyfob care consuma puțin mai multă tensiune decât vechiul keyfob. Acest lucru a făcut ca Wemos să nu mai răspundă efectiv din cauza căderii de tensiune la acesta, când ușa a fost blocată / deblocată. Dacă întâmpinați aceeași problemă, apoi pentru a remedia firul într-un condensator de 220uF (sau similar) chiar înainte de cablarea +/- care iese pe butonul cheie.

Acum conectați cablul USB la Wemos și celălalt capăt al cablului la computer.

(Codul va emite pinul D1 "HIGH", declanșând MOSFET-ul să pornească permițând tensiunea să se deplaseze de la scurgere la sursă și, prin urmare, "pornind" butonul timp de 1 secundă înainte de a aduce pinul de ieșire "LOW" din nou și de a-l opri De fapt, acesta simulează pur și simplu o apăsare a butonului prin cod)

IDE Arduino

Lansați ID-ul Arduino. Descărcați și deschideți codul (link alternativ AICI) Asigurați-vă că plăcile suplimentare sunt incluse în IDE, consultați aici cum să configurați. Apoi, va trebui să vă asigurați că placa corectă este instalată și încărcată pentru proiectul dvs. (Instrumente, Placi, Board Manager - căutați „esp8266” și instalați), precum și portul COM corect selectat (Instrumente, Port, COM …). De asemenea, veți avea nevoie de bibliotecile adecvate PubSubClient și ESP8266Wifi instalate (Sketch, Gestionați bibliotecile, Includeți biblioteca …)

Apoi, modificați următoarele linii de cod și înlocuiți cu propriul SSID și parola pentru conexiunea dvs. wireless. De asemenea, modificați adresa IP pentru a indica propriul broker MQTT. Dacă nu aveți instalat un broker MQTT, vă recomand să utilizați Mosquitto. Descărcați pentru Windows sau Linux aici.

// Wificonst char * ssid = "your_wifi_ssid_here"; const char * password = "your_wifi_password_here"; // MQTT Broker IPAddress MQTT_SERVER (192, 168, 222, 254);

Odată modificat, verificați codul, apoi încărcați-l pe placa Wemos / ESP8266 printr-un cablu USB.

Pasul 2: Testare și configurare OpenHAB

Testare și configurare OpenHAB
Testare și configurare OpenHAB
Testare și configurare OpenHAB
Testare și configurare OpenHAB
Testare și configurare OpenHAB
Testare și configurare OpenHAB

Testarea MQTT

MQTT este un sistem de mesagerie „abonare / publicare”. Unul sau mai multe dispozitive pot vorbi cu un „broker MQTT” și „se pot abona” la un anumit subiect. Orice mesaj primit de la orice alt dispozitiv care este „publicat” pe același subiect, va fi trimis de către broker către orice alt dispozitiv care s-a abonat la acel subiect. Este un protocol extrem de ușor și simplu de utilizat și perfect ca un sistem de declanșare simplu, cum ar fi cel de aici. Consultați diagrama de flux pentru o idee aproximativă despre cum funcționează.

Pentru testare, puteți vizualiza mesajele MQTT primite de la Wemos către brokerul dvs. MQTT executând următoarea comandă pe serverul dvs. Mosquitto (Mosquitto este unul dintre multele software MQTT Broker disponibile). Această comandă se abonează la mesajele keepalive primite:

mosquitto_sub -v -t openhab / frontdoor / status

Ar trebui să vedeți mesaje primite de la Wemos la fiecare 30 de secunde cam cu numărul „1” (adică „Sunt în viață”). Dacă vedeți „0” constante (sau fără răspuns), atunci nu există nicio comunicare. După ce vedeți numărul 1 care vine, atunci înseamnă că Wemos comunică cu brokerul MQTT (căutați „MQTT Ultima voință și testament” pentru mai multe informații despre cum funcționează acest lucru sau vedeți această intrare de blog foarte bună)

Odată ce ați dovedit că comunicarea este funcțională, puteți urmări mesajul „declanșator” (blocare / deblocare) real. Mai întâi abonați-vă la următorul subiect.

mosquitto_sub -v -t openhab / frontdoor / trigger

Acum deschideți o a doua fereastră de linie de comandă și rulați următoarea comandă de publicare, trimițând subiectului un mesaj fie „LOCK”, fie „DEBLOCARE”. Ar trebui să vedeți mesajul corespunzător să apară în prima fereastră și ar trebui să vedeți, de asemenea, lumina LED roșie bliț pe butonul cheii și mecanismul ușii care se blochează sau se deblochează, după cum este necesar.

mosquitto_pub -t openhab / frontdoor / trigger -m LOCK

(-t înseamnă „subiect”, -m înseamnă „mesaj”, -v înseamnă „ieșire detaliată”)

Notă: Dacă ușa se deblochează când trimiteți blocare sau se blochează când trimiteți comanda de deblocare, pur și simplu schimbați firele D1 și D2

Configurare OpenHAB

Următoarele modificări sunt necesare pentru OpenHAB:

fișierul „articole”:

Comutați frontdoorTrigger „Front Door” (gDoors) {mqtt = "> [mqttbroker: openhab / frontdoor / trigger: command: ON: LOCK],> [mqttbroker: openhab / frontdoor / trigger: command: OFF: UNLOCK]"} Număr frontdoorStatus "Front Door [MAP (status.map):% d]" (gDoors) {mqtt = "<[mqttbroker: openhab / frontdoor / status: state: default]"}

fișierul „sitemap”:

Comutare element = frontdoorTrigger mappings = [ON = "Lock", OFF = "Deblocare"] Element text = frontdoorStatus

fișierul „status.map” (în dosarul de transformare):

0 = Down1 = Alive- = unknown

Este posibil să trebuiască să modificați ușor configurația OpenHAB de mai sus pentru a se potrivi cu propria dvs. configurare, cum ar fi partea „mqttbroker:” care se referă la numele brokerului dvs. configurat MQTT.

Imaginea finală arată componentele de pe un PCB. În acest caz, deoarece folosesc o sursă de alimentare DC care este> 5V (în cazul meu 9V), placa include, de asemenea, un regulator de tensiune LM7805, precum și un condensator de 0,33 uF pentru putere în lateral și 0,1 uF condensator pe partea de ieșire pentru a ajuta la netezirea și stabilizarea tensiunii. În caz contrar, restul conexiunilor sunt identice cu cele descrise anterior.

Depanare

- Dacă aveți probleme în care Wemos blochează sau deblochează în mod continuu ușa (de exemplu: trimite un semnal RF și lumina LED a portbagajului rămâne aprinsă), verificați firele VCC și GND către Wemos. Este posibil ca una sau ambele să nu fie conectate corect.

Pasul 3: lipiți componentele pe un PCB

Lipiți componentele pe un PCB
Lipiți componentele pe un PCB
Lipiți componentele pe un PCB
Lipiți componentele pe un PCB

Am ajuns să lipesc toate componentele până la un PCB, folosind doar fire și / sau piese de lipit pentru a uni toate componentele. Am luat apoi un neg negru vechi de perete și am tăiat firul din el puțin mai scurt, apoi l-am alergat către un bloc de conector pe care l-am lipit pe PCB. Alimentarea se oprește apoi la regulatorul / condensatoarele de tensiune de 5V și la componentele necesare. Pur și simplu am lipit partea din spate a PCB-ului de negul de pe perete și l-am conectat la un punct de alimentare din interiorul unuia dintre dulapurile mele. Funcționează acum de aproximativ 9 luni fără probleme!

Recomandat: