Оглавление:

Устройство открывания двери гаража Raspberry Pi: 5 шагов
Устройство открывания двери гаража Raspberry Pi: 5 шагов

Видео: Устройство открывания двери гаража Raspberry Pi: 5 шагов

Видео: Устройство открывания двери гаража Raspberry Pi: 5 шагов
Видео: Самодельный хакерский гаджет RPI0W | Как открыть любой шлагбаум, ворота и достать соседей 2024, Ноябрь
Anonim
Устройство открывания двери гаража Raspberry Pi
Устройство открывания двери гаража Raspberry Pi

Наша пятнадцатилетняя клавиатура, которая позволяет нам открывать гаражные ворота, медленно умирает, с несколькими кнопками, которые почти не регистрируются, что затрудняет доступ наших подростков (или собак) в дом, когда они забывают свой ключ.

Вместо того, чтобы заменить его и перепрограммировать его, я решил пойти немного дальше высоких технологий и заменить его чем-то, для чего нужен только доступ к нашему Wi-Fi и телефону.

Я использовал Pi Zero Wireless и 2-канальное реле, которое я оставил от другого проекта, что позволяет мне управлять как дверью, так и освещением, встроенным в устройство открывания ворот гаража. Поскольку у меня была старая / запасная USB-камера, лежащая вокруг и пылящаяся, я использовал ее вместо PiCam, но это было только для удобства. Это будет отлично работать с любой поддерживаемой камерой - в моей нет ничего особенного, просто Raspbian поддерживает ее.

В отличие от некоторых других подобных проектов, я старался сделать это как можно проще, используя «стандартные» программные пакеты, которые довольно легко установить и запустить, если вы будете следовать инструкциям. На этой фотографии показана моя последняя (совсем не красивая, но это мой гараж) установка, включая Pi, модуль реле и веб-камеру USB, направленную на дверь. Нет особой причины для использования Pi Zero - подойдет любой Pi, если вы можете подключить его к своей внутренней сети, а Wi-Fi упрощает это.

Шаг 1. Подключение к существующей панели управления

Подключение к существующей панели управления
Подключение к существующей панели управления

Во-первых, ВАШИ МОГУТ БЫТЬ ОТЛИЧНЫМИ! У меня одна пара проводов идёт от открывателя ворот гаража к панели управления на стене. Поскольку есть только два провода, которые при тестировании, казалось, имели около 18 вольт, я сначала был немного смущен тем, как именно эта штука может управлять несколькими функциями. Я ДУМАЮ, что каждая кнопка мгновенного действия просто замыкает цепь, но с разными уровнями сопротивления. Затем основной блок может считывать это сопротивление через различные падения напряжения и выполнять правильные действия. Однако все это не имеет значения, если только вы не пытаетесь полностью заменить блок управления на Pi. Не уверен, зачем вам это нужно, так как хорошо, что физический блок все еще находится на месте.

AAAAAnnnyway, все, что вам нужно сделать, это воспроизвести различные нажатия кнопок, подключив мгновенные переключатели на печатной плате к вашему релейному модулю. Это была единственная пайка, которую мне пришлось делать, а контактные площадки на печатной плате были довольно большими, так что это было довольно просто. Оставьте эти провода как бы длинными, так как намного проще укоротить провод, чем удлинить его позже, если только у вас нет растяжителя проводов ACME, но это довольно редко.

Шаг 2: Подключение релейной платы

Подключение платы реле
Подключение платы реле
Подключение платы реле
Подключение платы реле

Здесь нечего сказать, просто соедините все, как на картинках. На 2-релейном модуле Sainsmart контакты JC-VCC и VCC должны быть соединены вместе, если вы не хотите использовать для них полностью отдельный источник питания, но для этого использования это слишком много. Подключите GND к контакту Pi GND, VCC к контакту 5 В, а IN1 и IN2 к любым контактам GPIO, которые вы хотите использовать. Поскольку вы собираетесь использовать их только как переключатели HIGH / LOW, на самом деле не имеет значения, какие именно.

Шаг 3: Установка программного обеспечения

Установка программного обеспечения
Установка программного обеспечения

Это, вероятно, самый трудоемкий шаг, так как вы некоторое время будете наблюдать, как что-то загружается и устанавливается. Посмотрите YouTube или что-то в этом роде, пока кое-что из этого установлено.

Я не буду объяснять, как установить Raspbian. Если вы еще не знаете, как это сделать, возможно, сначала поищите в Google учебники типа «привет, мир». В любом случае, вероятно, лучше всего использовать новую установку Raspbian Lite. Для этого проекта не нужен графический интерфейс, это просто дополнительные накладные расходы. 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 mode 17 out

gpio -g write 17 0 gpio -g write 1 1 gpio -g mode 4 out gpio -g write 4 0 gpio -g write 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 images

Существует бесконечное количество способов создать веб-сайт, но я решил сделать его максимально простым и легким, исходя из МОИХ навыков. Следовательно, PHP, поскольку я его знаю. Если вы гуру Python или какой-либо другой язык сценариев, не стесняйтесь использовать это.

Я создал "контейнерную" страницу index.html, на которой фактически есть два фрейма iframe, которые выполняют всю работу. Один из iframe содержит кнопки / ссылки, которые фактически запускают реле через GPIO, а другой iframe, который отображает видео. Он также содержит ссылки на изображение.png, которое можно использовать в качестве значка на рабочем столе телефона.

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

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

Шаг 5: Попробуйте

Хорошо, теперь, когда у вас все подключено и установлено, все работает отлично с первой попытки, верно? Милая!

Рекомендуемые: