Оглавление:

Пульт дистанционного управления Amazon Echo Controlled IR: 11 шагов (с изображениями)
Пульт дистанционного управления Amazon Echo Controlled IR: 11 шагов (с изображениями)

Видео: Пульт дистанционного управления Amazon Echo Controlled IR: 11 шагов (с изображениями)

Видео: Пульт дистанционного управления Amazon Echo Controlled IR: 11 шагов (с изображениями)
Видео: wifi пульт для IR и RF кодов Broadlink RM4C Pro, работа в Home Assistant - управляем кондиционером 2024, Июль
Anonim
Пульт дистанционного управления Amazon Echo Controlled IR
Пульт дистанционного управления Amazon Echo Controlled IR

Система Amazon Echo может управлять многими аспектами умного дома, но умная розетка может только выключаться и включаться. Многие устройства не включаются мгновенно при простом подключении и требуют дополнительных действий, таких как нажатие кнопок на пульте дистанционного управления или физическом устройстве для включения или получения желаемых настроек.

В этом руководстве Raspberry Pi Zero W будет настроен для работы в качестве устройства умного дома, которым можно управлять с помощью Amazon Echo, и отправлять любые желаемые ИК-команды на устройство при запросе на включение или выключение.

В этом конкретном случае Pi будет настроен для обучения ИК-командам пульта дистанционного управления, снабженного «Инфракрасной кварцевой вставкой для камина ClassicFlame 23II310GRA 23». Затем ИК-светодиод будет использоваться для отправки ИК-команд по запросу, и, наконец, Pi настроен для эмуляции устройства Philips Hue, которым можно управлять с помощью Echo.

Шаг 1: материалы

Материалы
Материалы

Необходимый:

  • Малина Pi Zero W
  • Карта памяти Micro SDHC Class 10 на 4 ГБ или больше (пример на 16 ГБ)
  • MicroUSB
  • 1 ИК-светодиод
  • Адаптер питания MicroUSB (рекомендуется 2,1 А или выше)
  • ИК-светодиод
  • ИК-приемник VS / 1838B
  • Резистор 100 ом
  • Разное. провод

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

  • Порт для наушников
  • 1/8-дюймовый провод для наушников / аудио
  • 2N2222 NPN транзистор
  • Резистор 1 кОм
  • Корпус Rapsberry Pi Zero

Для завершения начальной настройки Raspberry Pi Zero W потребуется несколько дополнительных периферийных устройств, но они не будут использоваться постоянно в завершенном проекте.

  • Адаптер Mini HDMI-HDMI: используется для подключения Pi Zero W к телевизору или монитору с помощью полноразмерного кабеля HDMI.
  • Кабель USB OTG: используется для преобразования микро-USB в полноразмерные USB-порты для подключения клавиатуры и / или мыши.
  • Кабель HDMI: используется для подключения к телевизору или монитору вместе с адаптером для мини-HDMI.

Первые два предмета, а также футляр включены в различные стартовые комплекты Pi Zero, такие как: MakerSpot Mega Kit

Шаг 2: Настройте Raspberry Pi

На веб-сайте Raspberry Pi есть отличное пошаговое руководство по настройке Raspbian Stretch OS на Raspberry Pi. Я рекомендую версию Lite для меньшего размера, если это проект, работающий только на Pi. Если вы хотите иметь больше опций операционной системы в будущем или более простую настройку, следуя инструкциям для NOOBS, вы сразу же приступите к работе. Это руководство основано на Raspbian, который входит в состав NOOBS.

www.raspberrypi.org/learning/software-guide/

После запуска Raspbian включите SSH, чтобы разрешить удаленные подключения к устройству без необходимости подключения монитора / клавиатуры / мыши напрямую к Pi. Если вы хотите дополнительно иметь удаленный доступ к графическому интерфейсу пользователя, вы также можете включить доступ VNC.

www.raspberrypi.org/documentation/remote-access/ssh/

Также настоятельно рекомендуется установить статический IP-адрес в конфигурации беспроводной сети, чтобы он не менялся с течением времени. Возможно, IP-адрес не изменится, если новые устройства не будут регулярно подключаться к беспроводной сети, но его статическая настройка гарантирует, что этого не произойдет.

www.circuitbasics.com/how-to-set-up-a-static-ip-on-the-raspberry-pi/

Шаг 3: Настройка LIRC

Настройка LIRC
Настройка LIRC
Настройка LIRC
Настройка LIRC
Настройка LIRC
Настройка LIRC
Настройка LIRC
Настройка LIRC

Следующие шаги во многом основаны на отличных руководствах, которые можно найти здесь:

alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/https://camp.isaax.io/en/isaax-examples/ir-control-via- lirc-on-raspberry-pi-zero-w

Это руководство основано на Rasbian Stretch и lirc 0.9.4c-9. Другие руководства могут быть основаны на более ранних версиях и упоминать файл hardware.conf, который больше не нужен с этой версией и выше. Я также обнаружил, что в моих системах больше нет необходимости изменять файл / etc / modules. На этот раз для версии ядра 4.19 потребуются дополнительные изменения, которые в настоящее время здесь не описаны. Пожалуйста, убедитесь, что вы используете версию 4.14 для этого набора инструкций.

Библиотека инфракрасного дистанционного управления Linux (LIRC) используется для обработки приема ИК-команд через модуль приемника, сохранения их в файл и последующей отправки команд, когда это необходимо, через ИК-светодиод.

Первый шаг - записать ИК-сигналы с нашего существующего пульта с помощью ИК-приемника и сохранить их в файл. ИК-приемник сначала нужен только для изучения ИК-сигналов, а затем его можно удалить, чтобы можно было использовать временное соединение.

Подключите ИК-приемник к Raspberry Pi. Используйте прилагаемое изображение, чтобы определить контакты VCC, GND и Signal. Использование макета, соединительных проводов или творческого изгиба контактов для следующих соединений

VCC подключается к контакту 5 В, заземлению к контакту заземления Сигнал к контакту 23

Включите Raspberry Pi и подключитесь к нему, открыв терминал на локальном устройстве или создав соединение SSH с помощью такой программы, как Putty для Windows.

Следующие строки можно скопировать и вставить в сеанс SSH. Они будут добавлять / изменять строки в различные файлы конфигурации, необходимые для работы lirc.

sudo apt update

sudo apt install -y lirc echo dtoverlay = lirc-rpi, gpio_in_pin = 23, gpio_out_pin = 22 | sudo tee -a /boot/config.txt sudo sed -i '/ driver = * / cdriver = default' /etc/lirc/lirc_options.conf sudo sed -i '/ device = * / cdevice = / dev / lirc0' / etc / lirc / lirc_options.conf sudo shutdown -r сейчас

Подождите, пока устройство перезагрузится, и снова войдите в систему.

Дополнительно: тестовый ИК-приемник

Установите устройство LIRC, чтобы убедиться, что любой ввод может быть получен. Возможно, вам придется перезапустить Pi после завершения этого теста, чтобы сделать его доступным для последующих шагов.

sudo systemctl stop lircd

mode2 -d / dev / lirc0Направьте ИК-пульт дистанционного управления на приемник, нажмите кнопку и убедитесь, что данные отображаются на экране. CTRL + C для остановки.

На этом этапе программа LIRC установлена, и мы можем просматривать информацию IR.

Шаг 4: захват ИК-кодов

Удаленный профиль можно скачать с сайта LIRC.

lirc-remotes.sourceforge.net/remotes-table.html

и поместите в /etc/lirc/lircd.confg.d, или пользовательский профиль может быть создан с вашим собственным пультом дистанционного управления.

Во время этого процесса вы будете вводить имя клавиши / кнопки, которую вы записываете. Разрешены только действительные имена, поэтому выполните следующую команду, чтобы просмотреть все доступные имена

irrecord --list-пространство имен Пример: я использовал имя KEY_POWER при записи кнопки питания на пульте дистанционного управления и KEY_TIME при записи кнопки таймера.

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

Создать файл удаленной конфигурации

Создайте новый файл конфигурации удаленного управления (используя / dev / lirc0)

sudo systemctl stop lircd

cd ~ irrecord -d / dev / lirc0 Если вы столкнулись с ошибкой о невозможности декодирования данных или что-то пошло не так, нажмите CTRL + C, чтобы отменить и запустить последнюю команду asirrecord -f -d / dev / lirc0, это заставит запись работать в необработанном режиме и позволит процессу продолжаться

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

Скопируйте новый файл (ы) конфигурации в каталог lircd.conf.d и снова запустите lirc.

sudo cp ~ / *. lircd.conf /etc/lirc/lircd.conf.d

sudo systemctl start lircd

На этом этапе коды удаленного доступа были записаны в файл.

Шаг 5: разъем для наушников (необязательно)

Разъем для наушников (опционально)
Разъем для наушников (опционально)
Разъем для наушников (опционально)
Разъем для наушников (опционально)

Чтобы сделать ходовые провода и модифицировать Raspberry Pi более модульным, я приклеил к корпусу 1/8 дюймовый аудиоразъем для наушников и подключил провода к разъему. Для подключения ИК-светодиода использовались провода наушников с подходящим штекером, поэтому этот провод можно было направить в незаметное место, чтобы указать на ИК-приемник устройства, которое я хотел подключить, но его можно было легко отсоединить от Pi, не снимая все провода.

Это совершенно необязательно, но пригодится.

Шаг 6: Подключение ИК-светодиода (быстрое)

Подключение ИК-светодиода (быстрое)
Подключение ИК-светодиода (быстрое)
Подключение ИК-светодиода (быстрое)
Подключение ИК-светодиода (быстрое)
Подключение ИК-светодиода (быстрое)
Подключение ИК-светодиода (быстрое)

Подключить ИК-светодиод к Raspberry Pi можно несколькими способами. Этот шаг показывает, как быстро я его подключил, но который, как я узнал позже, может превышать ограничение по току на выводах Pi. Пока не столкнулся с какими-либо проблемами, но более идеальный способ подключения описан в следующем шаге.

Рассчитайте резистор, необходимый для вашего ИК-светодиода. https://ledcalculator.net/ может помочь с определением правильного номинала резистора, если у вас есть все характеристики вашего светодиода. В этом случае напряжение на контакте 22 составляет 3,3 В, падение напряжения на светодиодах составляет 1,2 В, номинальный ток составляет 20 мА, и был использован 1 светодиод, в результате чего требуется резистор сопротивлением 110 Ом. Я использовал единственный резистор на 100 Ом.

Примечание. Позже мое внимание было обращено на то, что максимальный ток всех выводов в любой момент времени составляет 16 мА, так что эта конфигурация может превышать это значение. Лучшая конфигурация с транзистором и источником питания 5 В описана в следующем шаге, но после нескольких недель работы в этой конфигурации я еще не столкнулся с какими-либо проблемами.

Контакт 22 на Raspberry Pi будет подключен к аноду ИК-светодиода, который по умолчанию является более длинным.

Более короткий вывод светодиода подключается к резистору, а затем к выводу заземления. Я отрезал большую часть провода на резисторе и припаял его непосредственно к контакту заземления и к проводу заземления, идущему к светодиоду.

Шаг 7: Подключение ИК-светодиода (правильный метод)

Подключение ИК-светодиода (правильный метод)
Подключение ИК-светодиода (правильный метод)
Подключение ИК-светодиода (правильный метод)
Подключение ИК-светодиода (правильный метод)

Чтобы правильно подключить светодиод, не превышая предел прорисовки Raspberry Pi, подключите светодиоды к источнику питания 5 В с соответствующим резистором, подключите контакт катода к контакту коллектора резистора 2N2222, подключите контакт эмиттера транзистора к земле, и подключите вывод 22 Pi к резистору 1 кОм к выводу базы транзистора. Это позволяет очень небольшому току от контакта 22 подключать светодиод к земле, замыкая цепь без перетягивания Pi.

В моем примере я подключил 2 ИК-светодиода, чтобы я мог управлять окружающим освещением, а также электрическим камином.

Шаг 8: Тестирование отправки ИК-команд

Тестирование отправки ИК-команд
Тестирование отправки ИК-команд

Для отправки ИК-команды используется программа irsend.

Синтаксис: irsend

Пример: irsend SEND_ONCE Spectrafire KEY_POWER Один раз отправляет команду кнопки питания с пульта Spectrafire. Замените Spectrafire тем, что вы назвали своим пультом. Повторите то же самое с другими названиями клавиш, используемыми при записи файла.

На этом этапе вы можете отправлять любые команды, ранее записанные с помощью ИК-светодиода, подключенного к Raspberry Pi.

Шаг 9: Установка Ha-bridge

Чтобы позволить Echo управлять нашим устройством, мы будем эмулировать лампу Philips Hue с помощью ha-bridge. После настройки Echo сможет обнаруживать это устройство и отправлять ему команды включения / выключения питания.

На веб-сайте ha-bridge четко описан процесс работы с текущей версией, и его настоятельно рекомендуется просмотреть.

github.com/bwssytems/ha-bridge

Скопируйте и вставьте следующие строки в сеанс SSH, чтобы установить и настроить HA Bridge. (Возможно, потребуется запустить саму первую строку, а затем вставить оставшиеся строки

sudo apt install -y оракул-java8-jdk

mkdir / home / pi / habridge cd / home / pi / habridge / rm ha-bridge - *. jar -f wget $ (curl -s https://api.github.com/repos/bwssytems/ha-bridge/releases / latest | grep 'browser_' | cut -d / "-f4) mv ha-bridge - *. jar ha-bridge.jar echo [Unit] | sudo tee /etc/systemd/system/habridge.service echo Description = HA Мост | sudo tee -a /etc/systemd/system/habridge.service echo Wants = network.target | sudo tee -a /etc/systemd/system/habridge.service echo After = network.target | sudo tee -a / etc /systemd/system/habridge.service echo | sudo tee -a /etc/systemd/system/habridge.service echo [Сервис] | sudo tee -a /etc/systemd/system/habridge.service echo Тип = простой | sudo tee -a /etc/systemd/system/habridge.service echo WorkingDirectory = / home / pi / habridge | sudo tee -a /etc/systemd/system/habridge.service echo ExecStart = / usr / bin / java -jar -Dconfig. файл = / home / pi / habridge / data / habridge.config /home/pi/habridge/ha-bridge.jar | sudo tee -a /etc/systemd/system/habridge.service echo | sudo tee -a / etc / systemd / system / hab ridge.service echo [Установить] | sudo tee -a /etc/systemd/system/habridge.service echo WantedBy = multi-user.target | sudo tee -a /etc/systemd/system/habridge.service # Reload System Control and start service, настройка включения при запуске sudo systemctl daemon-reload sudo systemctl start habridge.service sudo systemctl enable habridge.service

Шаг 10: имитация лампы Philips Hue

Эмуляция лампы Philips Hue
Эмуляция лампы Philips Hue
Эмуляция лампы Philips Hue
Эмуляция лампы Philips Hue

При запущенном ha-bridge откройте веб-браузер и введите IP-адрес Raspberry Pi, после чего должен появиться интерфейс для ha-bridge.

Щелкните ссылку "Добавить / изменить" вверху страницы.

Имя: введите имя, которое вы хотите использовать при произнесении команд.

В разделе «По элементам» установите тип «Выполнить команду / сценарий / программу и введите команду в поле« Целевой элемент ». Если требуется несколько команд, нажмите кнопку« Добавить », чтобы сохранить текущую строку и ввести другую команду. также можно установить задержку и повторить команду определенное количество раз. В этом случае сначала нужно было нажать кнопку питания, а затем кнопку таймера, нажав 3 раза, чтобы установить таймер автоматического выключения на 3 часа.

Повторите ту же идею для области «Off Items», нажав Add, когда закончите.

Вверху страницы нажмите «Добавить устройство моста», чтобы сохранить его как новый элемент, или «Обновить устройство моста», если измените существующий.

Направьте ИК-светодиод на устройство. На странице Bridge Devices нажмите кнопку Test ON или Test OFF, чтобы убедиться, что все работает должным образом.

Шаг 11. Подключение к Amazon Echo

Подключение к Amazon Echo
Подключение к Amazon Echo

Последний шаг - разрешить Amazon Echo связываться с этим устройством. Примечание. Оба устройства должны быть в одной сети.

Вариант 1) скажите «Алекса, открой для себя умные домашние устройства».

Вариант 2) Откройте приложение Alexa, нажмите «Меню»> «Умный дом» и нажмите ссылку «Обнаружить устройства».

Через некоторое время устройство должно быть распознано.

Произнесите «Алекса, включи камин в спальне» и убедитесь, что устройство включается должным образом. Замените камин в спальне тем, что вы называете своим устройством в ha-bridge. Повторите процесс, чтобы выключить устройство.

Если вы еще не установили ИК-светодиод, найдите незаметное место для его установки, позволяя ему указывать в общем направлении ИК-приемника в устройстве. Возможно, вам придется переместить его, чтобы указать на разные области, чтобы найти лучшее место.

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