- Как автоматизировать гаражные ворота с помощью IFTTT и Raspberry Pi
- Что вам нужно
- Как работает эта автоматизированная гаражная дверь
- Шаг 1: Подключите Raspberry Pi к реле
- Шаг 2: Установите зависимости на Raspberry Pi
- Шаг 3: Создать скрипт управления
- Шаг 4: Подключите реле к двигателю двери
- Шаг 5: Установите скрипт для автозагрузки
- Вопросы безопасности, о которых следует помнить
- Управление гаражными воротами с помощью IFTTT или Siri
- Beyond the Garage: больше проектов DIY Умный дом
- Управляйте 8 реле с помощью Raspberry Pi Pico, используя PicoRelay8 или Pico-Relay-B
- PicoRelay8
- Waveshare Pico-Relay-B
Как автоматизировать гаражные ворота с помощью IFTTT и Raspberry Pi
Умные домашние гаджеты крутые, но могут быть дорогими. С Raspberry Pi и одним или двумя компонентами легко и дешево подключить существующие устройства к Интернету.
Создание интернет-двери вашей гаражной двери — отличное введение в изучение того, как управлять реальным миром с помощью Pi. И давайте будем честными, кто не хочет чувствовать себя немного похожим на Бэтмена и иметь свой гараж открытым, когда они подъезжают к своей дороге?
Что вам нужно
Для автоматизации ваших гаражных ворот вам понадобятся:
- Мотор гаражных ворот, который может использовать внешний триггер.
- Raspberry Pi (любая модель) подключен к интернету. В этом руководстве предполагается, что ваш Pi работает под управлением операционной системы Raspbian (если это не так, см. Нашу статью о том, как установить Raspbian на Raspberry Pi ).
- Плата расширения реле , которую можно найти на Амазоне.
- Блок питания 2A для Raspberry Pi. У модели с более низким рейтингом могут возникнуть проблемы при управлении платой реле, а также Pi.
- Четыре соединительных кабеля (плюс еще один для каждой дополнительной двери, которую вы хотите контролировать).
- Достаточно двухжильного кабеля, чтобы добраться между пи и мотором ворот гаража. Дешевый динамик идеально подходит, но телефон или кабель Ethernet тоже могут работать.
После того, как вы собрали эти компоненты вместе, пришло время начать.
Как работает эта автоматизированная гаражная дверь
Большинство двигателей гаражных ворот могут запускаться для открытия или закрытия через внешний вход. Производители включают эти входы, чтобы установщики могли подключить простую кнопку где-нибудь в доме, чтобы открыть или закрыть дверь без использования обычного пульта дистанционного управления. Когда кнопка пуска нажата и отпущена, она на мгновение замыкает цепь, которая сообщает двигателю запуск или останов.
Вы собираетесь использовать реле вместо внешней кнопки. Короткое замыкание реле закроет цепь, точно так же, как если бы была нажата кнопка запуска. Скрипт Python, запущенный на Raspberry Pi, позволит вам управлять реле и, следовательно, дверью из вашей домашней сети.
Шаг 1: Подключите Raspberry Pi к реле
Вы будете устанавливать как минимум четыре соединения между Raspberry Pi и платой реле. Если вы используете Pi Zero, вам нужно либо напрямую припаять соединения, либо припаять разъем GPIO к Pi и использовать перемычки для соединений. Последний вариант рекомендуется, потому что если вы когда-нибудь захотите отсоединить плату реле и использовать Raspberry Pi для чего-то другого, вам не нужно будет паять ваши соединения. Более крупная модель Pis уже имеет штыревые контакты для подключения нажимных перемычек.
Если вы новичок в использовании GPIO, обязательно прочитайте нашу статью Все, что вам нужно знать о выводах Raspberry Pi GPIO
Перед подключением проверьте, есть ли на вашей плате реле перемычка, соединяющая контакты VCC и JD-VCC. Если это так, удалите его, потому что вам нужно отдельно подключить VCC и JD-VCC.
Когда все выключено, подключите релейную плату к вашему Pi следующим образом:
- Начните с подключения Pi Pin 2 (шина 5 В) к JD-VCC на плате реле.
- Подключите контакт Pi 1 или контакт 17 (шина 3.3 В) к VCC на плате реле.
- Подключите контакт Pi 6 (GND) к GND на плате реле.
- Наконец, подключите Pi Pin 7 (GPIO 4) к IN1 на плате реле. Это соединение, которое переключает реле.
Если у вас есть более одной гаражной двери, или если вы хотите добавить управление для электрических ворот, вы должны добавить дополнительные соединения между IN2, IN3 и т. Д. На плате реле и другими свободными входными / выходными выводами GPIO на Pi.
Шаг 2: Установите зависимости на Raspberry Pi
Raspbian поставляется с предустановленным Python, но вам нужно будет добавить библиотеку GPIO. Введите следующее в окне терминала на вашем Pi:
sudo apt-get update sudo apt-get -y install python-rpi.gpio
Теперь создайте новую папку в вашем домашнем каталоге, где-нибудь, чтобы поместить скрипт Python, который будет управлять реле:
mkdir ~/garagedoor cd ~/garagedoor
Наконец, загрузите бутылку , облегченный фреймворк, который создаст простой веб-сервер на вашем Pi:
wget https://bottlepy.org/bottle.py
Шаг 3: Создать скрипт управления
Вот очень простой скрипт Python для управления платой реле через HTTP:
# Python Script To Control Garage Door # Load libraries import RPi.GPIO as GPIO import time from bottle import route, run, template # Set up the GPIO pins GPIO.setmode(GPIO.BOARD) GPIO.setup(7, GPIO.OUT) GPIO.setup(11, GPIO.OUT) GPIO.output(7, True) GPIO.output(11, True) # Handle http requests to the root address @route('/') def index(): return 'Go away.' # Handle http requests to /garagedoor @route('/garagedoor/:doornum') def garagedoor(doornum=0): if doornum == '0': return 'No door number specified' elif doornum == '1': GPIO.output(7, False) time.sleep(.8) GPIO.output(7, True) return 'Door number 1 cycled.' elif doornum == '2': GPIO.output(11, False) time.sleep(.8) GPIO.output(11, True) return 'Door number 2 cycled' run(host='0.0.0.0', port=1234)
На вашем Raspberry Pi создайте новый файл Python, используя nano:
Скопируйте и вставьте скрипт выше в пустой документ. Выйдите и сохраните, нажав CTRL + X , затем Y и Enter для подтверждения.
Теперь протестируйте скрипт, запустив его:
Если все работает, вы увидите следующее сообщение:
Если вы получаете какие-либо сообщения об ошибках, проверьте, правильно ли все вставлено в файл, и что у вас нет другого веб-сервера, такого как Apache, работающего на том же порту (это будет мешать серверу, который создает скрипт).
Предполагая, что ошибок нет, перейдите в веб-браузер на другом компьютере в той же сети и в адресной строке введите IP-адрес вашего Pi, а затем двоеточие и 1234. Например, если IP-адрес вашего Raspberry Pi был 11.22.33.44, вы должны ввести 11.22.33.44:1234 в ваш браузер.
Если все работает, вы увидите сообщение, говорящее вам, чтобы уйти!
Теперь добавьте / garagedoor / 1 после IP-адреса и номера порта, например: 11.22.33.44:1234/garagedoor/1
Нажмите Enter , и вы услышите, как первое реле на плате дважды щелкнет, когда оно закрывается и открывается снова. Если вы измените 1 на 2 и перезагрузите страницу, вы услышите второй цикл реле.
Шаг 4: Подключите реле к двигателю двери
Обратитесь к руководству по эксплуатации двигателя гаражных ворот, чтобы узнать, где можно подключить внешний контроллер. Подсоедините к нему двухжильный кабель и подключите другой конец кабеля к винтовым клеммам платы реле.
На реле имеется три клеммы — используйте нормально разомкнутую пару, как показано на рисунке.
Протестируйте все из веб-браузера снова (вы можете просто обновить страницу). Если все пойдет хорошо, реле щелкнет пару раз, и ваша дверь гаража должна начать открываться.
Шаг 5: Установите скрипт для автозагрузки
Если ваш Raspberry Pi перезагружается по какой-либо причине, например, из-за сбоя питания, ваш скрипт Python перестанет работать. Чтобы загрузить его при запуске, добавьте следующую строку в ваш файл /etc/sc.local (если вы вошли в свой Pi как другой пользователь, измените Pi на свое имя пользователя):
nohup python /home/pi/garagedoor/door.py &
Сделайте это с помощью обычного текстового редактора, сохранив файл, когда вы закончите.
Вопросы безопасности, о которых следует помнить
В этом примере скрипта Python нет никакой защиты — любой, кто сможет получить доступ к вашему Raspberry Pi по его IP-адресу, сможет открывать и закрывать дверь гаража. Соблазнительно думать, что если никто не знает, что ваш сценарий находится там, никто его не найдет, но безопасность из-за неясности не раз становилась плохой идеей.
Полная система аутентификации выходит за рамки данного руководства, но простое решение для обеспечения безопасности состоит в том, чтобы не сделать ваш Pi доступным вне вашей домашней сети.
Управление гаражными воротами с помощью IFTTT или Siri
Если вы решите сделать свой Pi доступным из открытого Интернета, вы можете управлять дверью гаража с помощью таких услуг, как If This Then That (IFTTT). Например, вы можете комбинировать сервисы Alexa и Webhooks IFTTT, чтобы открыть свои двери в гараж, когда произносите фразу-триггер для Amazon Echo.
Если вы управляете автомобилем с подключенной службой IFTTT, вы можете создать апплет. чтобы открыть дверь, когда ваш автомобиль приближается к вашей собственности, в стиле Бэтмена.
Хотите узнать больше? Посмотрите наше загружаемое руководство по использованию IFTTT в качестве профессионала
Еще один способ запустить вашу недавно доступную в Интернете дверь гаража — воспользоваться сочетанием клавиш Siri. Добавление в виджеты действительно простого ярлыка означает, что вы можете забыть о ношении раздражающих ключей и вместо этого открыть свой гараж, проведя пальцем по экрану и нажав на свой iPhone.
Beyond the Garage: больше проектов DIY Умный дом
Релейные платы могут переключать сетевое напряжение и, следовательно, могут контролировать большинство бытовых приборов. Этот проект может послужить основой для добавления смартов практически ко всему с источником питания. Кофемашины, освещение, кондиционеры — все они готовы для автоматизации с помощью Raspberry Pi и некоторых реле.
Управляйте 8 реле с помощью Raspberry Pi Pico, используя PicoRelay8 или Pico-Relay-B
PicoRelay8 от 8086 Consultancy — это базовая плата для платы Raspberry Pi Pico (W), оснащенная восемью нормально разомкнутыми реле 28 В постоянного тока / 10 А, которые можно использовать для всех видов проектов автоматизации, в то время как Waveshare Pico-Relay-B также поддерживает восемь реле как с постоянным током, так и с Загружается переменным током и поставляется с некоторыми дополнительными функциями.
PicoRelay8
Характеристики платы PicoRelay8:
- Поддерживаемая плата MCU — Raspberry Pi Pico или Pi Pico W, а также может работать с «в основном» совместимыми платами, такими как Banana Pi BPI-Pico-RP2040 или BPI-PicoW-S3, WeAct RP2040 и другими, если все GPIO используемые в PicoRelay8, выведены на одни и те же контакты.
- Реле
- 8x реле HF3FF/005-1HST рассчитаны на 28В постоянного тока/10А, а также на 10А/250В переменного тока и 15А/125В переменного тока, но плата не рассчитана на питание от сети (с точки зрения безопасности), поэтому она только реально подходит для нагрузок постоянного тока
- К каждому реле прикреплена 2-контактная клеммная колодка.
- Высокий уровень GPIO = замкнуть реле, чтобы включить подключенное к нему устройство, низкий уровень GPIO = разомкнуть реле
Образца кода нет, но сейчас он действительно необходим, поскольку пользователю нужно будет просто переключать GPIO в коде. PicoRelay8 продается на Tindie за 18,80 долларов США плюс доставка. Но наши европейские друзья не смогут приобрести плату на Tindie, поскольку британская компания 8086 Consultancy объясняет: «Из-за изменений НДС в ЕС и ограничений системы Tindie от 1 июля 2021 года я в настоящее время не отправляю в ЕС». Со временем PicoRelay8 может быть доступен у других дистрибьюторов, как и некоторые другие продукты компании.
Waveshare Pico-Relay-B
Но, изучая тему, мы также нашли альтернативную плату с аналогичными функциями: Waveshare Pico-Relay-B, описываемую как «промышленный 8-канальный релейный модуль для Raspberry Pi Pico с мультизащитой». Печатная плата поставляется с оптронной изоляцией, которая позволяет ей работать с устройствами до 220 В переменного тока / 10 А, помимо устройств постоянного тока до 30 В / 10 А, а также с несколькими дополнительными функциями, такими как зуммер, две кнопки, светодиод RGB и микроконтроллер. USB-порт для управления GPIO через USB. Для питания платы используется 2-контактный разъем, также компания предлагает корпус.
Предоставляется Wiki, показывающая дополнительные сведения об оборудовании, а также примеры кода и инструкции по началу работы с C/C++ или MicroPython на Raspberry Pi Pico. Пользователь Github longmover также написал программу MicroPython для интеграции Pico-Relay-B с Home Assistant через WiFi (MQTT).
Waveshare продает Pico-Relay-B в собственном магазине по цене 18,99 долларов США вместе с корпусом, но не Raspberry Pi Pico. Кроме того, вы также найдете его на Amazon US или Aliexpress по цене от 26 до 29 долларов США, включая доставку, а также у различных дистрибьюторов.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.