Talaan ng mga Nilalaman:
- Hakbang 1: Ipunin ang Mga Bahagi
- Hakbang 2: I-setup ang Raspberry Pi Nang Walang Monitor o Keyboard
- Hakbang 3: I-install ang Mga Kable Pi, Apache at PHP
- Hakbang 4: Website
- Hakbang 5: Imahe sa Website
- Hakbang 6: Malayuan Kontrolin ang Webserver
- Hakbang 7: I-wire ang Circuit sa Raspberry Pi
- Hakbang 8: Lumikha ng isang Serbisyo sa Pagsisimula
- Hakbang 9: Ikabit ang Raspberry Pi sa Garage
- Hakbang 10: Ikabit ang Raspberry Pi sa SECO-LARM
- Hakbang 11: Magpadala ng Alerto Kung Bukas ang Pinto Kung Dapat Ito Isara
- Hakbang 12: Ilagay ang Raspberry Pi sa Lihim na Aklat
- Hakbang 13: Apendiks: Mga Sanggunian
- Hakbang 14: Apendiks: Mga Update
- Hakbang 15: Appendix: Pag-troubleshoot
Video: Raspberry Pi 3 Garage Door Opener: 15 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Nilikha ko ito ng itinuturo noong 2014. Maraming nagbago mula noon. Noong 2021, na-update ko ang Smart Garage Door Opener dito.
Gumamit ng isang Raspberry Pi at isang smartphone upang buksan, isara at subaybayan ang isang pintuan ng garahe. Ang pagbubukas at pagsasara ng pinto ay nasiguro sa pamamagitan ng paggamit ng mga sertipiko na naka-sign ng sarili na naka-install sa mga mobile phone ng pamilya. Kung ang pintuan ng garahe ay bukas kung hindi ito dapat, pagkatapos ay magpadala ng isang text message (SMS) sa isang cell phone.
Ang pintuan ng garahe ay patuloy na ginagamit mula noong huling bahagi ng 2014. Sa paglipas ng mga taon, sinubukan kong panatilihing na-update ang mga pagbabago. Mayroong isang apendiks na naglalarawan sa mga pagbabago sa itinuro.
Ang mga layunin ng proyektong ito ay upang:
- Gawin ang aking unang itinuturo - Hindi ko plano na i-post ito, ngunit nakatanggap ako ng maraming mga kahilingan
- Magbukas ng isang pintuan ng garahe na may isang karaniwang remote
- Magbukas ng isang pintuan ng garahe na may nakabukas na dingding na nagbukas ng doorbell
- Magbukas ng pintuan ng garahe gamit ang isang SmartPhone
- Subaybayan ang katayuan ng pintuan ng garahe nang malayuan sa pamamagitan ng isang cell phone o laptop (bukas ba ito o sarado?)
- Magpadala ng isang text message sa aking cell phone kung bukas ang pinto kung kailan dapat itong sarado
- Panatilihing ligtas ang pintuan ng garahe (hal., Sa pagkawala ng kuryente, hindi dapat buksan ang pinto)
- Huwag payagan ang sinumang iba pa sa net na buksan ang pinto (dalawang daan na naka-sign na SSL certificate)
- Gumamit ng WiFi sa halip na isang wired na koneksyon
- Gumamit ng isang Raspberry Pi 3
Ang batayan para sa pagpapatupad ng Garage Door Opener na ito ay nagmula sa Instructable: Raspberry Pi Garage Door Opener ng quartarian. Orihinal, gumamit ako ng isang modelo ng B + Raspberry Pi, pagkatapos ay lumipat sa isang modelo ng Raspberry Pi 2 na B, at ngayon ay gumagamit na ito ng isang Raspberry Pi 3.
Gumamit ako ng isang MacBook upang makipag-usap sa Raspberry Pi, ngunit ang anumang computer ay maaaring magamit.
Walang nakakahimok na dahilan upang maitayo ang aparatong ito, ngunit masaya ito. Mas epektibo ang pagbili ng isa. Ang isang katulad na aparato ay maaaring mabili ng halos $ 130 USD.
- Angat ng master 828LM
- Chamberlain MyQ $ 129
- GoGo Gate $ 179
- Craftman $ 100
Mga Tala:
- Ang teksto na nakapaloob sa mga spades, tulad nito ♣ palitan-ito ♣ ay dapat mapalitan ng isang aktwal na halaga
- Ang Arduino na may salungguhit na asul na teksto ay isang link. Sa kasong ito, ito ay isang link sa isang bersyon ng arduino ng isang nagbukas ng pintuan ng garahe.
- Sinubukan kong kredito ang bawat ginamit na mapagkukunan. Humihingi ako ng paumanhin para sa anumang mga pagkukulang. Karamihan sa dokumentong ito ay batay sa gawain ng ibang tao.
- Ipinapahiwatig ng $ isang utos na naisakatuparan sa isang window ng terminal sa MacBook at kadalasang isinasagawa sa Raspberry Pi
Hakbang 1: Ipunin ang Mga Bahagi
Bumili o magtipon ng mga bahagi at tool (presyo sa USD).
- Raspberry Pi 3 Model B Newark Element14 $ 35
- 5.2V 2.5A USB Power Adapter mula sa Amazon $ 9.99
- Micro USB sa USB cable 6ft mula sa Amazon na $ 7.99
- Kaso mula sa Amazon na $ 6.99
- SanDisk Ultra 16 GB microSDHC Class 10 na may Adapter (SDSQUAN-016G-G4A) mula sa Amazon $ 8.99
- SunFounder 2 Channel 5V Relay Shield Module para sa Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $ 6.79
- 3x Mga Wire ng Jumper ng Babae-Babae. Bumili sa Fry ng $ 4.95.
- Dynamic na DNS $ 40 bawat taon para sa 30 mga pangalan (dyn.com)
- 1-Gang 18 cu. sa. Old Work Heavy Wall Switch at Outlet Box, $ 3.12
- Ultra Pro Single Brush White Wall Plate, $ 7.88
- SECO-LARM SM 226L, Garage Door Sensor, malawak na nag-iiba ang presyo, $ 9.99 sa Amazon na may libreng pagpapadala
- 50ft ng Solid thermostat wire, Home Depot o Lowe's, ~ $ 20
Ang Aking Kabuuan: ~ $ 172.00
Mayroon akong mga sumusunod na bahagi, tool at serbisyo:
- CAT5 Ethernet cable
- Maliit na gauge wire, 6 ft ang haba
- Phillips head screwdriver
- Mga karayom sa ilong
- Mga pamutol ng kahon
- Jewelers flathead screw driver, kinakailangan upang paluwagin ang mga turnilyo sa relay
- MacBook (maaaring magamit ang isang PC)
- AT&T GigaPower (maaaring magamit ang anumang tagapagbigay ng serbisyo sa internet)
Hakbang 2: I-setup ang Raspberry Pi Nang Walang Monitor o Keyboard
Ang lahat ng mga proyekto ng Raspberry Pi ay nangangailangan ng ilang uri ng pag-setup. Gusto kong gumamit ng parehong hanay ng mga tagubilin at, kung kinakailangan, magkaroon ng isang lugar upang mai-update ang mga tagubiling iyon.
I-setup ang Raspberry Pi gamit ang sumusunod na maituturo:
I-setup ang Raspberry Pi nang walang Monitor o Keyboard
Ang itinuturo sa itaas ay may kasamang mga opsyonal na hakbang sa apendiks. Siguraduhing gawin ang hakbang:
Magdagdag ng mga client-side certs sa mga web server
Patayin ang Raspberry Pi
$ sudo shutdown -h 0
Kapag na-shutdown, alisin
- ethernet cable
- Serial serial USB
Hindi na ito kakailanganin. Gumamit ng wifi, ssh at isang window ng terminal sa Mac Book upang magpatakbo ng mga utos sa Raspberry Pi.
I-unplug muli ang lakas at i-plug ang lakas, at dapat i-reboot ang raspberry pi.
Hakbang 3: I-install ang Mga Kable Pi, Apache at PHP
I-install ang Mga Kable Pi
Magbukas ng isang window ng terminal sa Mac Book. Mag-login sa Raspberry Pi, pagkatapos ay mag-download, mag-compile, at mag-install ng Wiring Pi. Pinapayagan ng software na ito ang kontrol ng mga GPIO pin. Narito ang isang sunud-sunod na gabay:
wiringpi.com/download-and-install/
Narito ang isang condensadong bersyon ng mga tagubilin:
$ ssh pi @ ♣ raspberry-pi-ip ♣
password: ♣ password ♣ $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd wiringPi $ git pull origin $./ build
Patakbuhin ang utos ng gpio upang suriin ang pag-install:
$ gpio -v
bersyon ng gpio: 2.29 Copyright (c) 2012-2015 Gordon Henderson Ito ay libreng software na Ganap na WARRANTY. Para sa mga detalye ng uri: gpio -warranty Mga Detalye ng Raspberry Pi: Uri: Model 2, Pagbabago: 1.1, Memory: 1024MB, Maker: Sony [OV] Pinapagana ang puno ng aparato. Sinusuportahan ng Raspberry Pi na ito ang pag-access sa antas ng gumagamit ng GPIO. -> Tingnan ang pahina ng tao para sa karagdagang detalye $ gpio readall + ----- + ----- + --------- + ------ + --- + --- Pi 2 --- + --- + ------ + --------- + ----- + ----- + | BCM | wPi | Pangalan | Mode | V | Pisikal | V | Mode | Pangalan | wPi | BCM | + ----- + ----- + --------- + ------ + --- + ---- ++ ---- + --- + - ----- + --------- + ----- + ----- + | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | SA | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | SA | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | OUT | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | SA | 0 | 11 || 12 | 0 | SA | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | SA | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | SA | 0 | 15 || 16 | 1 | SA | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | SA | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | SA | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | SA | 0 | 21 || 22 | 0 | SA | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | SA | 0 | 23 || 24 | 1 | SA | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | SA | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | SA | 1 | 27 || 28 | 1 | SA | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | SA | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | SA | 1 | 31 || 32 | 0 | SA | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | SA | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | SA | 0 | 35 || 36 | 0 | SA | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | SA | 0 | 37 || 38 | 0 | SA | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | SA | GPIO.29 | 29 | 21 | + ----- + ----- + --------- + ------ + --- + ---- ++ ---- + --- + - ----- + --------- + ----- + ----- + | BCM | wPi | Pangalan | Mode | V | Pisikal | V | Mode | Pangalan | wPi | BCM | + ----- + ----- + --------- + ------ + --- + --- Pi 2 --- + --- + --- --- + --------- + ----- + ----- +
Ang mga utos sa itaas ay dapat magbigay sa iyo ng ilang kumpiyansa na ang wiringPi ay gumagana OK.
I-install ang Apache at PHP
Patakbuhin ang mga sumusunod na utos:
$ cd..
$ sudo apt-get update $ sudo apt-get install apache2 php5 libapache2-mod-php5
Upang ma-verify na gumagana ang web server, buksan ang isang browser, at sa kahon ng URL ipasok ang:
♣ raspberry-pi-ip ♣
Ang default na website ng Apache ay tumutugon sa "Gumagana ito!"
Hakbang 4: Website
Magbukas ng isang window ng terminal sa Mac Book. Mag-login sa Raspberry Pi, pagkatapos alisin ang default index.html file, baguhin ang mga pahintulot sa direktoryo ng website, at i-edit ang isang file na tinatawag na index.php.
$ ssh pi @ ♣ raspberry-pi-ip ♣
password: ♣ password ♣ $ sudo rm /var/www/index.html $ sudo chown pi: root / var / www $ sudo nano /var/www/index.php
At ipasok ang sumusunod na code:
Tagabukas ng garahe
Pag-aautomat sa Bahay |
---|
Tagabukas ng Pinto ng garahe | Manwal ng Magbukas ng Pinto ng garahe | sarado 1 | buksan ang 0 |
CTRL-o at ENTER upang isulat ang file, at CTRL-x upang lumabas sa editor.
Baguhin ang mga pahintulot sa file
$ sudo chmod 664 /var/www/index.php
Hakbang 5: Imahe sa Website
Kunin ang isang mataas na resolusyon ng pintuan ng remote na garahe mula sa web. Baguhin ang imahe ayon sa nais mong paggamit ng Mac paintbrush. Sa imahe sa itaas, ginamit ang isang mataas na resolusyon ng Genie Garage Opener, idinagdag ang isang logo ng raspberry pi at tinanggal ang led.
Ang isang imahe ay ang background (remote-background.jpg), at ang isa pa ay ang aktibong imahe (remote-press.jpg).
Ang plano ay ang sa pindot ng itulak, sa halip na kumurap ng humantong, ang raspberry ay kumurap. Pinasimple ko ang website.
Kopyahin ang mga imahe sa raspberry pi:
$ scp *-j.webp
password: ♣ password ♣
Ang web site ay may isang solong pindutan ng push. Upang ma-verify, buksan ang isang browser at ipasok ang ♣ raspberry-pi-ip ♣. Sa halip na default na website ng Apache, na nagsasabing "Gumagana ito!", Dapat lumitaw ang pindutan. Pindutin ito.
Hakbang 6: Malayuan Kontrolin ang Webserver
Upang gawing madali ang pag-access sa Garage Door Opener mula sa isang malayuang lokasyon, gumagamit ako ng isang dynamic na DNS name. Dahil ayoko ng naaalala ang mga IP address.
Sa tampok na ito, inilalagay ko ang ♣ Dynamic-hostname ♣.getmyip.com sa patlang ng URL ng isang browser. Tandaan: Ang IP sa mga router ng bahay ay maaaring magbago nang walang abiso, ngunit bihirang mangyari ito. Pinili kong gamitin ang DynDNS. Kakailanganin mong malaman ang pampublikong IP address ng iyong router.
U-Verse Router IP: ♣ uverse-public-ip ♣
Maaari mong tingnan ang mga detalye ng iyong hostname at DynDNS Pro account. Narito ang ilang mga tip upang makapagsimula:
-
Lumikha ng iyong Dynamic na DNS hostname (1 ng 30):
- ♣ Dynamic-hostname ♣
- Updater Key: ♣ dynamic-ip-updater-key ♣
-
Mag-install ng isang update client upang matiyak na ang iyong hostname ay laging nakaturo sa tamang IP address.
- Mag-download at mag-install sa MacBook
- Ang mga AT&T na U-talata na mga IP ay bihirang magbago, kaya't ang taga-update sa itaas ay maaaring patakbuhin tuwing magbabago ito
-
Sundin ang mga direksyon:
- Magdagdag ng account
- Ipasok ang username at password: ♣ Dynamic-ip-username ♣ ♣ Dynamic-ip-password ♣
- Piliin ang hostname
- I-click ang I-configure ang Mga Napiling Host
- Dapat maging aktibo ang host
-
I-configure ang iyong network upang payagan ang pag-access sa iyong aparato mula sa Internet. Maaari mong gamitin ang aming Dyn Wizard para sa ilang mga pangkalahatang tagubilin sa kung paano ito gawin, gumamit ng mga mapagkukunan tulad ng PortForward.com, o makipag-ugnay sa tagagawa ng aparato para sa tulong.
- AT&T U-talata
- Pagpasa ng Port para sa 2-Wire 3801HGV - ito ang AT&T U-Verse router na mayroon ako. Tingnan ang Mga Update sa isang Appendix para sa kung paano magpatuloy sa AT&T U-talata 5268ac router.
- Buksan ang browser at pumunta sa ♣ raspberry-pi-ip ♣
- Password: ♣ password ♣
- Mga setting
-
Firewall
- Piliin ang ♣ raspberry-pi-hostname ♣
-
Mga server
- Port ng Web Server 80
- HTTPS Server - port 443
- Idagdag pa
- Magtipid
Kapag tapos na ito, gagana ang webserver mula sa internet. Upang ma-verify, ipasok ang ♣ Dynamic-hostname ♣ at dapat mong makita ang pindutan ng nagbukas ng pinto ng garahe.
Hakbang 7: I-wire ang Circuit sa Raspberry Pi
Para sa ibinigay na code (hakbang 4 at 6), ginamit ko ang GPIO pin 7. Nagkataon na ang GPIO 7 ay kapareho ng mga wiringPi pin 7. Sa PHP code, ang mga numero ng mga kable na Pi pin ay ginagamit at HINDI mga numero ng GPIO pin. Maaari mong gamitin ang alinman sa gusto mo, ngunit tiyaking baguhin ang code.
Sinubukan kong gumamit ng baluktot na kawad, ngunit ang relay ay hindi nakahawak nang mabuti sa baluktot na kawad. Mas mahusay ang solid wire.
Sa aking unang pagtatangka, gumawa ako ng tatlong magkakaugnay na mga kable (babae-sa-lalaki).
- Gumamit ng tatlong babae hanggang babae na jumper cables
-
Gupitin ang tatlong piraso ng solidong kawad sa halos 1in.
Guhitin ang 1 / 4in sa magkabilang dulo ng solidong kawad
- Ipasok ang isang solidong kawad sa isang babaeng jumper cable.
Narito ang isang mas mahusay na paraan upang lumikha ng mga nag-uugnay na mga kable (babae-sa-lalaki):
- Gumamit lamang ng solidong kawad
- Gupitin ang tatlong 4in na piraso ng solidong kawad
- Guhitin ang 1 / 4in sa magkabilang dulo ng solidong kawad
-
Gumamit ng mga babaeng pin na nag-uugnay
-
I-slide ang isang babaeng nag-uugnay na pin sa isang dulo ng solidong kawad at crimp
Ang babaeng pin ay hindi dapat maluwag, maghinang kung kinakailangan
- I-slide ang pagkaginhawa ng pilit sa babaeng nag-uugnay na pin o cover pin na may tape ng elektrisista
-
I-wire ang relay sa pi tulad ng ipinakita sa diagram:
- Ikonekta ang babaeng dulo ng cable sa Raspberry Pi pin.
- Ipasok ang solidong kawad sa Relay.
Hakbang 8: Lumikha ng isang Serbisyo sa Pagsisimula
Karamihan sa mga relay kasama ang binili, nagpapatakbo ng tulad nito:
- Kapag ang signal ay NASA circuit ay mananatiling off.
- Kapag ang signal ay naka-OFF pagkatapos ang circuit ay nakabukas.
Kung ang Raspberry Pi ay nawalan ng lakas, ang relay ay may isang mekanismo sa kaligtasan na pinapanatili ang circuit OFF.
Maaaring maganap ang isang problema kapag ang Rapberry Pi at relay ay nakakuha ng kuryente na naibalik, ngunit bago matapos ang pag-boot ng Raspberry Pi upang i-ON ang signal na kailangang panatilihin ang circuit. Maaari kang magising sa umaga na bukas ang iyong garahe at potensyal ng ilang mga bagong kaibigan!
Gayunpaman, ang relay ay hindi talaga nagsisimula hanggang ang GPIO pin mode ay itinakda sa pamamagitan ng utos na ito: gpio mode 7 out. Bukod dito, kung ang GPIO ay naka-pin sa ON (gpio isulat ang 7 1) bago mo itakda ang mode na GPIO, ang relay ay mananatili sa sandaling na-initialize na.
Upang mapatakbo ang pagsasimulang ito sa boot at huwag magising sa mga bagong kaibigan, gamitin ang sumusunod na script ng pagsisimula.
$ ssh pi @ ♣ raspberry-pi-ip ♣
$ sudo nano /etc/init.d/garagerelay
Pagkatapos i-paste ang script na ito:
#! / basahan / bash
# /etc/init.d/garagerelay # Magpatupad ng mga partikular na pag-andar kapag tinanong ng system case na "$ 1" sa pagsisimula) echo "Start Relay" # I-on ang 7 na nagpapanatili ng relay / usr / local / bin / gpio isulat ang 7 1 #Start Gpio / usr / local / bin / gpio mode 7 out;; itigil) echo "Pagtigil sa gpio";; *) echo "Usage: /etc/init.d/garagerelay {start | stop}" exit 1;; exit esac 0
Upang mai-save: CTRL-o, ENTER
Upang lumabas sa nano, CTRL-x
Gawing maipapatupad ang file:
$ sudo chmod + x /etc/init.d/garagerelay
Ngayon sabihin sa iyong pi na patakbuhin ang script na ito sa boot:
$ sudo update-rc.d -f garagerelay start 4
(Tandaan: Maaari mong ligtas na balewalain ang babalang "nawawalang mga LSB tag.")
Tiyaking tumatakbo ang script ng startup
$ sudo reboot
Magbukas ng isang browser at mag-click sa opener. Dapat mag-click ang relay.
Hakbang 9: Ikabit ang Raspberry Pi sa Garage
Kapag inililipat ang Raspberry Pi, tiyaking tumakbo:
$ shutdown -h 0
Maaaring gusto mong patayin ang kuryente sa garahe. Kaya, hindi ka kinukuryente ng nagbukas ng doorbell:). Ang totoong dahilan ay sa bawat oras na maikliit mo ang mga wire, ang pintuan ay paakyat at baba.
Alisin ang mga tornilyo sa dingding mula sa nagbukas ng uri ng doorbell, na nakakabit sa doorbell sa dingding.
Maglagay ng butas mula sa garahe sa likod ng nagbukas ng doorbell hanggang sa loob ng bahay. Sa Texas, ang Raspberry Pi ay hindi dapat nasa garahe, ang pagkakaiba-iba ng temperatura sa garahe ay nasa tabi ng mga pagtutukoy ng pagpapatakbo ng Raspberry Pi.
Patakbuhin ang mga relay wire sa butas (gumamit ng isang hanger ng amerikana).
Paluwagin ang parehong mga turnilyo sa likuran ng nagbukas ng doorbell.
Huhubad ang magkabilang dulo ng mga wire ng relay: 1) mga 1/8 "pulgada ng panig ng relay, at halos ½" pulgada sa gilid ng doorbell. Bend ang gilid ng doorbell ng kawad sa isang kalahating loop na sapat na malaki upang magkasya sa paligid ng backside screw.
Ikonekta ang isang relay wire sa bawat tornilyo sa likuran ng doorbell, at higpitan ang tornilyo. Ang mga koneksyon ay tulad ng ipinapakita sa imahe. Dahil ihiwalay ng relay ang circuit, ang direksyon ay hindi mahalaga kung aling relay ang nakakabit sa aling turnilyo.
Hakbang 10: Ikabit ang Raspberry Pi sa SECO-LARM
Bago ko natapos ang code, nagbakasyon kami ng aking pamilya at binuksan ko ang aking browser. Ang huling pagtingin ng aking browser ay ang nagbukas ng pintuan ng garahe - ang pahina ay na-refresh at ang pintuan ng garahe ay binuksan. Makalipas ang ilang araw ay tumawag ang isang kapit-bahay at tinanong kung dapat buksan ang pintuan ng garahe? Sa kabutihang palad, naisasara ko ito mula sa 500 milya ang layo.
Pinilit ako ng snafu na baguhin ang code upang hindi ito mangyari, at magdagdag ng isang sensor at ang estado ng pintuan ng garahe sa website.
Ito ay isang link sa orihinal na itinuturo para sa pagdaragdag ng isang sensor. Gayunpaman, naibigay ang lahat ng bagay na nakumpleto, ang pag-install ng sensor ay maaaring gawing simple at sa halip na gumamit ng sawa ay magdagdag ng isang pares ng mga linya ng code sa index.php.
closedAng magnet ay nakakabit sa kaliwang kamay, tuktok na panloob na bahagi ng pintuan ng garahe, at ang sensor ay nakakabit sa dingding ng garahe. Kaya, kailangan kong patakbuhin ang solidong termostat wire mula sa sensor pabalik sa raspberry pi. Kinakailangan nito ang isang butas mula sa garahe papunta sa attic at mula sa attic sa pader na naglalaman ng opener ng pinto ng garahe (switch ng doorbell).
Nagpasok ako ng isang asul na kahon ng kantong sa pagitan ng SECO-LARM sensor at mga solidong wire.
Sa aking bahay, mayroong isang 18 pulgada na agwat sa pagitan ng kisame ng unang palapag at sa ilalim ng ikalawang palapag. Ipinapalagay ko na dito tumatakbo ang mga pag-init at paglamig ng mga duct. Kailangan ko ng drill bit extension na sapat na mahaba upang dumaan sa ikalawang palapag at sa tuktok na 2x4 (itaas na plato) na naglalaman ng doorbell.
Ang pinakamahalagang bahagi ay kapag ang pagbabarena mula sa attic papunta sa lugar kung saan tatakbo ang mga wire sa magbukas ng pintuan ng garahe ay HUWAG mag-drill sa pamamagitan ng kuryente. Ang pag-aayos nito ay hindi masaya. Ang pagkakita ng mga spark at ang pagpatay ng mga ilaw ay medyo nakakaganyak!
Nangangailangan ang sensor ng dalawang solidong mga wire ng termostat o hindi nakikita na kawad ng aso ng aso.
Ang Raspberry Pi ay may maraming mga paglalarawan ng pin (BCM, wPi, pisikal). Gumagamit ang code ng mga numero ng mga kable pi pin. Upang makita ang lahat ng mga pin, at ipasok ang mga mapping at halaga ng pin:
$ gpio readall
Para sa isang manwal na gpio, ipasok ang:
$ gpio man
Sa orihinal na mga tagubilin, ang Physical pin 9 ay ground at kumokonekta sa isa sa mga lead ng SECO-LARM. Gayunpaman, hindi ito gagana para sa akin. Sa halip ay ikonekta ang mga lead sa mga pisikal na pin na 15 at 17
Ang pisikal na pin 15 (wPi pin 3) ay papunta sa 3.3V kapag ang sensor ng SECO-LARM ay sarado. Ang Physical pin 17 ay 3.3v. Kung hindi ito gumana pagkatapos ay ilipat ang mga koneksyon sa SECO-LARM.
Ikabit ang SECO-LARM sa garahe ng pinto at dingding. Patakbuhin ang mga wire at kumonekta sa Raspberry Pi.
Hakbang 11: Magpadala ng Alerto Kung Bukas ang Pinto Kung Dapat Ito Isara
Kung ang pintuan ng garahe ay bukas kung hindi ito dapat, pagkatapos ay magpadala ng isang text message sa isang cell phone.
I-install at i-configure ang simpleng SMTP.
Mayroon akong cellular na AT&T at gumagamit ng ♣cell-phone-number♣@txt.att.net para sa mga text message. Mayroon din akong isang gmail account, at ang halimbawa sa ibaba ay gumagamit ng ♣gmail-account♣@gmail.com. Kung gumagamit ka ng iba't ibang mga serbisyo, pagkatapos ay gawin ang mga naaangkop na pagbabago.
Para sa mga $ command sa ibaba, buksan ang isang window ng terminal sa MacBook at mag-login sa iyong Raspberry Pi.
Tiyaking napapanahon ang mga repository:
$ sudo apt-get update
Mag-install ng simpleng mga kagamitan sa SSMTP at mail:
$ sudo apt-get install ssmtp
$ sudo apt-get install mailutils
I-edit ang file ng pagsasaayos ng SSMTP:
$ sudo nano /etc/ssmtp/ssmtp.conf
tulad ng sumusunod:
mailhub = smtp.gmail.com: 587 hostname = ♣ iyong-hostname ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = ♣ gmail-password ♣ UseSTARTTLS = YES
I-edit ang file ng mga alias sa SSMTP:
$ sudo nano / etc / ssmtp / revaliases
Lumikha ng isang linya para sa bawat gumagamit na makakapagpadala ng mga email. Halimbawa:
ugat: ♣gmail-account♣@gmail.com: smtp.gmail.com: 587
Itakda ang mga pahintulot ng file ng pagsasaayos ng SSMTP:
$ sudo chmod 664 /etc/ssmtp/ssmtp.conf
Tinutukoy ng mga pahintulot ng file /etc/ssmtp/ssmtp.conf kung sino ang maaaring magpadala ng mga email mula sa Raspberry Pi. Bilang default ang file na ito ay pagmamay-ari ng ugat ng gumagamit at ang pangkat ng file ay root din.
I-edit ang file ng mga alias na SSMTP, na naglalaman ng data tungkol sa mga email account:
$ sudo nano /etc/ssmtp/ssmtp.conf
Kapag kumpleto na ang proseso ng pag-set up at pagsasaayos, subukan ito sa pamamagitan ng pagpapadala ng isang email mula sa linya ng utos.
$ echo "isara ang pintuan ng garahe" | mail -s "Buksan ang Pinto ng garahe" ♣cell-phone-number♣@txt.att.net
Lumikha ng isang script upang suriin kung ang pintuan ng garahe ay bukas kapag hindi ito dapat, at pagkatapos ay magpadala ng isang text message.
$ sudo nano /usr/local/bin/garage.sh
at idagdag ang sumusunod:
#! / baseng / bash
# suriin kung bukas ang pinto ng garahe. # Kung bukas magpadala ng alerto at sumulat sa syslog up = 0; door = $ (/ home / pi / wiringPi / gpio / gpio read 3) if ["$ door" -eq "$ up"] then logger ♣ your-hostname ♣: Garage Door Open echo "isara ang pintuan ng garahe" | mail -s "Buksan ang Pinto ng garahe" ♣cell-phone-number♣@txt.att.net fi exit 0
Pagkatapos magdagdag ng isang crontab upang tumakbo sa mga kinakailangang oras:
$ sudo crontab –e
at idagdag:
# Sa gabi, suriin bawat oras kung bukas ang pintuan ng garahe
0 22-23 / 1 * * * sudo /usr/local/bin/garage.sh 0 0-5 / 1 * * * sudo /usr/local/bin/garage.sh
Kung ang lahat ay gumagana, pagkatapos ay pumunta sa susunod na hakbang.
Hakbang 12: Ilagay ang Raspberry Pi sa Lihim na Aklat
Ilagay ang raspberry pi sa isang lihim na libro. Nakuha ko ang isang ito kay Michael para sa humigit-kumulang na $ 7. Pinutol ko ang ilang maliliit na butas para sa mga wire at ang kurdon ng kuryente.
Hakbang 13: Apendiks: Mga Sanggunian
SunFounder 2 Channel 5V Relay Shield Module para sa Arduino UNO 2560 1280 ARM PIC AVR STM32
- 5V 2-Channel Relay interface board, at bawat isa ay nangangailangan ng 15-20mA
- Kasalukuyang Driver Na nilagyan ng mataas na kasalukuyang relay, AC250V 10A; DC30V 10A
- Karaniwang interface na maaaring kontrolin nang direkta ng microcontroller (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL lohika)
- Indication LED's para sa Relay output status link upang mai-download ang dokumento:
Hakbang 14: Apendiks: Mga Update
21FEB2016
-
Sa mga orihinal na tagubilin, may mga isyu sa awtomatikong pagwawasto, pag-format at kalinawan ng mga direksyon.
- Ang isang halimbawa ng isyu ay kapag ang mga dobleng quote sa loob ng code ay nabago sa isang bagay na mukhang isang naka-italyadong dobleng quote. Gayunpaman, kung i-cut-and-paste mo ito sa isang script hindi ito gagana.
- Gusto ng nagtuturo na editor na mag-autocorrect, kaya't lumiliko sa plano, at ang autoremove ay lumiliko upang awtomatikong alisin. Ang mga pagbabagong ito ay matigas upang makita.
- Ang ilan sa aking mga direksyon ay maaaring hindi sapat na malinaw.
- Karaniwan, gumagamit ako ng mga bracket ng anggulo bilang isang tagapagpahiwatig para sa isang bagay na kailangang mapalitan. Ina-convert ng editor ang mga ito sa html. Kaya, lumipat ako sa mga square bracket, ngunit maaaring maging sanhi ng mga problema dahil mukhang code ang mga ito. Kaya, sa wakas ay nanirahan ako sa as s bilang tagapagpahiwatig para sa kapalit ng isang tunay na halaga.
- Sa paglipas ng panahon ay napabuti ko rin ang ilan sa mga script.
- Mga Na-edit na Hakbang 21-26
03APR2016
- Nilikha ang isang Appendix na may Pag-troubleshoot, Mga Sanggunian at Update (hakbang 27-29)
- Inilipat ang Pag-troubleshoot sa Appendix mula sa dating hakbang 2
- Nai-update at na-alpabeto ang pahina ng pag-troubleshoot
- Pinalitan ang pangalan ng file mula sa test2wifi.sh patungong garage.sh - mas mapaglarawan lamang.
- Nai-update na cron upang magamit ang garahe.sh
- Na-edit ang 1, 20-26 (Lumikha ng isang serbisyo sa pagsisimula upang hakbang bago ang apendiks)
04APR2016
- Pinalitan ang mga hakbang sa 2-11 at 16-20 sa aking pamantayan ay ang pagse-set up ng isang Raspberry Pi
- Listahan ng na-update na mga bahagi, hakbang 1
- Nagdagdag / nagsama ng mga larawan
05APR2016
Pinasimple na website at imahe (mga hakbang 4 at 5)
01MAY2016
Nagdagdag ng pag-troubleshoot para sa Seco-larm / raspberry Pi sensor
01MAY2016
Hindi nai-save nang maayos ang mga naunang pag-edit?
11NOV2016
- Nai-update sa AT&T GigaPower at binago ang router sa 5268ac
- Hindi sinusuportahan ng 5268ac ang loop pabalik, kaya hindi ma-access ang server ng Garage Opener mula sa mga computer sa LAN. Para ma-access ng isang MacBook ang web server ng pambukas ng garahe gawin ang sumusunod:
$ sudo nano / etc / host
at idagdag ang linya
192.168.1.64 ♣ panlabas-na-domain-pangalan ♣
I-save at lumabas, CTRL-o, CTRL-x
$ sudo killall -HUP mDNSResponder
-
Ang built-in na mga patakaran sa pagpapasa ng built-in na 5268ac, tulad ng, HTTPS server, HTTP Server at Web Server ay hindi gumagana. Upang magamit ang pagpapasa ng port:
- Magbukas ng isang browser, at pumunta sa 192.168.1.254
- Mag log in
- Piliin ang Mga Setting, Firewall, Mga Aplikasyon, pinholes at DMZ.
- Piliin ang web server ng pambukas ng garahe
- Piliin ang Tinukoy ng Gumagamit
-
Mag-click sa isang bagong application na tinukoy ng gumagamit
- Sa Pangalan ng Profile ng Application ipasok ang: PortForwarding
-
Sa Lumikha ng Kahulugan ng Application idagdag ang bawat isa sa mga sumusunod at i-click ang Idagdag sa Listahan:
- TCP mula 80 hanggang 80, mapa sa host port 443
- TCP mula 443 hanggang 443 na mapa upang mag-host ng port 443
- Ang UDP mula 443 hanggang 443, mapa sa host port 443
- UDP mula 80 hanggang 80, mapa sa host port 443
- Mag-click pabalik
- Piliin muli ang iyong web server
- Piliin ang Tinukoy ng Gumagamit
- Magdagdag ng PortForwarding
- I-click ang I-save
21JAN2018
- Nai-update sa Raspberry Pi 3
- Maraming mga pag-edit sa mga hakbang
- Nai-update ang ilang mga bahagi at presyo
Hakbang 15: Appendix: Pag-troubleshoot
Ginamit ang space ng disk
Ipinapakita ng huling linya ang kabuuang puwang ng disk na ginamit. Ang SD card ay mayroong 8GB.
$ cd../..
$ sudo du –hx –c
Kung nagkakaroon ka ng mga isyu, subukan ito:
$ echo "test" | sendmail -v ♣your-gmail-account♣@gmail.com
Kung ang email ay naka-set up nang tama, pagkatapos ay dapat kang makakuha ng isang email sa iyong gmail account.
Kung nakakuha ka ng pagkabigo sa pagpapatotoo:
Maaaring kailanganin mong babaan ang seguridad sa iyong account. Gayunpaman, HINDI inirerekumenda ang pagbaba ng seguridad. Magpapadala ang Google ng isang email na may isang link sa mas mababang setting ng seguridad.
Maaari kang lumipat mula sa iyong kasalukuyang email reader upang magamit ang www.gmail.com upang ma-access ang iyong account (inirerekomenda) o baguhin ang iyong mga setting sa https://www.google.com/settings/security/lesssecu… upang ang iyong account ay wala na protektado ng mga modernong pamantayan sa seguridad.
Hindi ko inirerekumenda ang pagbaba ng iyong mga pamantayan sa seguridad.
Kung nakakuha ka ng pagkabigo sa Pahintulot:
Ang pinaka-malamang na sanhi nito ay tinukoy mo ang isang maling username o password para sa iyong gmail account sa /etc/ssmtp/ssmtp.conf file. I-double check ang mga halaga ng mga patlang ng AuthUser at AuthPass.
Kung nawala ang koneksyon sa gitna ng pagpoproseso:
Malamang na tinukoy mo ang maling port para sa Google smtp saanman sa /etc/ssmtp/ssmtp.conf o sa / etc / ssmtp / revaliases.
Suriin ang mga huling linya ng iyong mga tala. Dapat mayroong ilang mga kaugnay na mensahe ng error doon:
$ tail /var/log/mail.log
$ buntot / var / log / syslog
Hindi bubuksan ang Pinto ng garahe
Kung gumagana ang lahat at huminto lang ito, subukang muling simulan. Kung hindi iyon gumana, hilahin ang kurdon ng kuryente mula sa Raspberry Pi, at pagkatapos ay ibalik ang lakas. Ang Raspberry Pi ay dapat na mag-reboot nang mas mababa sa 2 minuto at ang lahat ay dapat na gumana nang maayos. Sa pangkalahatan ito ay sanhi ng pagkawala ng kuryente sa Residential Gateway.
GPIO
Kung may anumang naging mali, kung gayon ang pinakamahusay na paraan upang makita kung ano ang nangyayari ay ang sumusunod na utos:
$ gpio readall
Mag-login sa raspberry pi mula sa MacBook
ang terminal ay isang utility ng MacBook: disk / aplikasyon / utilities / terminal. Itinatago ko ang terminal app sa pantalan.
Sa MacBook, buksan ang terminal
$ ssh pi @ ♣ raspberry-pi-ip ♣
♣ password ♣
Mag-login sa gateway ng tirahan
Sa MacBook, buksan ang browser
URL = ♣ raspberry-pi-ip ♣
Pag-login: ♣ gateway-password ♣
Mga troso
Kung may mali, suriin ang mga log na ito para sa mga error, babala o iba pang mga isyu.
$ cat / var / log / mga mensahe
$ cat / var / log / syslog $ cat / var / log / dmesg
Direktoryo ng MAC
Direktoryo sa MacBook kung saan nakaimbak ang mga file ng website
Direktoryo ng MAC = / Mga Gumagamit / ♣ aking macbook ♣ / Pinapagana ng desktop / wi-fi ang bahay / pinapagana ng pinto ng garahe ng wifi / website
Password
Password = ♣ raspberry-pi-password ♣
Ginamit ang RAM at CPU
$ itaas
CTRL-c upang lumabas
Direktoryo sa bahay ng Raspberry Pi
$ pwd
/ bahay / pi
Hostname ng Raspberry Pi
$ hostname
hostname = ♣ hostname ♣
Raspberry Pi IP
♣ raspberry-pi-ip ♣ = 192.168.1.93
Raspberry Pi Website Directory
/ var / www
Huminto sa paggana ang Seco-larm
Noong 01MAY2016, huminto sa paggana ang Seco-larm. Ito ang pangatlong beses na tumigil sa paggana ang sensor. Upang sabihin ito nang tama, ang pisikal na pin 15 sa Raspberry Pi ay tumigil sa pagtuklas ng 3.3v input. Sinubukan ko ang 3.3v mga pisikal na pin na 1 at 17, at pareho pa ring naglalabas ng 3.3v. Lumipat ako mula sa pisikal na pin 15 sa isa pang GPIO, pisikal na pin 16 (GPIO 4) at nagsimula itong gumana muli. Kaya, walang mali sa Seco-larm. Ang problema ay tila sa Raspberry Pi GPIO.
Ang GPIO 3, patay na ang pisikal na pin 15. Ang ay isang napakahusay na post sa kung paano subukan ang mga GPIO pin.
Lumipat ako mula sa GPIO 3 hanggang GPIO 4, at binago ang code nang naaayon. Hindi ako sigurado kung bakit tumigil sa paggana ang pin ng GPIO. Narito ang dalawang posibleng dahilan:
- Mayroon akong naka-install na Seco-larm sensor kaya kapag sarado ang pinto ay naglalabas ito ng 3.3v. Ang pintuan ng garahe ay mas madalas na sarado pagkatapos ito ay bukas. Marahil, ang pin ng GPIO ay hindi maaaring tumagal ng isang mas-o-mas mababa pare-pareho na input ng 3.3v.
- Ang kabiguan ay sumabay sa isang pagkawala ng kuryente, marahil ay mayroong isang power spike.
U-talatang Residential Gateway
Mayroon akong AT&T U-talatang may Residential Gateway, ngunit ang anumang serbisyo ay dapat na gumana.
Kung ang U-talata Gateway ay nai-restart o nawalan ng kapangyarihan, ang Raspberry Pi ay maaaring kailanganing i-reboot.
U-taludtod na gateway ng tirahan Public IP = ♣ router-public-ip ♣
Ang IP ng isang U-talata na tirahan ng gateway ay maaaring magbago, ngunit napakabihirang gawin ito
U-taludtod Residential Gateway Home Page = 192.168.1.254
U-taludtod ng Router wireless access point na SSID = ♣ ssid ♣
Ang WiFi throughput ay mas mabagal kaysa sa inaasahan
Baguhin ang router sa isang hindi gaanong ginagamit na channel. Bilang default, ang lahat ng mga tagabigay ng circuit ay nagbibigay ng wifi ng bawat isa sa channel 1. Baguhin sa isang hindi gaanong ginagamit na channel, tulad ng, 11. Subukang gumamit ng isang kakaibang numero.
Tandaan: Sinabi ko sa ilang kapitbahay kung ano ang ginawa ko upang mapagbuti ang wi-fi at ngayon ang lahat ay nasa 9 o 11, kaya't bumalik ako sa 1. Dapat mong palaging gumamit ng isang kakatwang channel.
Magbukas ng isang browser.
Para sa U-taludtod, ipasok ang 192.168.1.254 sa kahon ng URL.
Mag-click sa link na Wireless, at piliin ang channel 6 o 11.
Mayroong isang app para sa matalinong telepono na tinatawag na wifi analyzer. Ipinapakita ng isa sa mga ipinapakita ang lahat ng mga kalapit na point ng pag-access sa wifi na nag-broadcast sa isang partikular na channel. Sa aking kapitbahayan, ang lahat ay nakatakda sa channel 1.
I-unplug ang Raspberry Pi, at pagkatapos ay ibalik ang lakas
Inirerekumendang:
DIY Smart Garage Door Opener + Pagsasama ng Home Assistant: 5 Mga Hakbang
DIY Smart Garage Door Opener + Pagsasama ng Home Assistant: Gawing matalino ang iyong normal na pintuan ng garahe gamit ang proyektong DIY na ito. Ipapakita ko sa iyo kung paano ito maitatayo at makontrol ito gamit ang Home Assistant (sa MQTT) at may kakayahang malayo buksan at isara ang iyong pintuan ng garahe. Gumagamit ako ng isang board na ESP8266 na tinatawag na Wemos
Murang Smart Garage Door Opener: 6 Mga Hakbang (na may Mga Larawan)
Murang Smart Garage Door Opener: CreditKaya kong nakopya ang pagpapatupad ng Savjee ngunit sa halip na gumamit ng isang Shelly ay gumamit ako ng isang Sonoff Basic. Suriin ang kanyang web site at YouTube Channel! Https: //www.savjee.be/2020/06/make-garage-door-ope…https: //www.youtube.com/c/Savjee/AssumptionsYou h
Micro: Bit Dog Door Opener: 8 Hakbang (na may Mga Larawan)
Micro: Bit Dog Door Opener: Nakakabit ba ang iyong mga alaga sa kanilang mga sarili sa mga silid? Nais mo bang maaari mong gawing mas naa-access ang iyong tahanan para sa iyong mabalahibo * na mga kaibigan ?? Maaari mo na ngayon, hooray !! Gumagamit ang proyektong ito ng isang micro: bit microcontroller upang hilahin ang isang pinto kapag ang isang (pet-friendly) switch ay itinulak. We'l
Ang Raspberry Pi Zero Garage Door Opener Hardware: 10 Hakbang
Ang Raspberry Pi Zero Garage Door Opener Hardware: Ang isa sa mga inspirasyon para sa proyektong ito ay ang mahusay na pagtuturo sa Raspberry Pi 3 Garage Door Opener, kasama ang maraming iba pa na matatagpuan sa Internet. Hindi isang bihasang electronics person, gumawa ako ng maraming karagdagang karagdagang pagsasaliksik sa mga paraan upang
Garage Door Opener Gamit ang isang Raspberry Pi: 5 Hakbang (na may Mga Larawan)
Garage Door Opener 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 mapagkitaan