Съдържание:

Отваряне на гаражни врати Raspberry Pi: 5 стъпки
Отваряне на гаражни врати Raspberry Pi: 5 стъпки

Видео: Отваряне на гаражни врати Raspberry Pi: 5 стъпки

Видео: Отваряне на гаражни врати Raspberry Pi: 5 стъпки
Видео: BTT - Manta E3EZ - CB1 install 2024, Юли
Anonim
Отваряне на гаражни врати Raspberry Pi
Отваряне на гаражни врати Raspberry Pi

Нашата 15 -годишна клавиатура, която ни позволява да отворим вратата на гаража, бавно умира, с няколко бутона, които едва се регистрират, което затруднява нашите тийнейджъри (или кучета) да влязат в къщата, когато забравят ключа си.

Вместо да го заменя и да скоча през обръчите на препрограмирането му, реших да отида малко по -високотехнологично и да го заменя с нещо, което изисква само достъп до нашия wifi и телефон за използване.

Използвах Pi Zero Wireless и 2-канално реле, което ми остана от друг проект, което ми позволява да контролирам както вратата, така и светлините, които са вградени в ключалката за гаражни врати. Тъй като имах стара/резервна USB камера, която лежеше наоколо и събираше прах, използвах това вместо PiCam, но това беше само от удобство. Това би работило добре с всяка поддържана камера - няма нищо особено в моята, само че Raspbian го поддържа.

За разлика от някои други подобни проекти, аз се опитах да го направя възможно най -опростен, използвайки „стандартни“софтуерни пакети, които са доста лесни за стартиране и изпълнение, ако следвате инструкциите. Тази снимка показва моята последна (изобщо не красива, но това е моята гаражна) инсталация, включително Pi, релейния модул и USB уеб камера, насочени към вратата. Няма конкретна причина да използвате Pi Zero - всеки Pi би направил, стига да можете да го свържете към вашата вътрешна мрежа, а wifi прави това лесно.

Стъпка 1: Свързване към съществуващия контролен панел

Свързване към съществуващия контролен панел
Свързване към съществуващия контролен панел

Първо, ВАШИТЕ МОЖЕ ДА БЪДАТ РАЗЛИЧНИ! Моят има един чифт проводници, преминаващи от отварянето на гаражните врати до контролния панел на стената. Тъй като има само два проводника, които при тестване изглеждаха с около 18 волта, първо бях малко объркан как точно това нещо може да контролира множество функции. МИСЛЯ, че всеки моментен бутон просто завършва веригата, но с различни нива на съпротивление. Тогава основното устройство може да прочете това съпротивление чрез различни падания на напрежението и да извърши правилното действие. Нищо от това обаче няма значение, освен ако не се опитвате да замените напълно блока за управление с Pi. Не съм сигурен защо бихте искали да направите това, тъй като е хубаво все още да имате физическата единица на място.

AAAAAnnnyway, всичко, което трябва да направите, е да възпроизведете различните натискания на бутони, като свържете моментните превключватели на печатната платка към вашия релейен модул. Това беше единственото запояване, което трябваше да направя, а подложките на печатната платка бяха доста големи, така че беше доста просто. Оставете тези проводници за дълго за сега, тъй като е много по -лесно да съкратите жицата, отколкото да я удължите по -късно, освен ако наоколо не сте поставили носилка ACME, но те са доста редки.

Стъпка 2: Окабеляване на релейната платка

Окабеляване на релейната платка
Окабеляване на релейната платка
Окабеляване на релейната платка
Окабеляване на релейната платка

Не е много да се казва тук, просто свържете всичко, както е на снимките. На 2-релейния модул Sainsmart, щифтовете JC-VCC и VCC трябва да бъдат комбинирани заедно, освен ако не искате да използвате напълно отделно захранване за тях, но за тази употреба това е прекалено. Свържете GND към щифт Pi GND, VCC към 5v щифт, а IN1 и IN2 към каквито и да е GPIO щифтове, които искате да използвате. Тъй като просто ще ги използвате като превключватели HIGH/LOW, наистина няма значение кои.

Стъпка 3: Инсталиране на софтуера

Инсталиране на софтуера
Инсталиране на софтуера

Това е може би най -отнемащата време стъпка, тъй като ще гледате нещата да се изтеглят и инсталират за известно време. Гледайте youtube или нещо такова, докато някои от тези неща са инсталирани.

Няма да обяснявам как да инсталирам Raspbian. Ако все още не знаете как да направите това, може би първо отидете в гугъл на някои уроци от типа „здравей свят“. Във всеки случай най -добре е да използвате нова инсталация на Raspbian Lite. Няма нужда от GUI за този проект и това е просто допълнително режийни разходи. raspberrypi.org може да ви преведе през този процес.

Активирайте SSH и (ако искате) или конфигурирайте статичен IP за вашия Pi (отново има няколко урока за това как да го направите, написани от по -добри автори от мен) или още по -добре, конфигурирайте вашия рутер/DHCP сървър да присвоите статичен IP на вашия Pi.

Ако искате хубава, лесна за инсталиране и използване видео услуга, отидете и инсталирайте MotionEye. Вероятно е прекалено много, но това е една от инсталациите, които „просто работят“всеки път и има приятен лесен за използване уеб интерфейс. Проверете го тук:

github.com/ccrisan/motioneye/wiki/Install-… Следвайте тези инструкции с помощта на sudo преди всяка команда и ще имате настроен хубав видео стример. Не е задължително да имате видео поток, ако всичко, което ви интересува, е да отворите вратата си, когато можете да го видите, но е хубаво да имате обратна връзка.

След като инсталирате Motioneye, посетете https:// YourIPAddress: 8765 и влезте с потребителското име "admin" и празна парола. Вероятно ще трябва да добавите камера, която отново трябва да "просто работи" и извън обхвата на тези инструкции.

Докато сте влезли като администратор, щракнете върху превключвателя „Разширени настройки“, след това задайте опциите си за видео - използвах 320x240 за видеоклипа си, защото повече се интересувам от по -бързите актуализации, отколкото от качеството, тъй като наистина исках само да го видя вратата е била отворена или не и не е необходимо да четете номера на пощенските кутии от другата страна на улицата.

В областта за настройки на „Видео стрийминг“щракнете върху връзката „URL адрес за поточно предаване“и отбележете адреса, който ви представя. Ще ви трябва по -късно, ако планирате да настроите интерфейса по същия начин, по който го направих аз.

Има няколко начина за управление на вашите GPIO щифтове. За този проект използвах WiringPi, за да го инсталирам, използвайте инструкциите на уебсайта:

wiringpi.com/download-and-install/

Или просто издайте следните команди на вашия Pi:

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

Това трябва да ви даде списък с това, което се случва с вашите GPIO щифтове.

Ако използвате щифтове 4 и 17 (в схемата за номериране на BCM), можете да тествате връзките си със следните команди. Обърнете внимание, че настройката на щифта LOW ще активира релетата, ако използвате този модул Sainsmart. Вашите може да са различни и ще трябва да се приспособите към това. Когато изпълнявате тези команди, трябва да чуете щракването на релетата и светодиодът (ите) трябва да светнат.

gpio -g режим 17 излиза

gpio -g запис 17 0 gpio -g запис 1 1 gpio -g режим 4 изход gpio -g запис 4 0 gpio -g запис 4 1

Добре, сега можем да преминем към създаването на потребителския интерфейс.

Стъпка 4: Създаване на интерфейса

Създаване на интерфейса
Създаване на интерфейса

Използвах apache и PHP. Хубаво и просто, нищо особено. Още веднъж беше обяснено по -добре другаде, така че просто следвайте инструкциите, намерени тук:

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

"Коренът" на вашия уеб сървър по подразбиране е на/var/www/html/с index.html по подразбиране, който ви дава информация за вашия уеб сървър. Ще замените този index.html, така че можете да го изтриете или да го преименувате на нещо друго като index.copy. Също така направих потребителя "pi" собственик на html директорията, само за да мързелувам относно разрешенията. Накрая създадох директория за съхранение на моите изображения, от които има две. Една, която е просто глупава обратна връзка, че е натиснат бутон, и друга, която може да се използва за икона на началния екран на телефона.

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 изображения

Има безкрайно много начини за създаване на уебсайт, но аз избрах да го поддържам възможно най -прост и лесен въз основа на МОЙ набор от умения. Следователно PHP, тъй като го знам. Ако сте пирон гуру или друг скриптов език, не се колебайте да го използвате.

Създадох страница "контейнер" index.html, която всъщност има две вградени рамки, които вършат цялата работа. Една от вложените рамки съдържа бутоните/връзките, които действително задействат релетата чрез GPIO, и друга вградена рамка, която показва видеото. Той също така съдържа връзки към-p.webp

Вградената рамка index.html, съдържаща бутоните, съдържа съдържанието на файла buttons.html. (смешно как работи това, а?) И двете връзки в button.html водят до action.php с уникална стойност на GET променлива. Въз основа на предадената стойност action.php ще задейства вратата или бутона за осветление. Можете да получите HTML и PHP кода от моя github:

Поставете целия HTML и PHP в основната директория (/var/www/html/), актуализирайте кода, където е необходимо, с името на изображението, което може да използвате за потвърждение при натискане на бутон, и адреса на вашия видео поток. Помните ли, когато ви казах, че ще имате нужда от това, в предишната стъпка?

Стъпка 5: Изпробвайте

Добре, сега, когато имате всичко свързано и инсталирано, всичко работи перфектно при първия опит, нали? Сладка!

Препоръчано: