Mündəricat:

Raspberry Pi Qaraj Qapı Açacağı: 5 addım
Raspberry Pi Qaraj Qapı Açacağı: 5 addım

Video: Raspberry Pi Qaraj Qapı Açacağı: 5 addım

Video: Raspberry Pi Qaraj Qapı Açacağı: 5 addım
Video: My Raspberry Pi based, Wi-Fi enabled garage door opener 2024, Noyabr
Anonim
Raspberry Pi Qaraj Qapı Açacağı
Raspberry Pi Qaraj Qapı Açacağı

Qaraj qapısını açmağımıza imkan verən On beş yaşlı klaviatura yavaş -yavaş ölməkdədir, ancaq qeydiyyatdan keçməyən bir neçə düymə ilə yeniyetmələrimizin (və ya it baxıcısının) açarını unudanda evə girməsini çətinləşdirir.

Əvəz etmək və yenidən proqramlaşdırma halqalarından tullanmaq əvəzinə, bir az daha yüksək texnologiyaya keçmək və onu yalnız WiFi və istifadə etmək üçün telefonumuza daxil olmaq lazım olan bir şeylə əvəz etmək qərarına gəldim.

Pi Zero Wireless və qaraj qapısı açıcısına daxil olan həm qapını, həm də işıqları idarə etməyə imkan verən başqa bir layihədən qalmış 2 kanallı bir röleyi istifadə etdim. Toz yığan köhnə/ehtiyat USB kameram olduğu üçün PiCam əvəzinə istifadə etdim, ancaq bu, rahatlığım üçündür. Bu dəstəklənən hər hansı bir kamera ilə yaxşı işləyəcək - mənim üçün xüsusi bir şey yoxdur, sadəcə Raspbian onu dəstəkləyir.

Digər oxşar layihələrdən fərqli olaraq, təlimatları izləsəniz, işə düşməsi olduqca asan olan "standart" proqram paketlərindən istifadə edərək mümkün qədər sadə saxlamağa çalışdım. Bu şəkil, qapını göstərən Pi, Relay Modulu və USB Webcam daxil olmaqla son (heç də gözəl deyil, amma mənim qarajımdır) qurğumuzu göstərir. Pi Zero istifadə etmək üçün heç bir xüsusi səbəb yoxdur - daxili şəbəkənizə qoşula biləcəyiniz müddətcə hər hansı bir Pi bunu edər və wifi bunu asanlaşdırar.

Addım 1: Mövcud İdarəetmə Panelinə qoşulun

Mövcud İdarəetmə Panelinə qoşulmaq
Mövcud İdarəetmə Panelinə qoşulmaq

Birincisi, SİZİN Fərqli OLA BİLƏR! Mənimki, qaraj qapısının açıcısından divardakı idarəetmə panelinə gedən bir cüt telə malikdir. Test edildikdə təxminən 18 volt olduğu görünən yalnız iki tel olduğundan, əvvəlcə bu şeyin birdən çox funksiyanı necə idarə edə biləcəyi ilə bağlı bir az qarışıq idim. Düşünürəm ki, hər bir ani düymə sadəcə dövrəni tamamlayır, lakin fərqli müqavimət səviyyələri ilə. Sonra əsas qurğu fərqli gərginlik düşmələri ilə bu müqaviməti oxuya və düzgün hərəkət edə bilər. İdarəetmə blokunu Pi ilə tamamilə dəyişdirməyə çalışmadığınız halda bunların heç bir əhəmiyyəti yoxdur. Niyə bunu etmək istədiyinizə əmin deyiləm, çünki hələ də fiziki vahidin yerində olması xoşdur.

AAAAAnnnyway, etməniz lazım olan şey, PCB -dəki ani açarları röle modulunuza bağlayaraq müxtəlif düymələri basmaqdır. Bu, etməli olduğum yeganə lehim idi və PCB üzərindəki yastıqlar olduqca böyük idi, buna görə də olduqca sadə idi. Bu telləri hələlik bir müddət buraxın, çünki ətrafda ACME telli zolağınız yoxdursa, sonra uzatmaqdan daha çox qısaltmaq daha asandır, lakin bu olduqca nadirdir.

Addım 2: Röle lövhəsinin bağlanması

Relay lövhəsinin bağlanması
Relay lövhəsinin bağlanması
Relay lövhəsinin bağlanması
Relay lövhəsinin bağlanması

Burada demək üçün çox şey yoxdur, hər şeyi şəkildəki kimi bağlayın. Sainsmart 2-röle modulunda, JC-VCC və VCC sancaqlarını bir-birinə bağlamaq lazımdır, əgər onlar üçün tamamilə ayrı bir enerji təchizatı istifadə etmək istəməsəniz, ancaq bu istifadə üçün bu, həddindən artıqdır. GND -ni Pi GND pininə, VCC -ni 5v pininə və IN1 və IN2 -ni istifadə etmək istədiyiniz GPIO pinlərinə qoşun. Onları yalnız YÜKSEK/DÜŞÜN keçid olaraq istifadə edəcəyiniz üçün, hansının olmasının həqiqətən əhəmiyyəti yoxdur.

Addım 3: Proqramın Qurulması

Proqramın Quraşdırılması
Proqramın Quraşdırılması

Bir müddət yüklənən və quraşdırılan şeyləri izlədiyiniz üçün bu, bəlkə də ən çox vaxt aparan addımdır. Bu materiallardan bəziləri quraşdırılarkən youtube və ya başqa bir şeyi izləyin.

Raspbian -ı necə quracağımı izah etməyəcəyəm. Hələ bunu necə edəcəyinizi bilmirsinizsə, əvvəlcə google -a "salam dünya" tipli bir növ dərs keçin. Hər halda, yəqin ki, təzə Raspbian Lite qurğusundan istifadə etmək daha yaxşıdır. Bu layihə üçün guiyə ehtiyac yoxdur və bu, sadəcə əlavə xərcdir. raspberrypi.org bu prosesdə sizə yol göstərə bilər.

SSH -ni aktivləşdirin və (istəsəniz) ya Pi üçün statik bir IP konfiqurasiya edin (bunu etmək üçün özümdən daha yaxşı müəlliflər tərəfindən yazılmış bir çox dərslər var) və ya daha da yaxşı, routerinizi/DHCP serverinizi konfiqurasiya edin. Pi -yə statik bir IP təyin etmək.

Gözəl, quraşdırılması asan bir video xidməti istəyirsinizsə, gedin və MotionEye qurun. Yəqin ki, həddindən artıqdır, amma hər dəfə "yalnız işləyən" quraşdırmalardan biridir və istifadəsi asan bir veb interfeysi var. Buradan yoxlayın:

github.com/ccrisan/motioneye/wiki/Install-… Hər əmrdən əvvəl sudo istifadə edərək bu təlimatları izləyin və gözəl bir video axını quracaqsınız. Gördüyünüz zaman qapınızı açarsanız, video axınının olması tam olaraq tələb olunmur, amma rəy bildirmək çox xoşdur.

Motioneye qurduqdan sonra https:// YourIPAddress: 8765 ünvanına daxil olun və "admin" istifadəçi adı və boş bir parol ilə daxil olun. Yəqin ki, yenə də "işləməli" və bu təlimatların hüdudlarından kənara çıxan bir kamera əlavə etməlisiniz.

Administrator olaraq daxil olarkən "Ətraflı Ayarlar" keçidini vurun, sonra video seçimlərinizi təyin edin - Videom üçün 320x240 istifadə etdim, çünki keyfiyyətdən daha sürətli yeniləmələrə daha çox əhəmiyyət verirəm, çünki bunu yalnız görmək istəyirdim. Qapı açıq idi və açılmadı və küçə boyunca poçt qutusu nömrələrini oxumaq lazım deyil.

"Video Yayımı" parametrləri altında "Axın URL" bağlantısını vurun və sizə təqdim etdiyi ünvanı qeyd edin. İnterfeysi mənim etdiyim kimi qurmağı planlaşdırırsınızsa, daha sonra ehtiyacınız olacaq.

GPIO sancaqlarınızı idarə etməyin bir çox yolu var. Bu layihə üçün WiringPi -dən istifadə etdim, quraşdırmaq üçün veb saytdakı təlimatları istifadə edin:

wiringpi.com/download-and-install/

Və ya Pi -də aşağıdakı əmrləri verin:

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

Bu, GPIO sancaqlarınızla nələrin baş verdiyini sizə verməlidir.

4 və 17 pinlərindən istifadə edirsinizsə (BCM nömrələmə sxemində), aşağıdakı əmrlərlə əlaqələrinizi sınaya bilərsiniz. Qeyd edək ki, bu Sainsmart modulundan istifadə edildikdə pinin LOW olaraq təyin edilməsi röleləri aktivləşdirəcək. Sizinki fərqli ola bilər və buna uyğunlaşmalısınız. Bu əmrləri yerinə yetirərkən, rölelərin yerinə gəldiyini eşitməlisiniz və LED -lər yanmalıdır.

gpio -g rejimi 17 çıxdı

gpio -g yazma 17 0 gpio -g yaz 1 1 gpio -g rejimi 4 çıx gpio -g yaz 4 0 gpio -g yaz 4 1

Tamam, indi UI qurmağa davam edə bilərik.

Addım 4: İnterfeys hazırlayın

İnterfeysin hazırlanması
İnterfeysin hazırlanması

Apache və PHP istifadə etdim. Gözəl və sadə, çox da gözəl bir şey yoxdur. Başqa yerdə daha yaxşı izah edildiyinə görə burada göstərilən təlimatları izləyin:

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

Veb serverinizin "kökü", varsayılan olaraq, veb serveriniz haqqında məlumat verən default index.html ilə/var/www/html/ünvanındadır. Bu index.html -ni əvəz edəcəksiniz, ya silə bilərsiniz, ya da index.copy kimi başqa bir şeyə adını dəyişə bilərsiniz. İcazələr haqqında tənbəl olmaq üçün "pi" istifadəçisini html qovluğunun sahibi etdim. Nəhayət, şəkillərimi saxlamaq üçün iki kataloq olan bir kataloq yaratdım. Bir düymənin basıldığı, digərinin telefonun ana ekranındakı bir simge üçün istifadə oluna biləcəyi yalnız bir axmaq geribildirimdir.

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 images

Veb sayt yaratmağın sonsuz sayda yolu var, amma MY bacarıqlarıma əsaslanaraq onu mümkün qədər sadə və asan saxlamağı seçdim. Buna görə PHP, çünki mən bunu bilirəm. Bir python gurusu və ya başqa bir yazı dili varsa, bunu istifadə etməkdən çekinmeyin.

Əslində bütün işləri görən iki iframe olan bir "konteyner" index.html səhifəsi yaratdım. Iframe -lərdən birində, həqiqətən də GPIO vasitəsilə röleləri işə salan düymələr/bağlantılar və videonu əks etdirən başqa bir iframe var. Bir telefonun ana ekranı simvolu olaraq istifadə edilə biləcəyindən daha çox-p.webp

Düymələri olan index.html iframe, məzmunu olaraq button.html faylına malikdir. (bu necə gülməlidir, huh?) button.html -dəki hər iki link, unikal bir GET dəyişən dəyəri olan action.php -ə gətirib çıxarır. Keçən dəyərə əsaslanaraq, action.php ya qapını, ya da işıq düyməsini işə salacaq. HTML və PHP kodunu github -dan əldə edə bilərsiniz:

Bütün HTML və PHP-ni kök qovluğuna (/var/www/html/) yerləşdirin, lazım olduğu yerdə düyməni basmaqla təsdiq etmək üçün istifadə edə biləcəyiniz görüntünün adı və video axınınızın ünvanını yeniləyin. Yadınızdadırmı, sizə lazım olduğunu söylədiyim zaman, əvvəlki addımda?

Addım 5: sınayın

Tamam, hər şeyi bağladıqdan və quraşdırdıqdan sonra hamısı ilk cəhddə mükəmməl işləyir, elə deyilmi? Şirin!

Tövsiyə: