Talaan ng mga Nilalaman:

Garage Door Opener Gamit ang isang Raspberry Pi: 5 Hakbang (na may Mga Larawan)
Garage Door Opener Gamit ang isang Raspberry Pi: 5 Hakbang (na may Mga Larawan)

Video: Garage Door Opener Gamit ang isang Raspberry Pi: 5 Hakbang (na may Mga Larawan)

Video: Garage Door Opener Gamit ang isang Raspberry Pi: 5 Hakbang (na may Mga Larawan)
Video: Touring DAN BILZERIAN's Bel Air Mega Mansion With A Bowling Alley! 2024, Hulyo
Anonim
Tagabukas ng Pinto ng garahe Gamit ang isang Raspberry Pi
Tagabukas ng Pinto ng garahe Gamit ang isang Raspberry Pi

Kontrolin ang motor ng garahe mula sa isang smartphone o anumang aparato na makapag-browse sa isang webpage (gamit ang AJAX!). Ang proyekto ay sinimulan dahil mayroon lamang akong isang remote para sa aking garahe. Gaano kasaya ang pagbili ng pangalawa? Hindi sapat. Ang aking target ay upang makontrol at masubaybayan ang pintuan ng aking garahe mula sa aking smartphone na may isang solong pahina. Hindi ko inilagay ang anumang magarbong seguridad sa paligid nito dahil ang RPi ay hindi nakalantad sa labas ng aking LAN. Sa gayon ay umaasa ako sa VPN upang ma-access ang web page. Gamit ang isang Android smartphone napakadali upang pareho ang pag-setup ng isang VPN at magdagdag ng isang webpage sa aking homescreen. Ang kailangan ko lang ay ang software para dito.

Kung nais mong suportahan ako sa pagsusulat ng iba pang mga itinuturo, mangyaring bumili ng hardware mula sa mga naka-sponsor na link ng Amazon.

Gayundin, magagamit din ang itinuturo na ito mula sa aking personal na pahina:

Hakbang 1: Ilang Background

Ang nahanap ko sa online

Bilang isang programmer, nais kong muling gamitin ang mga tutorial o naka-code na "antas ng produksyon". Sa kasong ito hindi ako nasisiyahan sa aking nahanap:

  • Raspberry Pi Garage Door Opener ng quartarian. Kung saan ako nagsimula, isang simpleng pindutan upang utusan ang relay. Walang bukas / isara na mga pindutan, walang puna. Napakalaking kapaki-pakinabang din upang maunawaan ang konsepto sa paligid ng nakalaang RPi upang makontrol ang isang motor mula sa isang relay. Ang paglalagay ng kable na ginagamit ko ngayon ay pareho pa rin para sa bahagi ng utos.
  • Raspberry Pi Garage Door Opener na may GaragePi ni Chase Chou. Parehong uri ng pag-set up ngunit gumagamit ng labis na wireless remote. Hindi ko nais na pumatay ng aking solong remote. Pinatunayan nito na gumamit pa rin ng parehong uri ng electrical setup para sa bahagi ng utos. Kasama ang paraan natutunan ko ang tungkol sa WebIOPi upang suriin ang aking GPIO sa isang webpage. Iyon din ang natutunan ko tungkol sa paglalagay ng isang shortcut sa aking Android homescreen. Sinimulan din nitong magaan ang ideya ng pag-asa sa mga serbisyo, kung tutuusin, nais kong maging maaasahan ito.
  • Paggawa ng Iyong Garage Email Email, Tweet, o SMS: Bahagi 1 Ni Richard L. Lynch. Ang isang ito ay nagdagdag ng ideya na gumamit ng isang Magnetic Sensor upang makontrol ang estado ng pinto. Gayunpaman hindi ko pa nagamit ang marami dahil hindi ako nagtatayo ng isang sistema ng alarma ngunit isang sistema ng pagsugo / monitor.
  • Ganap na Wireless Garage Opener / Security Cam ng DeckerEgo. Ginawa nitong mas mahusay akong magkaroon ng kamalayan tungkol sa streaming ng webcam upang subaybayan ang pinto. Kailangan ko pa ring magsikap. Siguro kakailanganin kong mag-recycle ng isang USB hub o kumuha ng ibang webcam.
  • Ang kontrol ng Raspberry Pi mula sa mobile device o desktop web browser ng Frédérick Blais. Ito ang base ko ngayon para sa stack ng software. Gumagamit ito ng Flask upang magpatakbo ng isang napaka-simpleng web page kasama ang AJAX. Ito ay premium sa akin dahil nagbibigay ito ng real-time na pagsubaybay at mga pagpipilian sa utos. Basahin sa ibaba.

Tungkol sa aking RPi

Habang natututunan ko pa rin ang tungkol sa RPi at elektronikong bagay sa pangkalahatan, bumili ako ng maraming mga bagay para sa aking bagong nakuha na Raspberry Pi: ilang mga kable, isang T-cobbler, ilang mga leds, isang isang relay module, isang walong-relay module, isang LCD display at iba pa. Hindi ako sa anumang paraan isang elektroniksista at napatunayan nitong napaka nagtuturo. Upang bumili ng labis na hardware ng Amazon at Ebay ay iyong matalik na kaibigan.

Kasama sa kasalukuyang estado ng proyekto ang sumusunod na hardware:

  • Isang Raspberry Pi (FR / DE) na tumatakbo sa Raspbian Wheezy 2014-09-09 na may pinakabagong pag-update
  • Isang 8GB (FR / DE) o 16GB (FR / DE) o 32GB (FR / DE) micro SD Card Class 10 upang hawakan ang OS, mga file at iba pa
  • Ang dalawang switch ng zinc alloy garage reed (FR / DE) upang makita ang bukas / malapit na estado
  • Isang module ng 3v relay (FR / DE) upang magpadala ng mga utos sa motor ng pinto (ang minahan ay may built-in na LED upang subaybayan ang relay state, napaka madaling gamiting!)
  • Isang solderless breadboard (FR / DE) at 2 panandalian switch (FR / DE) upang gayahin ang pinto sa aking mesa (o kumuha ng isang starter kit (FR / DE))
  • Isang wifi dongle (FR / DE) upang alisin ang sobrang paglalagay ng kable kapag nakasabit ito mula sa kisame ng garahe

Ang isang limitasyon na mayroon pa ako ay hindi ko alam kung ang pintuan ay nasa kalahati, huminto o gumagalaw pa rin. Ito rin ang dahilan kung bakit nais kong magdagdag ng isang lumang webcam upang mag-stream mula sa loob ng garahe. Marahil ay magdagdag talaga ako ng ilang sensor upang masubaybayan ang motor mismo.

Hakbang 2: Software Stack

Software Stack
Software Stack

Pangkalahatang bagay

Ang software ay nakasalalay sa module na Python, Flask at WiringPi GPIO Python. Tulad ng ipinaliwanag sa background, nagsimula ako mula sa tutorial na kontrol ng Raspberry Pi mula sa mobile device o desktop web browser na na-publish ni Frédérick Blais. Ang kasalukuyang software ay binubuo ng:

  • Isang HTML template file na naglalaman ng ilang jQuery Mobile code at mga kontrol
  • Isang module ng Python Pins upang mai-access ang GPIO ng Raspberry Pi
  • Isang module ng Python go upang patakbuhin ang Flask at suportahan ang mga query ng AJAX

Ang naroroon sa repository ay ang hilaw na software. Ito ay hindi sa anumang paraan magarbong o labis na labis ng mga tampok. Ito lamang ang nagawa kong makamit mula sa aking natutunan.

Kasalukuyang interface

Sa kasalukuyan ang estado para sa mga pintuan ay binabasa tuwing 0.5s. Ginagamit ang dalawang switch para sa parehong bukas / malapit na estado. Ginagamit ang isang relay upang utusan ang motor. Ang kasalukuyang code ay naglalabas pa rin ng ilang pag-debug. Sa ibaba ang pagbaril sa screen ay mula sa isang Nexus 5.

Hakbang 3: Hardware - Alpha

Hardware - Alpha
Hardware - Alpha
Hardware - Alpha
Hardware - Alpha

Pagsubok kama

Ang aking test bed ay medyo simple, isang RPi, isang relay at dalawang switch. Upang mahigpit na hawakan ang mga bagay, ilang mga kurbatang zip (FR / DE) ang kailangan mo. Narito ang isang larawan nito. Ang RJ45 LAN cable (FR / DE) ay para sa desktop debug at WIFI dongle para sa paggamit ng garahe.

Live na sistema

Ang RPi ay konektado sa pinturang motor lamang sa ngayon, susundan ang mga switch. Kailangan kong maghintay nang kaunti upang makuha ang aking heat-shrinking tubing (FR / DE). Dapat mas maging matatag din ako. Pasensya na sa lumabo

Ang asul, dilaw at berde na mga kable sa kaliwa ay para sa mga magnetic switch.

  • Blue ang GND
  • Dilaw at berde ang mga pin 18 (bukas na estado) at 27 (saradong estado).

Hakbang 4: Hardware - Beta

Hardware - Beta
Hardware - Beta
Hardware - Beta
Hardware - Beta
Hardware - Beta
Hardware - Beta

Pagsubok kama

Ito ay isang direktang karton na may mga kurbatang zip. Ang LCD at relay ay naka-bundle din. Ang LCD ay 20x4 (20 chars para sa mga hilera, 4 na linya) (FR / DE) na higit sa I²C.

Ang unang 2 linya ay nagpapakita ng maligayang pagdating at petsa / oras. Huling 2 linya ng ikot sa pagitan ng mga estado ng pin at estado ng network (eth0 / wan0 IPs). Ang linya ng estado ng pinto ay isang magandang GFX na sasabihin:

  • | | ay bukas
  • | - | ay tumatakbo
  • |. | ay sarado

Mga eskematiko ng fritzing

Fritzing eskematiko na may 20x4 I2C LCD, bukas / isara ang mga switch at relay. Ang tanging karagdagan ay ang I2C LCD screen. Mas ginusto ko yun kesa sa 18x2 na meron ako.

Live na sistema

Ang beta HW ay "antas ng produksyon" ngayon dahil umaangkop ito nang maayos sa isang lumang kahon ng turnilyo. Iningatan ko ang isang separator upang mag-host ng relay at misc cables habang ang RPi ay nakatayo sa mas mababang antas. Maaari mong mapansin ang Synology NAS (FR / DE) sa kanang bahagi, ginagamit ito upang direktang i-power ang RPi. Sa pamamagitan ng gabi sa modem, switch at NAS.

Malapit na pagtingin sa mga kahon ng turnilyo, ipinapakita ng LCD ang estado ng pinto at ang Open / Close / Relay na pinout.

Sa pamamagitan ng gabi, panloob na pagtingin mula sa itaas.

Hakbang 5: Source Code at Mga Ress Source

Mahahanap mo ang lahat ng mga mapagkukunan sa repositoryang GitHub na ito:

github.com/amayii0/GarageOpenerR1

Inirerekumendang: