Turinys:
- Prekės
- 1 žingsnis: kaip tai veikia?
- 2 veiksmas: įdiekite ir nustatykite namų asistentą „Raspberry PI“
- 3 žingsnis: pasirinktinė elektroninė lenta, skirta automatiniams slankiojantiems vartams patobulinti
- 4 žingsnis: „ESPHome“programinė įranga, skirta paleisti PCB prototipą
- 5 veiksmas: parodykite savo namų asistentą pasauliui
Video: Valdykite automatinius slankiojančius vartus naudodami namų asistentą ir ESPHome: 5 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Šis straipsnis yra keletas atsiliepimų apie mano asmeninę patirtį valdant automatinius stumdomus vartus, kuriuos įdiegiau savo namuose. Šie vartai, pažymėti „V2 Alfariss“, buvo aprūpinti keliais „Phox V2“nuotolinio valdymo pultais. Taip pat turiu „Google Nest Hello“durų skambutį, kuris, deja, negali būti prijungtas prie stumdomų vartų valdiklio, kad būtų galima nuotoliniu būdu atidaryti vartus iš mobiliosios programos. Man vienas būdas išspręsti šį apribojimą buvo rasti būdą, kaip prijungti automatinį slankiojančių vartų valdiklį prie interneto. Naudodamas šiuos naujus, prijungtus vartus, galiu atsakyti į tokius naudojimo atvejus kaip stumdomų vartų valdymas mobiliuoju telefonu. Tai pasiekiau naudodamas „Home Assistant“, „ESPhome“ir keletą elektroninių dalių.
Šio straipsnio idėja yra ne suteikti jums ką nors paruošto naudoti, bet įkvėpti. Atminkite, kad jei neturite tų pačių automatinių vartų, nepamirškite atsisiųsti ir perskaityti savo modelio techninės dokumentacijos. Pritaikykite ir patobulinkite. Įspėjimas: Būkite atsargūs ir nepamirškite išjungti elektros energijos prieš atidarydami pagrindinį valdiklį. Mėgautis!
Prekės
-
Įrankiai:
- Atsuktuvas
- Lituoklis
- Kelių metrų
-
Dalys:
- Raspberry PI 3 (visas komplektas: 2A alim + 32 GB sd kortelė)
- ESP8266 „Wemos D1 mini“
- 2 relės moduliai
- 2 rezistoriai 10k
- PCB prototipų kūrimui
- Laidai
1 žingsnis: kaip tai veikia?
Pagrindinis iššūkis yra prijungti automatinius stumdomus vartus prie išmaniojo telefono. Norėdami tai padaryti, automatinius stumdomus vartus paversime IOT įrenginiu. Žinoma, yra daug būdų tai pasiekti. Mano atveju po kelių eksperimentų nusprendžiau eiti su:
- „Home Assistant“naudojimas kaip centras, skirtas valdyti portalą ir gauti vartotojo užklausas.
- ESPHome diegimas kaip programinė įranga ESP8266 viduje.
-
Elektroninės dalys:
- PCB prototipas, skirtas lituoti komponentus ir juos prijungti
- Dvi relės, imituojančios mygtuką, kad atidarytumėte arba uždarytumėte vartus
- Senas 5 V maitinimo šaltinis, skirtas maitinti ESP8266
- Du rezistoriai, skirti padalyti įtampą nuo atidarymo/uždarymo jutiklio
- Interneto ryšys su maršrutizatoriumi (reikalinga NAT taisyklių konfigūravimo funkcija)
- „DuckDNS“paskyrą, leidžiančią jūsų namų padėjėjui nustatyti pavadinimą
- Mobilusis telefonas, skirtas įdiegti „Home Assistant“programą ir valdiklį ekrane
Tėkmė
Peržiūrėkite schemą, kad geriau suprastumėte.
- Iš savo mobiliojo telefono paspaudžiate „Home Assistant“programos mobiliesiems valdiklį
- Užklausa siunčiama jūsų namų asistento žiniatinklio adresu (išsprendžia „DuckDNS“ir TLS užšifruodami).
- Jūsų interneto maršrutizatorius nukreipia užklausą į „Home Assistant“programą
- „Home Assistant“siunčia užklausos veiksmą į „ESPHome“
- „ESPHome“paleidžia automatinį slankiojančių vartų variklį
- Šampanas!
2 veiksmas: įdiekite ir nustatykite namų asistentą „Raspberry PI“
„Home Assistant“gali būti laikomas visų jūsų namų IOT dalykų centru. Tai bus gera vieta valdyti visus prijungtus įrenginius ir pridėti daug funkcijų. Pagrindinės funkcijos, kurios man labiausiai patinka, yra prietaisų skydelis, API ir priedų įvairovė.
Montavimas
Akivaizdu, kad neturiu jokių pridėtinių vertybių, kurios jums pasakytų, kaip nustatyti ir įdiegti „Home Assistant“. Tiesą sakant, prieš šį projektą aš nežinojau šios programinės įrangos. Pagrindiniai straipsniai yra šie:
- Įdiekite „Home Assistant“naudodami šį straipsnį
-
„Home Assistant“tinklo konfigūraciją rasite čia:
github.com/home-assistant/operating-system…
- Įdiekite „ESPHome“naudodami šią nuorodą:
- Įdiekite „DuckDNS“priedą namų asistentui:
- Įdiekite failų rengyklės papildinį (naudinga):
Po visų šių punktų jūsų Raspberry PI veikia gražus namų asistentas. Turite sugebėti jį pasiekti per HTTP ir vietinį IP arba išbandyti https://homeassistant.local: 8123.
Konfigūracija
Konfigūruokite „DuckDNS“su savo domenu ir su prieigos raktu. Pavyzdžiui, nuotraukose galite pamatyti mano konfigūracijos dalį. Nepamirškite sutikti su sąlygomis „true“.
lets_encrypt:
accept_terms: true certfile: fullchain.pem keyfile: privkey.pem token: 92f56bb2-2c26-4802-8d4d-xxxxxxxxxxxx domenai:-nameofyourchoice.duckdns.org sekundės: 300
Aš nusprendžiu konfigūruoti HA su statiniu IP, nes jis yra paprastesnis ir esate tikri, kad IP bus tas pats po perkrovimo, o tada jūsų prievadų persiuntimo taisyklės ir toliau veiks: https://github.com/home-assistant/ operacinė sistema…
Mano atveju, aš pridedu konfigūraciją į failą configuration.yaml, nes „DuckDNS“netvarko „https“, tiesiog užšifruokime sertifikatą ir „DuckDns“atnaujinimą:
http:
ssl_certificate: /ssl/fullchain.pem ssl_key: /ssl/privkey.pem base_url:
3 žingsnis: pasirinktinė elektroninė lenta, skirta automatiniams slankiojantiems vartams patobulinti
Galbūt man tai buvo neįprasčiausia dalis, nes aš paprastai kuriu daugiau programinės įrangos nei aparatinė įranga. Pradėjau nuo duonos lentos ir labai paprastos grandinės, tik norėdamas patikrinti, ar galiu įkelti programą į „Wemos D1 mini“, ir mirksi šviesos diodas. Tada pakeičiau „ESPhome“programinę -aparatinę įrangą ir seku šį puikų darbo pradžios straipsnį:
Po kelių pakartojimų, norėdami rasti tinkamą grandinę, aš tai dokumentuojau „Fritzing“. Būtinai praleiskite laiką šiam žingsniui, nes nebėra kelio atgal, kai viskas yra lituojama (ne tiksliai, bet nelengva atkurti). Aš bandžiau imituoti įvesties jutiklį iš automatinių stumdomų vartų, tačiau tai buvo nesėkmė (vėliau paaiškinsiu, kodėl). Asmeniškai aš pastebėjau, kad „Fritzing“yra geras įrankis dokumentuoti, ką prijungiate prie lentos.
Pastaba: čia, ESPhome DUK, rasite gerą pradinį tašką, jei negalėsite prijungti ESPHome prie namų asistento pirmą kartą inicijuodami. Įkėlus programinę -aparatinę įrangą, galėsite įkelti „belaidžiu būdu“(OTA).
Relė atidaryti/uždaryti gaiduką
Automatinių slankiojančių vartų techninėje specifikacijoje nurodyta, kad turite uždaryti grandinę tarp „START“ir „COM“, kad suaktyvintumėte veiksmą atidaryti/uždaryti vartus (visą atidarymą). Uždara grandinė tarp „START. P“ir „COM“sukelia veiksmą atidaryti/uždaryti vartus pėstiesiems. Aš nenaudojau „STOP“, bet tai yra ta pati sąvoka, bet sustabdyti vartus atidarius ar uždarydami.
Dėl elektroninių komponentų pasirinkimo nusprendžiau pasirinkti relę, o ne tranzistorių. Tranzistoriai yra gražūs, tačiau jie nesuteikia garantijos, kad grandinė yra visiškai arti. Manau, kad jie gali leisti labai mažą srovę tekėti į grandinę. Kitas relės pranašumas yra tas, kad bandydami grandinę iš esmės girdite, kai kontaktas yra artimas, ir garsas „spragtelėjimas“.
Gaukite atviro jutiklio būseną
Pradžioje galvojau panaudoti kai kuriuos magnetinius jutiklius vartų atidarymo ar uždarymo būsenoms aptikti. Bet aš supratau, kad valdiklyje yra kištukas, kuriame minimas „ribinis jutiklis“. Akivaizdu, kad ne tam, kad būtų naudojamas (tokiam geekui kaip aš), su kontaktiniu testeriu radau, kad atidarius vartus galiu perskaityti atidarytą ar uždarytą būseną. Padariau didelę klaidą manydamas, kad būsena buvo kažkokia TTL loginė įtampa (3.3v). Tokiu atveju galite tiesiogiai prijungti juos prie „Wemos Input“. Bet iš tikrųjų, atidarius vartus, yra 6,3 V išėjimo įtampa. Norėdami naudoti šį signalą, turite padalyti įtampą naudodami tokią grandinę: https://www.learningaboutelectronics.com/Articles/H… Sprendimas yra gana paprastas, nes įtampą reikia padalyti iš dviejų. Taigi, aš naudoju du 10 Kohms rezistorių tarp ribinio jutiklio išvesties ir „Wemos“įvesties (dar kartą ieškokite schemos pridėtose nuotraukose).
Pigus 5 V maitinimo šaltinis
Norėdami maitinti visus šiuos komponentus, naudoju seną mobiliojo telefono maitinimo šaltinį. Aš atidariau ir pakeičiau kištuką į mažą kištukinį kabelį su varžtu. Aš taip pat nusprendžiau sujungti du PCB (esp ir maitinimo šaltinį) karštais klijais (taip, aš žinau, tai yra šiek tiek purvinas, bet veikia:-). Ne pats švariausias dalykas, bet lengviau valdomas ir nelieskite 220V.
Tai viskas aparatinei daliai.
4 žingsnis: „ESPHome“programinė įranga, skirta paleisti PCB prototipą
ESP8266 viduje esanti logika įšvirkščiama per namų asistento portalą ESPHome Add-on. Jūs koduojate ESPHome vykdomą logiką. Labai mažos rūšies programa turi būti su ESPHome sintaksės kodu. Tai tikrai lengva ir smagu, nes vos kelios YAML eilutės jūsų ESP8266 greitai tampa protingu dalyku. Visą šaltinio kodą galite rasti čia: https://gist.github.com/toomone/819112ea1b04937912… Sutelkime dėmesį į svarbią kodo dalį.
Relių valdymas
Kaip jau minėjau anksčiau, automatinis slankiojančių vartų valdiklis gali suaktyvinti atidarymą arba uždarymą tik trumpu impulsu (uždaryta grandinė) tarp dviejų įėjimų. Norėdami tai padaryti, turite sukonfigūruoti jungiklio sekciją su maža konfigūracija. Pavyzdžiui, sutelkime dėmesį į dalį, kuri aktyvuoja (atidaro arba uždaro) dalinį vartų atidarymą (pvz., Reikalingą pėsčiajam).
jungiklis:
- platforma: gpio pin: D3 // PIN kodas, kuriuo signalas bus išvestas naudojant „Wemos“id: relės atkūrimo režimas: ALWAYS_OFF - platforma: šablono pavadinimas: „Gate Pedestrian Remote“piktograma: „mdi: walk“turn_on_action: // the logika, kurią turi atlikti ESPHome, kad imituotų impulsą - switch.turn_on: relė - uždelsimas: 500 ms - switch.turn_off: relė
Ankstesnis kodas sukurs jungiklį ir šabloną. Šios dvi sąvokos leidžia ESPHome pasiūlyti patobulintą mechanizmą be realaus kodavimo. Kviečiu perskaityti ESPHome dokumentaciją, kad išsamiau susipažintumėte su siūlomomis funkcijomis. https://esphome.io/cookbook/relay.html ir
Atidaryto uždaro jutiklio būsenos skaitymas
dvejetainis_sensorius:
- platforma: gpio kaištis: skaičius: D1 apverstas: tikrasis pavadinimas: „Atidarytas jutiklis“id: open_sensor device_class: garage_door
Ši scenarijaus dalis liepia „Wemos“lentai perskaityti D1 atviro jutiklio būseną. Norėdami rasti D1, tiesiog perskaitykite savo „Wemos“PCB. Aš naudoju parametrą „apverstas“, kad pakeisčiau signalo vertę. Nepamenu aiškios priežasties, bet manau, kad HA prietaisų skydelyje buvo paprasta rodyti arti arba atidaryti portalo būseną.
Leidžiama API skambinti „ESPHome“
Jei norite, kad telefone būtų galima naudoti „Home Assistant“valdiklį, turite pridėti šį nedidelį kodą:
# Įgalinti namų asistento API
api: services: - service: open_portal_pedestrian then: - switch.turn_on: relė - uždelsimas: 500 ms - switch.turn_off: relė
Tokiu būdu programos „Namų asistentas“konfigūravimo priemonė išvardins veiksmus, skirtus portalo atidarymui. Aš pasirinkau tik tą, kuris skirtas pėstiesiems, nes tai aš naudoju labiausiai.
5 veiksmas: parodykite savo namų asistentą pasauliui
Nes jūs norite turėti galimybę atidaryti automatinius slankiojančius vartus iš bet kurios planetos vietos, o ne tik iš namų, jūs turite atskleisti savo HA pasauliui. Beje, būtinai naudokite tvirtą slaptažodžio autentifikavimą. Interneto maršrutizatoriuje turite sukonfigūruoti taisyklę, pagal kurią visas srautas, patenkantis iš konkretaus prievado, nukreipiamas į konkretų IP, taip pat prievadą. Pvz., Rasite konfigūraciją, kurią padariau savo teikėjo maršrutizatoriuje (atsiprašau, tai prancūzų kalba), tačiau pastebėsite, kad tai tikrai paprasta konfigūracija. Taisyklė turi nurodyti maršrutizatoriui priimti visus xxxx prievado protokolus ir pereiti prie „Home Assistant“IP su 8123 prievadu (jei jo nepakeitėte).
Tai viskas. Nesivaržykite užduoti klausimų, nes tikrai pamiršau pridėti išsamią informaciją apie konkrečią dalį. Sistema veikia kasdien be problemų. Man taip pat patinka tai, kad iš telefono galiu atidaryti arba uždaryti portalo būseną.
Rekomenduojamas:
Valdykite namų šviesas naudodami „Google“padėjėją naudodami „Arduino“: 7 žingsniai
Valdykite namų apšvietimą naudodami „Google“padėjėją naudojant „Arduino“: (Atnaujinta 2020 m. Rugpjūčio 22 d.: Šis nurodymas yra 2 metų amžiaus ir priklauso nuo kai kurių trečiųjų šalių programų. Dėl bet kokių jų pakeitimų šis projektas gali neveikti. Gali būti, kad ne. dirbkite dabar, bet galite sekti jį kaip nuorodą ir keisti pagal
Naudodami gestus valdykite „YouTube“atkūrimą naudodami „Arduino“: 5 žingsniai
Naudokite gestus, norėdami valdyti „YouTube“atkūrimą naudodami „Arduino“: „StoryYouTube“leidžia tik pasukti 5 sekundes kaskart spustelėjus dešinįjį mygtuką. Taigi aš nusprendžiau naudoti „Arduino“ir „python“, kad sukurtų valdiklį, kuris padėtų man greitai persukti 20 sekundžių kiekvieną kartą, kai mojuoju ranka
Valdykite ESP8266 iš „Google“namų naudodami „GBridge.io“: 4 veiksmai
ESP8266 valdymas iš „Google“namų naudojant „GBridge.io“: Yra įvairių ESP8266 valdymo būdų iš „Google Home“, tačiau dauguma sprendimų, kuriuos galite rasti internete, naudoja IFTT, kuris nėra labai patogus sąrankai. „gBridge.io“leidžia palengvinti procesą ir veikti sklandžiai. Šioje instrukcijoje
Namų automatizavimas naudojant „Android“ir „Arduino“: atverkite vartus, kai grįšite namo: 5 žingsniai
Namų automatizavimas naudojant „Android“ir „Arduino“: atverkite vartus, kai grįšite namo: ši instrukcija skirta namų automatizavimo sistemai, kurią reikia valdyti išmaniuoju telefonu, naudojant interneto ryšį, kad ją būtų galima pasiekti iš bet kurios jums reikalingos vietos. Be to, ji atliks tam tikrus veiksmus, kai atsiras kriterijus
Valdykite „Arduino“naudodami išmanųjį telefoną per USB naudodami „Blynk“programą: 7 žingsniai (su paveikslėliais)
„Arduino“valdymas naudojant išmanųjį telefoną per USB naudojant „Blynk“programą: Šioje pamokoje mes mokysimės naudoti „Blynk“programą ir „Arduino“, kad valdytumėte lempą, derinys bus per USB nuoseklųjį prievadą. Šios instrukcijos tikslas yra parodyti paprasčiausias sprendimas nuotoliniu būdu valdyti „Arduino“ar „c