Turinys:

Valdykite automatinius slankiojančius vartus naudodami namų asistentą ir ESPHome: 5 žingsniai (su nuotraukomis)
Valdykite automatinius slankiojančius vartus naudodami namų asistentą ir ESPHome: 5 žingsniai (su nuotraukomis)

Video: Valdykite automatinius slankiojančius vartus naudodami namų asistentą ir ESPHome: 5 žingsniai (su nuotraukomis)

Video: Valdykite automatinius slankiojančius vartus naudodami namų asistentą ir ESPHome: 5 žingsniai (su nuotraukomis)
Video: BFT Botticelli SMART BT A automatika 2024, Birželis
Anonim
Valdykite automatinius slankiojančius vartus naudodami „Home Assistant“ir „ESPHome“
Valdykite automatinius slankiojančius vartus naudodami „Home Assistant“ir „ESPHome“

Š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?

Kaip tai veikia?
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.

  1. Iš savo mobiliojo telefono paspaudžiate „Home Assistant“programos mobiliesiems valdiklį
  2. Užklausa siunčiama jūsų namų asistento žiniatinklio adresu (išsprendžia „DuckDNS“ir TLS užšifruodami).
  3. Jūsų interneto maršrutizatorius nukreipia užklausą į „Home Assistant“programą
  4. „Home Assistant“siunčia užklausos veiksmą į „ESPHome“
  5. „ESPHome“paleidžia automatinį slankiojančių vartų variklį
  6. Š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

Individualizuota elektroninė lenta, skirta patobulinti automatinius slankiojančius vartus
Individualizuota elektroninė lenta, skirta patobulinti automatinius slankiojančius vartus
Individualizuota elektroninė lenta, skirta patobulinti automatinius slankiojančius vartus
Individualizuota elektroninė lenta, skirta patobulinti automatinius slankiojančius vartus
Individualizuota elektroninė lenta, skirta patobulinti automatinius slankiojančius vartus
Individualizuota elektroninė lenta, skirta patobulinti automatinius slankiojančius vartus

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

Parodykite savo namų asistentą pasauliui
Parodykite savo namų asistentą pasauliui
Parodykite savo namų asistentą pasauliui
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: