Turinys:

„Wifi“į RF - durų užraktas: 3 žingsniai (su nuotraukomis)
„Wifi“į RF - durų užraktas: 3 žingsniai (su nuotraukomis)

Video: „Wifi“į RF - durų užraktas: 3 žingsniai (su nuotraukomis)

Video: „Wifi“į RF - durų užraktas: 3 žingsniai (su nuotraukomis)
Video: Connect WiFi remote control electronic lock#shorts #technology #remote #electronic #lock #wifi 2024, Lapkritis
Anonim
„Wifi to RF“- durų užraktas
„Wifi to RF“- durų užraktas
„Wifi to RF“- durų užraktas
„Wifi to RF“- durų užraktas
„Wifi to RF“- durų užraktas
„Wifi to RF“- durų užraktas

Apžvalga

Šis nurodymas suteiks jums galimybę užrakinti / atrakinti jūsų priekines duris naudojant namų automatikos programinę įrangą (pvz., „OpenHAB“nemokamą namų automatizavimo programinę įrangą, kurią aš asmeniškai naudoju). Aukščiau esančiame paveikslėlyje parodyta „OpenHAB iPhone“programos ekrano kopijos pavyzdys. Arba galite naudoti MQTT pranešimus, kaip aprašyta toliau, beveik bet kurioje norimoje sistemoje.

Prielaidos

Šioje instrukcijoje daroma prielaida, kad jau turite (ar nustatysite):

  • „OpenHAB“(nemokama atviro kodo namų automatizavimo programinė įranga) veikia, nors, kaip minėta, ji turėtų veikti su bet kokia namų automatikos programine įranga, kuri gali apimti MQTT įrišimą. Arba galite patys pakeisti kodą, kad atitiktų jūsų poreikius.
  • „Mosquitto MQTT“įrišimas įdiegtas ir sukonfigūruotas naudojant „OpenHAB“(MQTT yra pranešimų prenumeratos/paskelbimo tipo protokolas, kuris yra lengvas ir puikiai tinka bendravimui tarp įrenginių)
  • Kad jūs jau sumontavote radijo dažniais pagrįstą priekinių durų klaviatūros užraktą, kuriame yra bent vienas nuotolinio valdymo pultas (dauguma tai daro); „Amazon“juos galima nusipirkti palyginti pigiai (maždaug ~ 60 USD, nors šio modelio baterijos trunka tik ~ 4 mėnesius, taigi pažiūrėkite, ar galite pateikti nuolatinės srovės šaltinį, kuris maitina užraktą, ar išleisti šiek tiek daugiau tinkamam modeliui:-))

Jei nepaleidžiate „OpenHAB“ir „MQTT“brokerio, peržiūrėkite šį puikų straipsnį „MakeUseOf“svetainėje

Įvadas

Šis projektas konkrečiai parodo, kaip naudoti RF pagrindu veikiančią durų spyną „KEY FOB“, kad ji būtų daug naudingesnė, paverčiant ją veikiančia belaidžiu ryšiu, todėl suteikiama galimybė užrakinti arba atrakinti duris naudojant namų automatikos sistemą, žiniatinklio naršyklę ir telefoną (per „OpenHAB“programą) arba netgi suplanuokite jį automatiškai užrakinti naktį, naudodami namų automatikos programinės įrangos taisykles. Šiam projektui aš nusipirkau „Mi RF“klaviatūros priekinių durų užraktą iš „Amazon“už maždaug 60 USD *

(* REDAGUOTI: šios konkrečios markės durų spynos baterijos neužtrunka taip ilgai! Naudojau tik 3-4 mėnesius, kol turėjau pakeisti baterijas, kurios tapo gana varginančios. Nuo to laiko pakeičiau tą įrenginį „Windsor“firminiam elektroniniam durų užraktui, kurio baterijos tarnauja iki 2 metų. Arba, nors ir daug daugiau darbo, apsvarstykite galimybę įjungti nuolatinės srovės maitinimą per durų šerdį iki spynos)

Tam jie siūlo radijo dažniais valdomą durų užraktą su įmontuota klaviatūra ir raktų pulteliu, skirtu nuotoliniu būdu užrakinti / atrakinti. Tačiau naudojant RF, raktas turi būti durų užrakto diapazone. Šiame projekte bus naudojamas raktas, integruotas su „Wemos“(IOT plokštė su ESP8266 lustu), kad būtų galima užrakinti / atrakinti belaidžiu būdu, todėl galima valdyti iš bet kur, kur yra interneto ryšys.

Ko man reikia?

Pirmiausia nusipirkite ir įdiekite RF pagrindu sukurtą klaviatūros užraktą. Jūs turite įsitikinti, kad jis yra su raktų pakabuku! Patikrinkite fobą ir įsitikinkite, kad paspausdami mygtukus jis užrakins arba atrakins duris prieš pradedant. Dauguma šių durų spynų turėtų būti pagrįstos standartiniais durų dydžiais ir užrakto poslinkiais, taigi, jei jau turite užraktą (kaip ir aš), jį pakeisti yra ypač lengva.

Norėdami sukurti belaidį valdiklį, turėsite įsigyti šias dalis:

  • Tai turėtų padaryti „Wemos D1 mini V2“(turi ESP8266 belaidį CHIP) arba tiesiog ESP8266 CHIP (aš nerekomenduoju šiam projektui naudoti ESP-01 versijos, nes norint įjungti GPIO 0 kaištį, reikia kad jis būtų paleistas iš blykstės, tačiau tai padarius, durų užraktas įsijungs, kai ESP8266 įjungs potencialiai atrakindamas jūsų priekines duris! Nors yra būdų, kaip tai padaryti, pvz., naudojant laikmačius ar tranzistorius ir tt, už mažą kainą „Wemos“ir mažiau komponentų, sieksime paprastesnio požiūrio)
  • 5 V nuolatinės srovės maitinimo šaltinis, skirtas „Wemos“ir „Keyfob“maitinti (baterijų nebereikės) Jei „Wemos“maitinsite naudodami 5 V VCC kaištį (o ne USB prievadą), o nuolatinės srovės šaltinis yra didesnis nei 5 V, taip pat reikia 5 V įtampos reguliatoriaus (pvz., LM7805) ir 2 x kondensatorių, 10 V 0,33uF ir 10 V 0,1uF ar panašaus dydžio (pagal LM7805 duomenų lapą)
  • Du 2N7000 arba panašūs MOSFET (jie bus naudojami norint įjungti pultelį, vienas-užrakinimui, kitas-atrakinti. 2N7000 yra labai paplitęs ir labai pigus N tipo kanalų MOSFET tipo patobulinimų tipas, todėl jį turėtų būti labai lengva gauti)

  • Du 10K omų rezistoriai (jie bus naudojami kaip nuleidžiami rezistoriai kiekvienam MOSFET, kad durų užraktas / atrakinimas nebūtų įjungiamas įjungus!)
  • Priklausomai nuo jūsų nuotolinio valdymo pulto, gali tekti prijungti kitą kondensatorių (pvz., 10 V 220uF ar panašaus dydžio), kad padidintumėte nuotolinio valdymo pulto galią. Peržiūrėkite priežastis vėliau šiame straipsnyje.
  • Reikalingi įrankiai: šoniniai pjovikliai, vieno gyslo viela, lituoklis, srautas ir pasirinktinai kelių metrų matuoklis

Pats raktas paprastai naudoja 2 x 3 V baterijas nuosekliai (6 V Vcc). Todėl naudojant 5 V maitinimą su kondensatoriumi, pakanka įtampos tiek „Wemos“maitinti, tiek užrakinti / atrakinti.

Jei turite nuotolinio valdymo pultą, kuris veikia iš vienos 3 V baterijos, tuomet turėtumėte turėti galimybę savo grandinėje pridėti 3,3 V įtampos reguliatorių, kad įtampa sumažėtų arti reikiamos 3 V įtampos. 3 V baterija iš tikrųjų išleidžia apie 3,1 V, o dauguma grandinių turi tam tikrą aukštesnės įtampos toleranciją, todėl šiuo atveju 3,1–3,3 V yra +6%. Sujunkite tai su tuo, kad „Wemos“traukia srovę, todėl įtampa greičiausiai bus dar mažesnė. Jei abejojate, išmatuokite su multimetru ir, jei įmanoma, pasikonsultuokite su spynos pardavėju, kokia yra didžiausia įtampa (arba didžiausia leistina nuokrypis). Galiausiai, kaip alternatyvų sprendimą, nustatykite įtampos skirstytuvo grandinę.

1 žingsnis: Surinkimas

Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas

Litavimas

Komponentų surinkimas yra labai paprastas. Pirmiausia atplėškite raktą - išimkite baterijas ir dėklą, nes jums reikia tik plokštės viduje. Toliau lituokite vielą kiekvienoje klavišo mygtuko kojų pusėje. Atlikite tai ir užrakto, ir atrakinimo mygtuko atveju. Tada apverskite fobą ir lituokite laidą ant + ir - pagalvėlių, esančių fobo gale, kaip parodyta paveikslėliuose. Didesnis padėklas yra +, mažesnis -

Pastaba: 5 V maitinimo šaltinis maitins tiek „Wemos“, tiek raktų pultelį, todėl nebereikia naudoti „Fob“baterijų.

Surinkimas

Pateikite „Wemos“5 V Vcc ir GND ir pridėkite MOSFET ir rezistorius prie duonos lentos, kaip parodyta paveikslėlyje. 10K omų rezistoriai turėtų veikti nuo GND iki MOSFET vartų (centrinio kaiščio). Tai sumažins įtampą prie žemės ir sustabdys MOSFET įjungimą įjungus.

Tada paleiskite laidą nuo D1 Wemos iki pirmojo MOSFET vartų ir D2 ant Wemos vartų iki antrojo MOSFET vartų. D1 ir D2 yra GPIO (bendrosios paskirties įvesties/išvesties) kaiščiai, kurie kode nurodomi kaip OUTPUT kaiščiai.

Galiausiai prijunkite nuotolinio valdymo pultelio laidus prie duonos lentos, nuo Vcc iki 5V bėgelio, nuo GND iki GND, tada laidą, esantį neigiamoje mygtuko pusėje, prie kiekvieno MOSFET šaltinio ir teigiamą mygtuko pusę prie kiekvieno MOSFET išleidimo pusės. kaip parodyta paveikslėlyje (jei nesate tikri dėl poliškumo, naudokite multimetrą)

(REDAGUOTI: Anksčiau paminėta „Windsor“durų spyna turi pultelį, kuris sunaudoja šiek tiek daugiau įtampos nei senasis raktas. Dėl to „Wemos“veiksmingai nustojo reaguoti dėl įtampos kritimo, kai durys buvo užrakintos/atrakintos. Jei patiriate tą pačią problemą, tada ištaisykite laidą 220uF (ar panašiame) kondensatoriuje prieš pat +/- laidą, kuris išeina į pultelį. Kondensatorius įkraunamas, o kai įjungiamas, išleiskite kondensatorių, o ne tiesioginę nuolatinę srovę)

Dabar prijunkite USB kabelį prie „Wemos“, o kitą laido galą - prie kompiuterio.

(Kodas išves D1 kaištį „AUKŠTAS“, todėl MOSFET įsijungs, leisdamas įtampai pereiti iš kanalizacijos į šaltinį, todėl „įjungs“mygtuką 1 sekundę, prieš vėl įjungdamas išvesties kaištį „LOW“ir išjungdamas. Tiesą sakant, tai tiesiog imituoja mygtuko paspaudimą per kodą)

„Arduino IDE“

Paleiskite „Arduino IDE“. Atsisiųskite ir atidarykite kodą (alternatyvi nuoroda ČIA) Įsitikinkite, kad papildomos plokštės yra įtrauktos į IDE, žr. Čia, kaip nustatyti. Tada turėsite užtikrinti, kad jūsų projektui būtų įdiegta ir įkelta tinkama plokštė (Įrankiai, lentos, lentos tvarkyklė - ieškokite „esp8266“ir įdiekite), taip pat pasirinktas teisingas COM prievadas (įrankiai, prievadas, COM…). Jums taip pat reikės įdiegti atitinkamas bibliotekas „PubSubClient“ir „ESP8266Wifi“(eskizas, bibliotekų tvarkymas, bibliotekos įtraukimas …)

Tada pakeiskite šias kodo eilutes ir pakeiskite savo belaidžio ryšio SSID ir slaptažodžiu. Taip pat pakeiskite IP adresą, kad nurodytumėte savo MQTT brokerį. Jei neturite įdiegto MQTT brokerio, rekomenduoju naudoti „Mosquitto“. Atsisiųskite „Windows“arba „Linux“čia.

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

Pakeitę, patikrinkite kodą, tada USB kabeliu įkelkite į „Wemos / ESP8266“plokštę.

2 veiksmas: bandymas ir „OpenHAB“konfigūracija

Testavimas ir „OpenHAB“konfigūracija
Testavimas ir „OpenHAB“konfigūracija
Testavimas ir „OpenHAB“konfigūracija
Testavimas ir „OpenHAB“konfigūracija
Testavimas ir „OpenHAB“konfigūracija
Testavimas ir „OpenHAB“konfigūracija

MQTT testavimas

MQTT yra „prenumeruoti / publikuoti“pranešimų sistema. Vienas ar daugiau įrenginių gali kalbėtis su „MQTT brokeriu“ir „užsiprenumeruoti“tam tikrą temą. Bet kokius gaunamus pranešimus iš bet kurio kito įrenginio, kurie yra „paskelbti“ta pačia tema, tarpininkas išsiųs į bet kurį kitą tą temą užsiprenumeravusį įrenginį. Tai labai lengvas ir paprastas naudoti protokolas ir puikiai tinka kaip paprasta paleidimo sistema, tokia kaip čia. Žiūrėkite srauto schemą, kad apytikriai suprastumėte, kaip tai veikia.

Norėdami patikrinti, galite peržiūrėti gaunamus MQTT pranešimus iš „Wemos“į savo MQTT tarpininką, vykdydami šią komandą „Mosquitto“serveryje („Mosquitto“yra viena iš daugelio „MQTT Broker“programinės įrangos). Ši komanda prenumeruoja gaunamus nuolatinius pranešimus:

mosquitto_sub -v -t openhab/frontdoor/status

Turėtumėte matyti gaunamus pranešimus, gaunamus iš „Wemos“maždaug kas 30 sekundžių su skaičiumi „1“(tai reiškia „aš gyvas“). Kai pamatysite ateinantį skaičių 1, tai reiškia, kad „Wemos“bendrauja su MQTT brokeriu (ieškokite „MQTT Paskutinė valia ir testamentas“, jei norite gauti daugiau informacijos apie tai, kaip tai veikia, arba peržiūrėkite šį tikrai gerą tinklaraščio įrašą)

Kai įrodysite, kad ryšys veikia, dabar galite sekti tikrąjį „trigerio“(užrakinimo/atrakinimo) pranešimą. Pirmiausia užsiprenumeruokite šią temą.

mosquitto_sub -v -t openhab/frontdoor/trigger

Dabar atidarykite antrą komandinės eilutės langą ir paleiskite šią paskelbimo komandą, siunčiant temai pranešimą „LOCK“arba „UNLOCK“. Pirmame lange turėtumėte pamatyti atitinkamą pranešimą, taip pat pamatysite raudoną šviesos diodo lemputę, esančią ant nuotolinio valdymo pulto, ir durų mechanizmą, jei reikia, užrakinti ar atrakinti.

mosquitto_pub -t openhab/frontdoor/trigger -m LOCK

(-t reiškia „tema“, -m reiškia „pranešimas“, -v reiškia „daugžodžiavimas“)

Pastaba: jei siunčiant užraktą durys atsidaro arba užrakina siunčiant atrakinimo komandą, tiesiog pakeiskite D1 ir D2 laidus

„OpenHAB“konfigūracija

„OpenHAB“reikia atlikti šiuos pakeitimus:

elementų failas:

Perjungti priekines duris "Priekinės durys [MAP (status.map):%d]" (gDoors) {mqtt = "<[mqttbroker: openhab/frontdoor/status: state: default]"}

„sitemap“failas:

Perjungti elementą = frontdoorTrigger mappings = [ON = "Lock", OFF = "Unlock"] Teksto elementas = frontdoorStatus

„status.map“failas (aplanke transformuoti):

0 = žemyn1 = gyvas- = nežinomas

Jums gali tekti šiek tiek pakeisti aukščiau pateiktą „OpenHAB“konfigūraciją, kad ji atitiktų jūsų sąranką, pvz., „Mqttbroker:“dalis, nurodanti jūsų sukonfigūruotą MQTT tarpininko pavadinimą.

Paskutiniame paveikslėlyje rodomi PCB komponentai. Šiuo atveju, kadangi aš naudoju nuolatinės srovės maitinimo šaltinį, kuris yra> 5 V (mano atveju 9 V), plokštėje taip pat yra LM7805 įtampos reguliatorius, taip pat 0,33uF kondensatorius, skirtas maitinimui šone, ir 0,1uF kondensatorius išjungimo pusėje padėti išlyginti ir stabilizuoti įtampą. Priešingu atveju likusios jungtys yra tokios pačios, kaip aprašyta anksčiau.

Problemų sprendimas

- Jei turite problemų, dėl kurių „Wemos“nuolat užrakina arba atrakina duris (pvz.: siunčia RF signalą, o raktelio pakabinimo lemputė šviečia), patikrinkite savo VCC ir GND laidus prie „Wemos“. Yra tikimybė, kad vienas ar abu jie nėra tinkamai prijungti.

3 žingsnis: sudėkite komponentus į PCB

Lituokite komponentus prie PCB
Lituokite komponentus prie PCB
Lituokite komponentus prie PCB
Lituokite komponentus prie PCB

Aš baigiau lituoti visus komponentus iki PCB, tiesiog naudodamas laidus ir (arba) litavimo takelius, kad sujungčiau visus komponentus. Tada aš gavau seną nuolatinės srovės sieninę karpą ir nukirpiau nuo jos šiek tiek trumpesnę vielą, tada nuvedžiau ją į jungčių bloką, kurį buvau prilituotas prie PCB. Tada maitinimas išeina į 5 V įtampos reguliatorių / kondensatorius ir būtinus komponentus. Aš tiesiog mėlynai prilipdžiau PCB nugarėlę prie sienos karpos ir prijungiau prie maitinimo lizdo vienos spintelės viduje. Jis veikia jau apie 9 mėnesius be jokių problemų!

Rekomenduojamas: