Talaan ng mga Nilalaman:

Kontrolin ang Iyong Awtomatikong Sliding Gate Sa Home Assistant at ESPHome: 5 Hakbang (na may Mga Larawan)
Kontrolin ang Iyong Awtomatikong Sliding Gate Sa Home Assistant at ESPHome: 5 Hakbang (na may Mga Larawan)

Video: Kontrolin ang Iyong Awtomatikong Sliding Gate Sa Home Assistant at ESPHome: 5 Hakbang (na may Mga Larawan)

Video: Kontrolin ang Iyong Awtomatikong Sliding Gate Sa Home Assistant at ESPHome: 5 Hakbang (na may Mga Larawan)
Video: Inside a Modern Castle Oasis With Fire and Water Features! 2024, Hunyo
Anonim
Kontrolin ang Iyong Awtomatikong Sliding Gate Sa Home Assistant at ESPHome
Kontrolin ang Iyong Awtomatikong Sliding Gate Sa Home Assistant at ESPHome

Ang sumusunod na artikulo ay ilang puna sa aking personal na karanasan sa pagkontrol sa awtomatikong sliding gate na na-install ko sa aking bahay. Ang gate na ito, na may tatak na "V2 Alfariss", ay binigyan ng ilang mga remote na Phox V2 upang makontrol ito. Mayroon din akong isang Google Nest Hello doorbell, na sa kasamaang palad ay hindi mai-plug sa sliding gate controller upang buksan ang malayo mula sa gate mula sa mobile app. Para sa akin, ang isang paraan upang malutas ang limitasyon na ito ay upang makahanap ng isang paraan upang ikonekta ang awtomatikong sliding gate controller sa Internet. Sa bago, nakakonektang gate na ito, masasagot ko ang mga kaso ng paggamit tulad ng pagkontrol sa sliding gate gamit ang aking mobile phone. Nakamit ko ito sa pamamagitan ng paggamit ng Home Assistant, ESPhome at ilang mga elektronikong bahagi.

Ang ideya sa likod ng artikulong ito ay hindi upang bigyan ka ng isang bagay na handa nang gamitin, ngunit sa halip ay magbigay ng inspirasyon sa iyo. Tandaan, kung wala kang eksaktong parehong awtomatikong gate, huwag kalimutang i-download at basahin ang dokumentasyong pang-teknikal para sa iyong modelo. Iangkop ito at pagbutihin ito. Babala: Mag-ingat at huwag kalimutang patayin ang kuryente bago buksan ang pangunahing controller. Mag-enjoy!

Mga gamit

  • Mga tool:

    • Screw driver
    • Panghinang
    • Multi-meter
  • Mga Bahagi:

    • Raspberry PI 3 (buong hanay: 2A alim + 32gb sd card)
    • ESP8266 Wemos D1 mini
    • 2 module ng relay
    • 2 resistors 10k
    • PCB para sa prototyping
    • Mga wire

Hakbang 1: Paano Ito Gumagana?

Paano Ito Gumagana?
Paano Ito Gumagana?

Ang pangunahing hamon dito ay upang ikonekta ang awtomatikong sliding gate sa isang smart phone. Upang magawa ito, gawing IOT na aparato ang awtomatikong sliding gate. Siyempre, maraming mga paraan upang makamit ito. Sa aking kaso, pagkatapos ng ilang mga eksperimento, nagpasya akong sumama sa:

  • Paggamit ng Home Assistant bilang isang hub para sa pagkontrol sa portal at pagtanggap ng mga kahilingan mula sa isang gumagamit.
  • Pag-install ng ESPHome bilang firmware sa loob ng ESP8266.
  • Mga elektronikong bahagi:

    • Isang prototype PCB upang maghinang ng mga bahagi at ikonekta ang mga ito
    • Dalawang relay upang gayahin ang pindutan ng push upang buksan o isara ang gate
    • Isang lumang supply ng kuryente na 5V upang mapagana ang ESP8266
    • Dalawang resistors upang hatiin ang boltahe mula sa bukas / malapit na sensor
  • Isang koneksyon sa Internet sa isang router (kailangan ng tampok na pagsasaayos ng panuntunan sa NAT)
  • Isang DuckDNS account upang payagan ang paglutas ng pangalan sa iyong Home Assistant
  • Isang mobile phone upang mai-install ang Home Assistant App at isang widget sa screen

Ang daloy

Tingnan ang iskema upang higit na maunawaan.

  1. Mula sa iyong mobile phone, pinindot mo ang widget ng mobile app ng Home Assistant
  2. Ang isang kahilingan ay ipinadala sa iyong Home Assistant Web address (nalutas ng DuckDNS at TLS sa pamamagitan ng i-encrypt natin).
  3. Ire-ruta ng iyong Internet router ang kahilingan sa application ng Home assistant
  4. Ipadala ng Home Assistant ang pagkilos na humiling sa ESPHome
  5. Ang SPHome ay nag-trigger ng motor na Awtomatikong Sliding Gate
  6. Champagne!

Hakbang 2: I-install at Pag-set up ng Home Assistant sa Raspberry PI

Ang Home Assistant ay maaaring makita bilang isang hub para sa lahat ng iyong bagay sa IOT sa bahay. Ito ay magiging isang magandang lugar upang makontrol ang lahat ng mga nakakonektang aparato at magdagdag ng maraming mga tampok. Ang mga pangunahing tampok na gusto ko ang pinaka ay ang dashboard, ang API at ang pagkakaiba-iba ng mga add-on.

Pag-install

Malinaw na wala akong idinagdag na mga halagang sinabi sa iyo kung paano mag-setup at mag-install ng Home Assistant. Sa katunayan, bago ang proyektong ito hindi ko alam ang software na ito. Ang mga pangunahing artikulo ay:

  • I-install ang Home Assistant sa artikulong ito
  • Ang setting ng network para sa Home Assistant ay matatagpuan dito:

    github.com/home-assistant/operating-system…

  • I-install ang ESPHome gamit ito:
  • I-install ang DuckDNS Add-on para sa Home Assistant:
  • I-install ang File Editor plugin (kapaki-pakinabang): https://github.com/home-assistant/hassio-addons/tr..

Matapos ang lahat ng mga puntong ito, mayroon kang isang magandang Assistant sa Home na tumatakbo sa iyong Raspberry PI. Dapat mong maabot ito sa pamamagitan ng HTTP at isang lokal na IP o subukan ang https://homeassistant.local: 8123.

Pag-configure

I-configure ang DuckDNS sa iyo domain at sa token. Halimbawa, maaari mong makita sa mga larawan, isang piraso ng aking pagsasaayos. Huwag kalimutan na tanggapin ang mga _terms na may "totoo".

lets_encrypt:

accept_terms: true certfile: fullchain.pem keyfile: privkey.pem token: 92f56bb2-2c26-4802-8d4d-xxxxxxxxxxxx domain: - nameofyourchoice.duckdns.org segundo: 300

Napagpasyahan kong i-configure ang HA sa isang static IP dahil mas simple ito at sigurado ka na magiging pareho ang IP pagkatapos ng pag-reboot at pagkatapos ay magpapatuloy na gumana ang iyong mga patakaran sa pagpapasa ng port: https://github.com/home-assistant/ operating-syste…

Sa aking kaso, nagdagdag ako ng isang piraso ng pagsasaayos sa loob ng config.yaml file dahil hindi pinamamahalaan ng DuckDNS ang https, i-encrypt lang natin ang sertipiko at i-update ang DuckDns:

http:

ssl_certavale: /ssl/fullchain.pem ssl_key: /ssl/privkey.pem base_url:

Hakbang 3: Ang Pasadyang Elektronikong Lupon upang Mapahusay ang Awtomatikong Sliding Gate

Ang Pasadyang Elektronikong Lupon upang Mapahusay ang Awtomatikong Sliding Gate
Ang Pasadyang Elektronikong Lupon upang Mapahusay ang Awtomatikong Sliding Gate
Ang Pasadyang Elektronikong Lupon upang Mapahusay ang Awtomatikong Sliding Gate
Ang Pasadyang Elektronikong Lupon upang Mapahusay ang Awtomatikong Sliding Gate
Ang Pasadyang Elektronikong Lupon upang Mapahusay ang Awtomatikong Sliding Gate
Ang Pasadyang Elektronikong Lupon upang Mapahusay ang Awtomatikong Sliding Gate

Siguro, ito ang pinaka-hindi pangkaraniwang bahagi para sa akin dahil kadalasan ay mas maraming pag-aayos ako ng mga bagay-bagay sa mga softwares kaysa sa mga hardwares. Nagsimula ako sa isang breadboard at isang napaka-pangunahing circuit, upang suriin lamang na nakapag-upload ako ng isang programa sa loob ng Wemos D1 mini at kumurap ng isang LED. Pagkatapos, binago ko ang firmware para sa ESPhome at sundin ang perpektong artikulo sa pagsisimula:

Matapos ang ilang mga pag-ulit upang mahanap ang tamang circuit, naitala ko ito sa Fritzing. Siguraduhin na gumastos ng mga oras sa hakbang na ito dahil walang babalik kapag ang lahat ay na-solder (hindi eksakto ngunit hindi madaling rollback). Sinubukan kong gayahin ang input sensor mula sa Awtomatikong sliding gate ngunit ito ay isang pagkabigo (Ipinaliwanag ko sa paglaon kung bakit). Sa personal, nalaman ko na ang Fritzing ay isang mahusay na tool upang idokumento kung ano ang iyong kawad sa breadboard.

Tandaan: Mahahanap mo ang isang mahusay na panimulang punto dito sa ESPhome FAQ kung hindi mo mai-plug ang iyong ESPHome sa Home Assistant para sa unang pagsisimula. Matapos ma-upload ang firmware, magagawa mong i-upload ang "over the air" (OTA).

Relay upang i-aktibo ang bukas / malapit na gatilyo

Sa awtomatikong pagtutukoy ng teknikal na sliding gate, tinukoy na kailangan mong isara ang isang circuit sa pagitan ng "SIMULA" at "COM" upang magpalitaw ng isang aksyon na buksan / isara ang gate (ang buong pagbubukas). Ang isang malapit na circuit sa pagitan ng "Start. P" at "COM" ay nagpapalitaw ng isang aksyon na buksan / isara ang gate para sa pedestrian. Hindi ko ginamit ang "STOP" ngunit ito ang parehong konsepto ngunit upang ihinto ang gate kapag binubuksan o isinasara.

Sa pagpipilian ng elektronikong sangkap, nagpasya akong pumunta para sa isang relay sa halip na isang transistor. Maganda ang mga Transistor ngunit hindi sila nagbibigay ng garantiya na ang circuit ay perpektong malapit. Sa palagay ko maaari nilang hayaan ang ilang napakababang kasalukuyang pagpunta sa circuit. Ang isa pang pakinabang ng relay ay kapag sinubukan mo ang iyong circuit, karaniwang naririnig mo kapag ang contact ay malapit sa tunog na "clic".

Kunin ang estado ng bukas na sensor

Sa simula, iniisip ko ang paggamit ng ilang mga magnetikong sensor upang makita ang bukas o malapit na mga estado ng gate. Ngunit napagtanto ko na mayroong isang plug na binabanggit ang "limit sensor" sa controller. Malinaw na hindi ginawa upang magamit (sa pamamagitan ng geek tulad ko), nahanap ko sa isang contact tester na mababasa ko ang pagbukas o pagsara ng estado kapag binuksan ko ang gate. Gumawa ako ng isang malaking pagkakamali sa pag-iisip na ang estado ay isang uri ng TTL logic voltage (3.3v). Sa kasong ito, maaari mong direktang i-plug ang mga ito sa Wemos Input. Ngunit sa katunayan, kapag binuksan ang gate, mayroong isang 6.3v output boltahe. Upang magamit ang signal na ito, dapat mong hatiin ang boltahe sa ganitong uri ng circuit https://www.learningaboutelectronics.com/Articles/H… Ang solusyon ay medyo prangka dahil ang boltahe ay kailangang hatiin ng dalawa. Kaya, gumamit ako ng dalawang 10 resistors ng Kohms sa pagitan ng output ng limit na sensor at ang input ng Wemos (muli, tingnan ang mga nakalakip na larawan para sa isang iskema).

Murang 5v power supply

Upang mapagana ang lahat ng mga sangkap na ito, gumagamit ako ng isang lumang power supply ng mobile phone. Binuksan ko ito at pinalitan ang plug sa maliit na plug ng cable na may tornilyo. Nagpasya din akong pagsamahin ang dalawang pcb (esp at power supply) sa mainit na pandikit (oo alam ko, medyo marumi ito ngunit gumagana ito:-). Hindi ang pinakamalinis na bagay ngunit mas madaling hawakan at iwasang hawakan ang 220v.

Iyon lang ang para sa bahagi ng hardware.

Hakbang 4: Ang ESPHome Firmware upang tumakbo sa PCB Prototype

Ang lohika sa loob ng ESP8266 ay na-injection sa pamamagitan ng Add-on na portal ng Home Assistant. Nai-code mo ang lohika na isinasagawa ng ESPHome. Ang napakaliit na uri ng application ay dapat na code na may ESPHome syntax. Napakadali at nakakatuwa dahil, sa kaunting mga linya lamang ng YAML, ang iyong ESP8266 ay mabilis na naging isang matalinong bagay. Magagamit ang buong code ng mapagkukunan dito: https://gist.github.com/toomone/819112ea1b04937912… Nagbibigay-daan sa pagtuon sa mahalagang bahagi ng code.

Pagkontrol sa mga relay

Tulad ng sinabi ko dati, ang awtomatikong sliding gate controller ay maaaring magpalitaw ng isang bukas o malapit na aksyon na may isang maikling salpok lamang (malapit na circuit) sa pagitan ng dalawang mga input. Upang gawin iyon, kailangan mong i-configure ang isang seksyon ng switch na may maliit na pagsasaayos. Halimbawa, hinahayaan na ituon ang bahagi na nagpapagana (buksan o isara) ang bahagyang pagbubukas ng gate (kinakailangan para sa isang pedestrian halimbawa).

lumipat:

- platform: gpio pin: D3 // ang PIN number kung saan ang signal ay lalabas sa Wemos id: relay restore_mode: ALWAYS_OFF - platform: template name: "Gate Pedestrian Remote" icon: "mdi: walk" turn_on_action: // the lohika upang maipatupad ng ESPHome upang gayahin ang isang pulso - switch.turn_on: relay - antala: 500ms - switch.turn_off: relay

Ang nakaraang code ay bubuo ng isang switch at isang template. Pinapayagan ng dalawang konseptong ito ang ESPHome na mag-alok ng ilang pinahusay na mekanismo nang walang tunay na pag-coding. Inaanyayahan kita na basahin ang dokumentasyon ng ESPHome upang mapalalim ang mga tampok na inaalok. https://esphome.io/cookbook/relay.html at

Nagbabasa ng bukas na estado ng malapit na sensor

binary_sensor:

- platform: gpio pin: number: D1 inverted: true name: "Open sensor" id: open_sensor device_class: garage_door

Ang bahaging ito ng script ay nagsasabi sa board ng wemos na basahin ang estado sa bukas na sensor sa D1. Upang makahanap ng D1, mabasa mo lamang sa iyong Wemos PCB. Ginamit ko ang parameter na "baligtad" upang totoo upang baligtarin ang halaga ng signal. Hindi ko matandaan ang malinaw na dahilan ngunit sa palagay ko ay simple na ipakita ang malapit o bukas nang naaayon sa estado ng portal sa dashboard ng HA.

Pinapayagan ang tawag sa API sa ESPHome

Kung nais mong magamit ang widget ng Home Assistant sa iyong telepono, kailangan mong idagdag ang maliit na piraso ng code na ito:

# Paganahin ang Home Assistant API

api: services: - service: open_portal_pedestrian pagkatapos: - switch.turn_on: relay - antala: 500ms - switch.turn_off: relay

Sa ganitong paraan, ililista ng Home Assistant app configurator ang aksyon upang buksan ang portal. Pinili ko lamang ang isa para sa pedestrian dahil ito ang pinaka ginagamit ko.

Hakbang 5: Ilantad ang Iyong Home Assistant sa Mundo

Ilantad ang Iyong Home Assistant sa Mundo
Ilantad ang Iyong Home Assistant sa Mundo
Ilantad ang Iyong Home Assistant sa Mundo
Ilantad ang Iyong Home Assistant sa Mundo

Dahil, nais mong mabuksan ang iyong Awtomatikong Sliding Gate mula sa kung nasaan ka man sa planeta at hindi lamang mula sa iyong bahay, kailangan mong ilantad ang iyong HA sa mundo. Sa pamamagitan ng paraan, tiyaking gumamit ng isang malakas na pagpapatotoo ng password. Sa iyong Internet router kailangan mong i-configure ang isang panuntunan upang ma-ruta ang lahat ng trapiko na nagmumula sa isang tukoy na port sa isang tukoy na IP at isang port din. Halimbawa, mahahanap mo ang pagsasaayos na nagawa ko sa aking router ng provider (paumanhin, ito ay sa Pransya) ngunit mapapansin mo na talagang simpleng pagsasaayos. Dapat sabihin sa panuntunan sa iyong router na tanggapin ang lahat ng protocol sa port xxxx upang pumunta sa Home Assistant IP na may port 8123 (kung hindi mo ito binago).

Yun lang Huwag mag-atubiling magtanong dahil tiyak na nakalimutan kong magdagdag ng mga detalye sa tukoy na bahagi. Gumagana ang system araw-araw nang walang problema. Gusto ko rin ang katotohanan na maaari kong buksan o isara ang estado mula sa aking telepono.

Inirerekumendang: