Домашняя автоматизация RaspberryPi с использованием OpenHAB: 9 шагов
Домашняя автоматизация RaspberryPi с использованием OpenHAB: 9 шагов
Anonim
RaspberryPi Домашняя автоматизация с использованием OpenHAB
RaspberryPi Домашняя автоматизация с использованием OpenHAB

Домашняя автоматизация с использованием Raspberry Pi 3B и OpenHAB. [Необязательно] Мы будем использовать Google Home (или Google Assistant), чтобы включить голосовое управление.

Шаг 1. Необходимые детали

Для этого проекта нам потребуется:

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

  1. Raspberry Pi (я использовал плату 3B)
  2. Google Home Mini [Необязательно] (Вы тоже можете использовать Ассистент!)
  3. Провода перемычки
  4. Модуль реле

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

  1. OpenHABian Pi [Вы также можете использовать Raspbian OS]
  2. IFTTT

Шаг 2. Начало работы с программным обеспечением

У вас есть два из следующих вариантов:

  1. Перепрограммируйте Raspbian и затем установите на него OpenHAB. (Утомительно и нехорошо)
  2. Непосредственно прошить OpenHABian на SD-карту и запустить ее напрямую (чертовски просто)

Я использовал второй вариант: прошил OpenHABian на SD-карту и поместил в RPi. Итак, я собираюсь обсудить этот метод. Если вы хотите следовать первому, следуйте этому руководству, Ручная установка.

В противном случае выполните следующие действия:

  • Загрузите последний образ системы OpenHABian.
  • Прошить на SD-карту с помощью Etcher.io
  • После успешной прошивки вставьте SD-карту в Rpi и подключите Ethernet к Rpi. (Вы также можете использовать Wi-Fi).
  • Загрузите Rpi. Вам не нужен экран и / или мышь и клавиатура, поскольку SSH и Samba уже включены!
  • Подождите 30–45 минут, чтобы OpenHAB завершил первоначальную настройку.
  • После этого перейдите по адресу https:// openhabianpi: 8080 Это будет адрес вашего Rpi, откуда вы можете получить к нему доступ.

Это все, что касается начальной установки.

Настройка OpenHAB

После того, как OpenHAB завершит первоначальную настройку, перейдите по адресу https:// openhabianpi: 8080.

  • Там перейдите в Paper UI.
  • Там перейдите в Addons> Bindings. Найдите GPIO в строке поиска. Установите привязку GPIO. Затем перейдите на вкладку MISC и установите openHAB Cloud Connector.

Шаг 3. Настройка OpenHAB - создание элементов

Теперь нам нужно получить доступ к нашему Rpi через SSH. Я собираюсь использовать PuTTY. Если у вас MacOS или Linux, вы можете использовать терминал.

SSH через PuTTY-

  • Откройте PuTTY.
  • Перейдите на страницу администратора вашего роутера и узнайте IP-адрес. Он будет называться OpenHABian.
  • Скопируйте IP-адрес, вставьте его в PuTTY и нажмите «Открыть».
  • Теперь вам нужно авторизоваться -
  • войти как: openhabianpassword: openhabian
  • После входа в систему введите следующие команды:
  • $ cd / etc / openhab2 $ ls
  • Теперь он покажет вам все доступные каталоги. Мы будем использовать - items (для создания различных элементов), правила (для включения голосовых команд) и карты сайта (для создания карты сайта для навигации). Мы создадим карту сайта как -home.sitemap. Файл items будет - home.items. И файл правил будет - home.rules.
  • $ sudo nano items / home.items $ пароль: openhabian
  • Это откроет пустой документ. Здесь мы создадим наши элементы, которые мы будем контролировать через Rpi. В моем случае я использовал 4 шт. Вы можете использовать столько, сколько захотите.

  • // Элементы Файл Переключить вентилятор "Fan" {gpio = "pin: 17 activelow: yes initialValue: low"} Переключить night_light «Night Lamp» {gpio = "pin: 27 activelow: yes initialValue: high"} Переключить выхлоп «Вытяжной вентилятор "{gpio =" pin: 23 activelow: yes initialValue: high "} Включить свет" Light "{gpio =" pin: 5 activelow: yes initialValue: low "}

    String VoiceCommand

Здесь я бы объяснил вышесказанное на примере - Переключатель вентилятора "Fan" {gpio = "pin: 17 activelow: yes initialValue: low"} Здесь происходит следующее:

  • Переключатель - это ключевое слово, которое определяет, что элемент является переключателем.
  • fan (общий - назовите его как хотите) - это определяемый пользователем идентификатор для обозначения различных элементов, которыми нужно управлять.
  • «Вентилятор» (общий - назовите его как хотите) - это отображаемое имя, которое будет отображаться в пользовательском интерфейсе.

  • (имя значка) - это имя значка, которое будет отображаться вместе с именем.
  • {gpio = "pin: 17 activelow: yes initialValue: low"} - здесь gpio - это то, что сообщает OpenHAB, что элемент подключен через gpio. pin: 17 - это контакт, к которому вы подключаете реле. activelow: yes (или no) - Активный низкий уровень означает, что когда переключатель выключен, на вывод gpio не будет подаваться напряжение, а когда переключатель включен, будет подаваться напряжение. initialValue: high (or low) - после этого идет initialValue, и он сообщает openhab, что установить начальное значение элемента во время инициализации. Он установлен на высокий уровень, потому что я хочу, чтобы переключатель был выключен во время инициализации.
  • String VoiceCommand - это элемент, который будет использоваться для управления другими элементами с помощью голосовых команд.
  • Вы можете создать столько элементов, сколько захотите, используя этот синтаксис:
  • type item-name "item-display_name" {gpio = "pin: pin-no activelow: (да или низкий) initialValue: (высокий или низкий)
  • После этого нажмите Ctrl + X, затем Y и Enter.
  • $ cd..

Шаг 4. Создание файла Sitemap

Карта сайта будет использоваться для навигации и управления переключателями реле.

  • Учитывая, что вы продолжаете после выполнения вышеуказанных шагов, введите терминал
  • $ sudo nano sitemaps / home.sitemap
  • Этот файл будет картой сайта по умолчанию для навигации. Приведенная выше команда откроет пустой файл. Вам необходимо создать карту сайта следующим образом:

sitemap home label = "Умный дом"

{

Frame label = "Моя комната" {

Элемент переключения = вентилятор

Переключатель = свет

Элемент переключения = выхлоп

Переключить item = night_light

}

}

  • sitemap home label = "Умный дом (используйте все, что хотите)" - это заголовок домашней страницы. Вы можете использовать все, что захотите.
  • Frame label = "Моя комната (используйте все, что хотите)" - это будет подраздел. Заголовок может быть любым.
  • Переключить item = fan - это вместе с другими определит элементы, которые вы хотите видеть и которыми вы хотите управлять с домашней страницы. Вы должны ввести созданные нами названия предметов. НЕ ВВОДИТЕ НАЗВАНИЕ ЭЛЕМЕНТА НА ДИСПЛЕЕ.
  • После этого нажмите CTRL + X, Y и Enter.

Шаг 5: Создание правила для голосовой команды

Для этого нужно создать простое правило. Я использовал ссылку из этого руководства. Итак, для голосовых команд давайте создадим основной файл правил -

$ sudo nano rules / home.rules

Будет создан пустой файл.rules.

Вы можете получить доступ к файлу правил здесь

Что ж, это длинный код с множеством файлов и команд. Но вам нужно только учитывать следующее, чтобы создать свой собственный набор команд.

  • if (command.contains ("включить вентилятор") || (command.contains ("включить вентилятор"))) - здесь я перечислил два варианта, которые я могу сказать, чтобы заставить команду работать. На самом деле происходит следующее: когда я говорю о зарезервированной строке, OpenHAB распознает ее и проверяет конкретное правило, чтобы сделать то, что происходит дальше.
  • fan.sendCommand (ON) - Когда вышеупомянутое условие истинно, эта функция отправляет команду ON на вентилятор элемента. Его можно изменить по вашему выбору.

Что ж, если вы добрались сюда без проблем, поздравляю, потому что большая часть работы сделана. Теперь нам нужно настроить пользовательский интерфейс и включить удаленный доступ для нашего OpenHAB.

Шаг 6: Настройка BasicUI

Теперь нам нужно указать OpenHAB использовать созданную нами карту сайта, чтобы использовать ее в качестве карты по умолчанию.

Вот как это сделать-

  • Перейдите по адресу https:// openhabianpi: 8080
  • Открыть пользовательский интерфейс Paper
  • Конфигурации> Службы> Пользовательский интерфейс> Настроить базовый пользовательский интерфейс
  • Здесь вы можете выбрать тему, форматы значков и т. Д. Главное, что вам нужно сделать, это изменить карту сайта по умолчанию на домашнюю.
  • Нажмите кнопку "Сохранить".
  • Вы можете просмотреть его, перейдя по адресу https:// openhabianpi: 8080
  • Нажмите на Basic UI и вуаля вы увидите там свою карту сайта.

Шаг 7. Включение удаленного доступа

Чтобы включить удаленный доступ, выполните следующие действия:

  • Перейдите по адресу https:// openhabianpi: 8080
  • Открыть пользовательский интерфейс Paper
  • Конфигурации> Службы> Ввод-вывод> Настроить облако OpenHAB
  • Измените режим на Уведомления и удаленный доступ, базовый URL -> https://myopenhab.org/ и элементы для отображения -> Выберите их все
  • Нажмите кнопку "Сохранить".
  • Перейдите на
  • Зарегистрируйтесь, используя адрес электронной почты и пароль.
  • Для openHAB UUID ->
  • $ судо нано / вар / библиотека / openhab2 / uuid
  • Скопируйте и вставьте этот UUID в столбец UUID.
  • Для секрета OpenHAB->
  • $ sudo nano / var / lib / openhab2 / openhabcloud / секрет
  • Скопируйте и вставьте его в столбец «Секрет» и нажмите «Зарегистрироваться».
  • Теперь после успешной перезагрузки Rpi вы увидите статус онлайн на
  • Перейти на вкладку товаров
  • Здесь вы можете увидеть все созданные вами предметы. Если вы ничего не видите, вам нужно переключить все эти элементы хотя бы один раз.

Шаг 8: МОДУЛЬ !!

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ!!!!
АППАРАТНОЕ ОБЕСПЕЧЕНИЕ!!!!

Будьте очень осторожны, так как мы будем иметь дело с 220 В и другими электрическими вещами.

БУДЬ ОСТОРОЖЕН

ВЫ ДЕЛАЕТЕ ЭТО НА СВОЙ СОБСТВЕННЫЙ РИСК

Подключение реле к Raspberry Pi-

Чтобы подключить реле к Raspberry Pi, подключите VCC к 5V на Rpi.

  • Подключите GND на реле к GND Raspberry Pi
  • Затем подключите IN1, IN2,… к GPIO, назначенному в home.items.

Чтобы проверить, все ли работает, перейдите в BasicUI и попробуйте выключить и включить различные элементы. Вы должны услышать щелчок на каждом переключателе.

Вы также можете загрузить приложение OpenHAB из Play Store, чтобы упростить управление вашей системой автоматизации.

БУДЬТЕ ОСТОРОЖНЫ и ДЕЙСТВУЙТЕ НА СВОЙ СОБСТВЕННЫЙ РИСК

Теперь нам нужно подключить провода устройств, которые вы хотите автоматизировать, к релейным переключателям. Прежде чем делать это, выключите Rpi и основной источник питания, чтобы быть в безопасности.

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

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

Шаг 9. Подключение с помощью Google Assistant

Для этого воспользуемся

  • Перейти на IFTTT.com
  • Создайте учетную запись, если у вас ее нет
  • Щелкните New Applet (Новый апплет).
  • Выберите Это, выберите Google Assistant и выберите Произнесите фразу с текстовым ингредиентом.
  • Что вы хотите сказать, введите - Turn $ item-name Ex- Turn $ fan
  • Нажмите создать триггер
  • Выберите это и выберите OpenHAB. Свяжите свой аккаунт
  • Выберите отправить команду Выберите элемент как VoiceCommand
  • Команда для отправки как - Поверните имя элемента {{TextField}}. Бывший вентилятор {{TextField}}
  • Создать действие

Дайте ему около 10 секунд на инициализацию, а затем, вуаля, отправьте команду с помощью помощника Google.

Вот и все. Если у вас есть сомнения или есть ошибка, не стесняйтесь комментировать. Я вам обязательно помогу.

Если у вас есть какие-либо проблемы или вопросы, не стесняйтесь обращаться ко мне по адресу [email protected]