Talaan ng mga Nilalaman:

Magbukas ng Pinto ng Raspberry Pi Garage: 5 Hakbang
Magbukas ng Pinto ng Raspberry Pi Garage: 5 Hakbang

Video: Magbukas ng Pinto ng Raspberry Pi Garage: 5 Hakbang

Video: Magbukas ng Pinto ng Raspberry Pi Garage: 5 Hakbang
Video: GATE OPENING DRIVE from a conventional tube and a wiper motor! 2024, Nobyembre
Anonim
Raspberry Pi Garage Door Opener
Raspberry Pi Garage Door Opener

Ang aming Labinlimang taong gulang na keypad na nagbibigay-daan sa amin upang buksan ang pintuan ng garahe ay unti-unting namamatay, na may maraming mga pindutan na bahagyang nakarehistro, na ginagawang mahirap para sa aming mga tinedyer (o dogsitter) na makapasok sa bahay kapag nakalimutan nila ang kanilang susi.

Sa halip na palitan ito, at tumalon sa mga hoops ng muling pagprogram nito, nagpasya akong pumunta ng medyo mas mataas na tech at palitan ito ng isang bagay na nangangailangan lamang ng pag-access sa aming wifi at isang telepono na gagamitin.

Gumamit ako ng isang Pi Zero Wireless at isang 2-channel relay na naiwan ko mula sa isa pang proyekto, na nagpapahintulot sa akin na kontrolin ang parehong pinto at ang mga ilaw na itinayo sa nagbukas ng pintuan ng garahe. Dahil mayroon akong isang luma / ekstrang USB camera na naglalagay sa paligid ng pangangalap ng alikabok, ginamit ko iyon sa halip na isang PiCam, ngunit iyon ay sa kaginhawaan lamang. Ito ay gagana nang maayos sa anumang sinusuportahang camera - walang espesyal sa akin, tanging sinuportahan ito ng Raspbian.

Hindi tulad ng ilang iba pang mga katulad na proyekto, sinubukan kong panatilihin itong kasing simple hangga't maaari, gamit ang "standard" na mga package ng software na medyo madaling bumangon at tumakbo kung susundin mo ang mga tagubilin. Ipinapakita ng larawang ito ang aking pangwakas (hindi maganda, ngunit garahe ko) na pag-install, kasama ang Pi, ang Relay Module, at USB Webcam na nakaturo sa pintuan. Walang tiyak na dahilan para sa paggamit ng Pi Zero - gagawin ng anumang Pi, hangga't maaari mo itong makakonekta sa iyong panloob na network, at ginagawang madali iyon ng wifi.

Hakbang 1: Kumokonekta sa Umiiral na Control Panel

Kumokonekta sa Umiiral na Control Panel
Kumokonekta sa Umiiral na Control Panel

Una, ANG IYONG BAKA MAGING IBA! Ang minahan ay may isang solong pares ng mga wire na papunta sa magbukas ng pintuan ng garahe hanggang sa control panel sa dingding. Dahil mayroon lamang dalawang mga wire, na tila may tungkol sa 18volts kapag nasubukan, medyo nalito ako noong una tungkol sa kung paano eksaktong makontrol ng bagay na ito ang maraming mga pag-andar. Sa palagay ko ang bawat sandali na pindutan ay kumpleto lamang sa circuit, ngunit may iba't ibang antas ng paglaban. Pagkatapos ay mabasa ng pangunahing yunit ang paglaban sa pamamagitan ng iba't ibang mga patak ng boltahe at maisagawa ang tamang pagkilos. Gayunpaman, wala sa mga ito ang mahalaga, maliban kung sinusubukan mong ganap na palitan ang control unit ng Pi. Hindi sigurado kung bakit mo nais na gawin iyon, dahil maganda kung mayroon pa ring pisikal na yunit sa lugar.

AAAAAnnnyway, ang kailangan mo lang gawin ay magtiklop ng iba't ibang mga push button sa pamamagitan ng pagkonekta ng mga panandaliang switch sa PCB sa iyong relay module. Ito ang nag-iisang paghihinang na dapat kong gawin, at ang mga pad sa PCB ay medyo malaki, kaya't medyo simple ito. Iwanan ang mga wires na ito na mahaba para sa ngayon, dahil mas madali itong paikliin ang isang kawad kaysa pahabain ito sa paglaon, maliban kung mayroon kang isang ACME wire stretcher na nakalatag, ngunit ang mga iyon ay bihirang.

Hakbang 2: Pag-kable ng Up ng Relay Board

Pag-kable ng Up ng Relay Board
Pag-kable ng Up ng Relay Board
Pag-kable ng Up ng Relay Board
Pag-kable ng Up ng Relay Board

Hindi masyadong maraming sasabihin dito, ikonekta lamang ang lahat tulad ng sa mga larawan. Sa module ng Sainsmart 2-relay, ang mga pin ng JC-VCC at VCC ay kailangang jumpered magkasama, maliban kung nais mong gumamit ng isang ganap na magkakahiwalay na supply ng kuryente para sa kanila, ngunit para sa paggamit na ito, labis na labis ang paggamit nito. Ikonekta ang GND sa isang Pi GND pin, VCC sa isang 5v pin, at ang IN1 at IN2 sa anumang mga GPIO pin na nais mong gamitin. Dahil gagamitin mo lang ang mga ito bilang mga HINDI / Mababang pag-toggle, talagang hindi alintana kung alin.

Hakbang 3: Pag-install ng Software

Pag-install ng Software
Pag-install ng Software

Marahil ito ang pinakamahabang oras na hakbang, dahil manonood ka ng mga bagay na nai-download at na-install nang ilang sandali. Manood ng youtube o anumang bagay habang naka-install ang ilan sa mga bagay na ito.

Hindi ko ipaliwanag kung paano i-install ang Raspbian. Kung hindi mo pa alam kung paano gawin iyon, baka mag-google muna sa ilang uri ng mga tutorial na "hello world". Sa anumang kaso, marahil pinakamahusay na gumamit ng isang sariwang pag-install ng Raspbian Lite. Hindi na kailangan para sa isang gui para sa proyektong ito, at ito ay labis na overhead lamang. Maaari kang lakarin ng raspberrypi.org sa prosesong iyon.

Paganahin ang SSH, at (kung nais mo) alinman sa pag-configure ng isang static IP para sa iyong Pi (muli, maraming mga tutorial doon kung paano gawin iyon, na isinulat ng mas mahusay na mga may-akda kaysa sa aking sarili) o kahit na mas mahusay, i-configure ang iyong router / DHCP server upang magtalaga ng isang static IP sa iyong Pi.

Kung nais mo ng maganda, madaling mai-install at magamit ang serbisyo sa video, pumunta at i-install ang MotionEye. Marahil ay labis na labis nito, ngunit ito ay isa sa mga pag-install na "gumagana lamang" sa bawat oras, at mayroon itong magandang madaling gamitin na web interface. Suriin ito dito:

github.com/ccrisan/motioneye/wiki/Install-… Sundin ang mga tagubiling ito gamit ang sudo bago ang bawat utos, at magkakaroon ka ng isang magandang streamer ng video. Hindi eksaktong hinihiling na magkaroon ng isang stream ng video kung ang pinapahalagahan mo lamang ay ang pagbubukas ng iyong pintuan nang makita mo ito, ngunit masarap magkaroon ng puna.

Kapag na-install mo na ang Motioneye, bisitahin ang https:// YourIPAddress: 8765 at mag-login gamit ang username na "admin" at isang blangkong password. Marahil ay kakailanganin mong magdagdag ng isang camera, na dapat, muli, "gumana lang" at lampas sa saklaw ng mga tagubiling ito.

Habang naka-log in ka bilang admin, i-click ang toggle na "Advanced na Mga Setting", pagkatapos ay itakda ang iyong mga pagpipilian sa video - Gumamit ako ng 320x240 para sa aking video dahil mas mahalaga ako sa mas mabilis na mga pag-update kaysa sa tungkol sa kalidad, dahil talagang nais ko lamang itong makita bukas ang pinto o hindi, at hindi na kailangang basahin ang mga numero ng mailbox sa kalye.

Sa ilalim ng lugar ng mga setting ng "Video Streaming", i-click ang link na "Streaming URL", at gumawa ng tala ng address na ipinakita nito sa iyo. Kakailanganin mo ito sa paglaon kung plano mong i-set up ang Interface sa parehong paraan na ginawa ko.

Mayroong maraming mga paraan upang makontrol ang iyong mga GPIO pin. Para sa proyektong ito, ginamit ko ang WiringPi, upang mai-install ito, gamitin ang mga tagubilin sa website:

wiringpi.com/download-and-install/

O ilabas lamang ang mga sumusunod na utos sa iyong Pi:

wget https://lion.drogon.net/wiringpi-2.50-1.debsudo dpkg -i wiringpi-2.50-1.deb gpio -v gpio readall

Ito ay dapat magbigay sa iyo ng isang listahan ng kung ano ang nangyayari sa iyong mga GPIO pin.

Kung gumagamit ka ng mga pin 4 at 17 (sa BCM numbering scheme), maaari mong subukan ang iyong mga koneksyon sa mga sumusunod na utos. Tandaan na ang pagtatakda ng pin na LOW ay magpapagana ng mga relay kung gagamitin ang module ng Sainsmart na ito. Maaaring iba ang iyo, at kakailanganin mong ayusin para doon. Kapag nagpapatakbo ng mga utos na ito, dapat mong marinig ang mga relay na mag-click sa lugar, at dapat na mag-ilaw ang (mga) LED.

gpio -g mode 17 out

gpio -g sumulat 17 0 gpio -g sumulat 1 1 gpio -g mode 4 out gpio -g sumulat 4 0 gpio -g sumulat 4 1

OK, ngayon maaari na tayong magpatuloy sa paggawa ng UI.

Hakbang 4: Paggawa ng Interface

Paggawa ng Interface
Paggawa ng Interface

Gumamit ako ng apache at PHP. Maganda at simple, walang masyadong magarbong. Muli, mas mahusay na ipinaliwanag sa ibang lugar, kaya sundin lamang ang mga tagubiling matatagpuan dito:

www.raspberrypi.org/documentation/remote-a…

Ang "ugat" ng iyong webserver, bilang default, ay nasa / var / www / html / na may isang default index.html na magbibigay sa iyo ng impormasyon tungkol sa iyong webserver. Papalitan mo ang index.html na iyon, upang maaari mo itong burahin o palitan ng pangalan ito sa ibang bagay tulad ng index.copy. Ginawa ko rin ang gumagamit na "pi" na may-ari ng direktoryo ng html, upang maging tamad tungkol sa mga pahintulot. Sa wakas, lumikha ako ng isang direktoryo upang maiimbak ang aking mga imahe, kung saan mayroong dalawa. Ang isa sa hangal lamang na puna na ang isang pindutan ay pinindot, at isa pa na maaaring magamit para sa isang icon sa isang home screen ng telepono.

pi @ garagedoor: ~ $ cd / var / www / html /

pi @ garagedoor: / var / www / html $ sudo chown pi.pi @ garagedoor: / var / www / html $ mv index.html index.copy pi @ garagedoor: / var / www / html $ mkdir na mga imahe

Mayroong isang walang katapusang bilang ng mga paraan upang lumikha ng isang website, ngunit pinili ko itong panatilihing simple at madali hangga't maaari batay sa AKING kasanayan. Samakatuwid, PHP, dahil alam ko ito. Kung ikaw ay isang gurong sawa o ibang wika ng scripting, huwag mag-atubiling gamitin iyon.

Lumikha ako ng isang "lalagyan" na pahina ng index.html na aktwal na mayroong dalawang iframes na ginagawa ang lahat ng gawain. Naglalaman ang isa sa mga iframes ng mga pindutan / link na talagang nagpapalitaw ng mga relay sa pamamagitan ng GPIO, at isa pang iframe na nagpapakita ng video. Naglalaman din ito ng mga link sa isang imahe na-p.webp

Ang index.html iframe na naglalaman ng mga pindutan ay may mga file button.html bilang nilalaman nito. (nakakatawa kung paano ito gumagana, ha?) Parehong ng mga link sa button.html humahantong sa action.php na may natatanging GET variable na halaga. Batay sa ipinasa na halaga, ang action.php ay maaaring mag-trigger ng pinto o ang light button. Maaari mong makuha ang HTML at PHP code mula sa aking github:

Ilagay ang lahat ng HTML at PHP sa direktoryo ng ugat (/ var / www / html /), i-update ang code kung saan kinakailangan sa pangalan ng imahe na maaaring ginagamit mo para sa kumpirmasyon ng pindutan-pindutin, at ang address ng iyong video stream. Tandaan mo nang sinabi ko sa iyo na kakailanganin mo iyan, pabalik sa nakaraang hakbang?

Hakbang 5: Subukan Ito

OK, ngayong mayroon kang lahat na naka-wire at na-install, lahat ng ito ay ganap na gumagana sa unang pagsubok, tama ba? Ang sweet!

Inirerekumendang: