Mundarija:

Raspberry Pi garaj eshiklarini ochuvchi: 5 qadam
Raspberry Pi garaj eshiklarini ochuvchi: 5 qadam

Video: Raspberry Pi garaj eshiklarini ochuvchi: 5 qadam

Video: Raspberry Pi garaj eshiklarini ochuvchi: 5 qadam
Video: My Raspberry Pi based, Wi-Fi enabled garage door opener 2024, Iyul
Anonim
Raspberry Pi garaj eshiklarini ochuvchi
Raspberry Pi garaj eshiklarini ochuvchi

Garaj eshigini ochishga imkon beradigan bizning o'n besh yoshli klaviatura asta -sekin o'lmoqda, bir nechta tugmachalari zo'rg'a ro'yxatdan o'tmoqda, bu esa o'smirlarimizga (yoki itni kuzatuvchiga) kalitni unutib qo'yganda uyga kirishni qiyinlashtirmoqda.

Uni almashtirish va qayta dasturlash halqalari orasidan sakrab o'tishning o'rniga, men biroz yuqori texnologiyalarga o'tishga qaror qildim va uni faqat wifi -ga kirishni va telefondan foydalanishni talab qiladigan narsani almashtirishga qaror qildim.

Men Pi Zero Wireless va boshqa loyihadan qolgan 2 kanalli o'rni ishlatdim, bu menga eshikni ham, garaj eshigi ochgichiga o'rnatilgan chiroqlarni ham boshqarishga imkon beradi. Menda eski/zaxira USB kamerasi bor edi, chunki men chang yig'ayotgan edim, men uni PiCam o'rniga ishlatardim, lekin bu faqat qulaylik uchun edi. Bu har qanday qo'llab -quvvatlanadigan kamera bilan juda yaxshi ishlaydi - menda alohida narsa yo'q, faqat Raspbian uni qo'llab -quvvatladi.

Boshqa shunga o'xshash loyihalardan farqli o'laroq, agar siz ko'rsatmalarga amal qilsangiz, ishga tushirish juda oson bo'lgan "standart" dasturiy paketlardan foydalanib, uni iloji boricha sodda saqlashga harakat qildim. Bu rasmda eshikni ko'rsatgan Pi, Relay Module va USB veb -kamerasi bilan yakuniy (umuman chiroyli emas, lekin bu mening garajim) o'rnatilishi ko'rsatilgan. Pi Zero -ni ishlatishning aniq sababi yo'q - har qanday Pi, agar siz uni ichki tarmog'ingizga ulashingiz mumkin bo'lsa, buni amalga oshiradi va Wi -Fi buni osonlashtiradi.

1 -qadam: mavjud boshqaruv paneliga ulanish

Mavjud boshqaruv paneliga ulanish
Mavjud boshqaruv paneliga ulanish

Birinchidan, SIZNING XARQLI BO'LISHINGIZ MUMKIN! Menda garaj eshigi ochgichidan devordagi boshqaruv paneligacha boradigan bitta juft sim bor. Sinov paytida taxminan 18 voltga teng bo'lgan ikkita sim borligi sababli, dastlab bu narsa bir nechta funktsiyalarni qanday boshqarishi haqida biroz chalkashib ketdim. O'ylaymanki, har bir lahzali tugma zanjirni tugatadi, lekin har xil qarshilik darajasida. Keyin asosiy blok har xil kuchlanish pasayishi orqali bu qarshilikni o'qishi va to'g'ri harakatni bajarishi mumkin. Agar siz boshqaruv blokini Pi bilan to'liq almashtirishga harakat qilmasangiz, bularning hech biri muhim emas. Nima uchun bunday qilishni xohlayotganingizni bilmayman, chunki hali ham jismoniy birlikni joyida saqlash yaxshi.

AAAAAnnwayway, sizga kerak bo'lgan yagona narsa, PCB -dagi lahzali kalitlarni o'z o'rni moduliga ulash orqali turli tugmachalarni bosishdir. Bu men qilishim kerak bo'lgan yagona lehim edi va PCB tagliklari juda katta edi, shuning uchun bu juda oddiy edi. Bu simlarni hozircha uzoq vaqt qoldiring, chunki sizda ACME simli nosilkani yotqizmaguningizcha, uni uzaytirishdan ko'ra, uni qisqartirish osonroq, lekin bu juda kam uchraydi.

2 -qadam: O'rnatish panelini ulash

O'rnatish panelini ulash
O'rnatish panelini ulash
O'rnatish panelini ulash
O'rnatish panelini ulash

Bu erda ko'p gapirish mumkin emas, hamma narsani rasmlardagidek ulang. Sainsmart 2-o'rni modulida JC-VCC va VCC pinlarini bir-biriga bog'lab qo'yish kerak, agar siz ular uchun mutlaqo alohida quvvat manbaidan foydalanishni xohlamasangiz, lekin buning uchun bu juda ko'p. GND -ni Pi GND piniga, VCC -ni 5v -ga, IN1 va IN2 -ni ishlatmoqchi bo'lgan GPIO pinlariga ulang. Siz ularni faqat "HIGH/LOW" tugmachalari sifatida ishlatmoqchi bo'lganingiz uchun, qaysi biri muhim emas.

3 -qadam: Dasturiy ta'minotni o'rnatish

Dasturiy ta'minotni o'rnatish
Dasturiy ta'minotni o'rnatish

Bu, ehtimol, ko'p vaqt talab qiladigan qadamdir, chunki siz bir muncha vaqt yuklanadigan va o'rnatiladigan narsalarni kuzatib borasiz. YouTube yoki shunga o'xshash narsalarni tomosha qiling.

Men Raspbian -ni qanday o'rnatishni tushuntirmayman. Agar siz buni qanday qilishni bilmasangiz, avval google -ga "salom dunyo" darsliklarini kiriting. Qanday bo'lmasin, Raspbian Lite -ning yangi versiyasidan foydalanish yaxshidir. Bu loyiha uchun gui kerak emas va bu faqat qo'shimcha xarajatlar. raspberrypi.org bu jarayonda sizga yordam berishi mumkin.

SSH -ni yoqing va (agar xohlasangiz) sizning Pi uchun statik IP -ni sozlang (yana bir bor, buni qanday qilish kerakligi haqida o'zimdan ko'ra yaxshiroq mualliflar tomonidan yozilgan bir nechta darsliklar bor) yoki undan ham yaxshiroq, yo'riqnoma/DHCP serverini sozlang. Pi -ga statik IP tayinlash.

Agar siz yaxshi, oson o'rnatish va video xizmatidan foydalanishni xohlasangiz, MotionEye -ni o'rnating. Bu, ehtimol, haddan tashqari ko'p, lekin bu har safar "ishlaydigan" o'rnatishlardan biri bo'lib, u veb -interfeysni ishlatish uchun qulay. Bu erda tekshiring:

github.com/ccrisan/motioneye/wiki/Install-… Har bir buyruqdan oldin sudo yordamida ushbu ko'rsatmalarga amal qiling, shunda sizda yaxshi video uzatuvchi o'rnatiladi. Agar siz ko'rmoqchi bo'lganingizda eshikni ochib qo'ysangiz, video oqimiga ega bo'lish shart emas, lekin fikr -mulohazalaringiz bo'lsa yaxshi bo'ladi.

Motioneye -ni o'rnatganingizdan so'ng, https:// YourIPAddress: 8765 ga tashrif buyuring va "admin" foydalanuvchi nomi va bo'sh parol bilan kiring. Siz, ehtimol, yana "faqat ishlashi" kerak bo'lgan va ushbu ko'rsatmalar doirasidan tashqarida bo'lgan kamerani qo'shishingiz kerak bo'ladi.

Siz administrator sifatida tizimga kirganingizda, "Kengaytirilgan sozlamalar" tugmachasini bosing, keyin video variantlarini o'rnating - men o'z videomda 320x240 formatidan foydalanganman, chunki men sifatga qaraganda tezroq yangilanishlarga ko'proq e'tibor beraman, chunki men buni faqat ko'rishni xohlardim. Eshik ochiq edi yoki ochilmadi va ko'chadagi pochta qutilarining raqamlarini o'qish shart emas.

"Video oqimi" sozlamalari maydonida "Streaming URL" havolasini bosing va u sizga ko'rsatadigan manzilni yozib qo'ying. Agar siz interfeysni men qilganidek o'rnatishni rejalashtirmoqchi bo'lsangiz, keyinroq sizga kerak bo'ladi.

GPIO pinlarini boshqarishning bir qancha usullari mavjud. Ushbu loyiha uchun men WiringPi -dan foydalanganman, uni o'rnatish uchun veb -saytdagi ko'rsatmalardan foydalaning:

wiringpi.com/download-and-install/

Yoki Pi -ga quyidagi buyruqlarni bering:

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

Bu sizga GPIO pinlari bilan nima bo'layotganini ko'rsatishi kerak.

Agar siz 4 va 17 -pinlardan foydalansangiz (BCM raqamlash sxemasida), siz quyidagi buyruqlar yordamida ulanishingizni sinab ko'rishingiz mumkin. E'tibor bering, pinni LOW pastda o'rnatish Sainsmart modulidan foydalanilganda, o'rni faollashadi. Sizniki boshqacha bo'lishi mumkin, va siz bunga moslashishingiz kerak bo'ladi. Ushbu buyruqlarni bajarayotganda, siz o'rni joyiga bosilishini eshitishingiz kerak va LED (lar) yonishi kerak.

gpio -g rejimi 17 chiqib ketdi

gpio -g yozish 17 0 gpio -g yozish 1 1 gpio -g rejimi 4 chiqish gpio -g yozish 4 0 gpio -g yozish 4 1

OK, endi biz foydalanuvchi interfeysini yaratishga o'tamiz.

4 -qadam: interfeysni yaratish

Interfeys yaratish
Interfeys yaratish

Men apache va PHP dan foydalanardim. Chiroyli va sodda, hech qanday ajoyib narsa yo'q. Yana bir bor, bu boshqa joyda yaxshiroq tushuntirilgan, shuning uchun bu erdagi ko'rsatmalarga amal qiling:

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

Veb -serveringizning "ildizi" sukut bo'yicha/var/www/html/-da joylashgan bo'lib, veb -serveringiz haqida ma'lumot beradi. Siz index.html -ni almashtirasiz, shuning uchun uni o'chirib tashlashingiz yoki index.copy kabi boshqa nomga o'zgartirishingiz mumkin. Men "pi" foydalanuvchisini ruxsatnomalar haqida dangasa bo'lish uchun html katalogining egasi qildim. Nihoyat, men rasmlarimni saqlash uchun katalog yaratdim, ulardan ikkitasi bor. Ulardan biri tugma bosilgani haqidagi bema'ni fikrlar, ikkinchisi telefonning bosh ekranidagi belgi uchun ishlatilishi mumkin.

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 tasvirlari

Veb -sayt yaratishning cheksiz ko'p usullari bor, lekin men MY ko'nikmalarimga asoslanib uni iloji boricha sodda va oson saqlashni tanladim. Shunday qilib, PHP, chunki men buni bilaman. Agar siz python gurusi yoki boshqa skript tili bo'lsangiz, uni ishlatishdan xavotir olmang.

Men "konteyner" index.html sahifasini yaratdim, unda hamma ishni bajaradigan ikkita iframe mavjud. Iframelardan birida GPIO orqali o'z o'rni ishga tushiradigan tugmalar/havolalar va videoni aks ettiruvchi boshqa iframe mavjud. Bundan tashqari, telefonning bosh ekrani belgisi sifatida ishlatilgandan ko'ra-p.webp

Tugmachalarni o'z ichiga olgan index.html iframe -da uning mazmuni sifatida button.html fayli mavjud. (bu qanday kulgili, ha?) button.html -dagi har ikkala havola ham GET o'zgaruvchan qiymatiga ega bo'lgan action.php -ga olib keladi. O'tkazilgan qiymatga asoslanib, action.php eshikni yoki yorug'lik tugmachasini ishga tushiradi. Siz HTML va PHP kodlarini mening github -dan olishingiz mumkin:

Barcha HTML va PHP-ni ildiz katalogiga joylashtiring (/var/www/html/), tugmachani bosib tasdiqlash uchun ishlatishingiz mumkin bo'lgan rasm nomini va video oqimingizning manzilini kerakli joyga o'zgartiring. Esingizda bo'lsin, men sizga bu kerak deb aytgandim, oldingi qadamda?

5 -qadam: Sinab ko'ring

OK, endi sizda hamma narsa simli va o'rnatilgan bo'lsa, hammasi birinchi urinishda mukammal ishlaydi, to'g'rimi? Shirin!

Tavsiya: