Начало работы с OpenHAB Home Automation на Raspberry Pi

Начало работы с OpenHAB Home Automation на Raspberry Pi
Это руководство доступно для скачивания в виде бесплатного PDF-файла. Загрузите этот файл сейчас . Не стесняйтесь копировать и делиться этим со своими друзьями и семьей.

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





К сожалению, это почти все, что вы можете сделать с точки зрения удобства потребителя, но, как всегда, здесь на помощь приходит MakeUseOf: мы покажем вам, как приступить к работе с совершенной системой умного дома, которую не нужно покупать за деньги (потому что OpenHAB является 100% бесплатно - просто поставьте оборудование).





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





В этом руководстве рассматриваются три вводные темы и одна более сложная.

  • Запуск и запуск OpenHAB на Pi и установка конфигурации демонстрационного дома для проверки работы основных систем.
  • Как добавить привязки и профили для устройств. Я буду работать с Philips Hue.
  • Включение удаленного доступа и подключение к IFTTT.
  • Добавление датчика присутствия DIY с помощью Bluetooth и введение в интерфейс REST.
  • Настройка мобильного приложения OpenHAB.

Что вам понадобится

По крайней мере, вам понадобится Raspberry Pi (предпочтительно v2) и адаптер Ethernet или беспроводной сети (предпочтительно Ethernet, это руководство не будет включать инструкции по настройке вашего адаптера Wi-Fi). Все остальное необязательно. Обратите внимание, что OpenHAB будет работать и на исходной Raspberry Pi, но есть известная проблема с более медленной обработкой и устройствами Z-Wave. Если вам не нужна Z-Wave, вы можете проигнорировать это предупреждение и продолжить использование Raspberry Pi модели B или B +, потому что все остальное работает нормально. Вы всегда можете перейти на последнюю версию Pi, если и когда добавите Z-Wave.



Эта маленькая вещь может стать лучшим центром умного дома, который у вас когда-либо был!

На момент написания последней стабильной версией OpenHAB была версия 1.71; версия 1.8 ожидается в ближайшее время, и все в этом руководстве все еще должно быть актуальным, хотя некоторые привязки могут иметь больше функций. Версия 2 в настоящее время также доступна в качестве очень ранней альфа-версии, но в ней используется архитектура, кардинально отличающаяся от архитектуры серии OpenHAB 1: это руководство несовместимо с версией 2.





Я настоятельно рекомендую вам следовать этому руководству медленно и методично. - не пытайтесь погрузиться в глубокий конец и добавить все сразу. Да, это длинное руководство - OpenHAB - сложная система, которая часто требует настройки под ваши нужды, и лучший способ добиться успеха - работать медленно и выполнять одну часть за раз.

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





Установка OpenHAB

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

Начнем с последний (полный) образ Raspbian SD (не «облегченная» версия, они не включают виртуальную машину Java). Подключите сетевой кабель, затем загрузитесь и перейдите по SSH. Запустить:

sudo raspi-config

Разверните файловую систему; и в расширенном меню измените разделение памяти на 16. Когда вы закончите, перезапустите и, как хорошая практика, запустите полное обновление.

sudo apt-get update
sudo apt-get upgrade

Более простой способ установить среду выполнения OpenHAB - через apt-get , но сначала нам нужно добавить ключ безопасности и новый репозиторий:

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' |sudo apt-key add -
echo 'deb http://dl.bintray.com/openhab/apt-repo stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab-runtime
sudo update-rc.d openhab defaults

Любопытно, что все было установлено как 'root'. Нам нужно исправить это с помощью следующих команд.

sudo chown -hR openhab:openhab /etc/openhab
sudo chown -hR openhab:openhab /usr/share/openhab

Затем мы установим Samba и поделимся конфигурацией и пользовательскими папками - это упростит установку надстроек и удаленное изменение карты сайта.

sudo apt-get install samba samba-common-bin
sudo nano /etc/samba/smb.conf

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

wins support = yes

(вам нужно раскомментировать строку и изменить 'нет' на 'да')

затем добавьте следующее в раздел определений общих ресурсов (прокрутите до конца длинного файла):

[OpenHAB Home]
comment= OpenHAB Home
path=/usr/share/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no
[OpenHAB Config]
comment= OpenHAB Site Config
path=/etc/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no

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

Сохранить и выйти. Наконец, нам нужно установить пароль Samba для пользователя openhab:

sudo smbpasswd -a openhab

Я бы предложил «openhab» в качестве пароля просто для простоты использования, но это не имеет особого значения.

Спасибо читателю Дэвиду Л. - похоже, что в последней версии Raspian изменился метод перезапуска Samba. Вот обновленные инструкции:

sudo update-rc.d smbd enable
sudo update-rc.d nmbd enable
sudo service smbd restart

После перезапуска Samba (более старые версии используют перезапуск службы sudo samba ), проверьте, есть ли у вас доступ к общему диску. На Mac это может не обнаруживаться автоматически; но вы можете использовать Finder -> Идти -> Подключиться к серверу и адрес

smb://openhab@raspberrypi.local

Аутентифицируйтесь с именем пользователя openhab и выбранным паролем, затем откройте обе свои общие папки, чтобы осмотреться. Вы даже должны иметь возможность открыть http: //raspberrypi.local: 8080 / в своем веб-браузере, но вы столкнетесь с ошибкой, потому что мы еще не создали карту сайта. Это нормально.

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

tail -f /var/log/openhab/openhab.log

Продолжайте работать и открывайте в отдельном окне SSH все время, пока вы продолжаете работу с руководством.

Установить демонстрационный дом

Прежде чем мы углубимся в тонкости файлов конфигурации, добавления устройств и привязок и т. Д .; Давайте проверим, что все работает, добавив демонстрационный контент. Вы найдете «Demo Setup» в разделе загрузок OpenHAB.org.

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

Используя общие сетевые ресурсы, скопируйте конфигурации к Конфигурация OpenHAB поделиться и перезаписать существующую папку. Копировать дополнения к другому OpenHAB Главная поделиться, опять же, перезаписав существующие папки. Если вам не предлагается что-то перезаписать, вы делаете это неправильно. Если вы внимательно следите за файлом журнала отладки, вы должны увидеть колебание активности, когда он замечает новые привязки и начинает действовать. Откройте raspberrypi.local: 8080 / openhab.app? Sitemap = demo, чтобы увидеть демонстрацию.

На данный момент это выглядит немного базовым, но открытый характер OpenHAB означает, что мы можем установить прекрасную новую тему позже или полностью альтернативный интерфейс. На данный момент нам просто нужно знать, что все работает. Обратите внимание: то, что мы видим, называется карта сайта (ничего общего с картой сайта сайта). Карта сайта описывает пользовательский интерфейс, а не фактические устройства в вашей сети или датчики, а только интерфейс для их просмотра. Каждая его часть полностью настраивается. Чтобы посмотреть, как это было создано, откройте карты сайта / demo.sitemap файл в общей папке OpenHAB Config.

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

Пока ты там, откройся items / demo.items тоже. Опять же, выглядит пугающе, но именно здесь вы создаете элементы для управления и определяете датчики для отслеживания.

Итак, как работает OpenHAB?

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

Предметы представляет собой перечень всех управляющих устройств, датчиков или информационных элементов, которые вы хотите включить в свою систему. Это не обязательно должно быть физическое устройство - вы можете определить веб-источник, например, погоду или цены на акции. Каждому элементу можно присвоить имя, назначить несколько групп (или ни одной) и связать с определенной привязкой. (Совет для начинающих: когда дело доходит до привязок, важно использовать заглавные буквы. Я долго пытался понять, почему мои лампочки «Оттенок» не работали; это было потому, что вместо этого они должны были быть «оттенками»).

Файлы Sitemap касается только интерфейса, который вы увидите, когда откроете мобильное или веб-приложение OpenHAB. Вы можете точно контролировать расположение кнопок и представление информации. Вы можете определить группы верхнего уровня для каждой комнаты вашего дома; щелкнув по каждому из них, вы увидите список всех устройств в этой комнате. Или вы можете предпочесть отображать группы для каждого типа устройства: кнопка для освещения, другая для электрических розеток. Возможно, некоторые устройства вы используете так часто, что вам просто нужно переключить их прямо на главный экран.

Правила Здесь вступает в игру аспект домашней автоматизации, где вы можете определять графики или условия для выполнения действия. Простые мероприятия, такие как включение света в спальне в 22:00 на теплый красный цвет; или более сложная логика, например включение обогревателя, если температура ниже 0 и кто-то присутствует в этой комнате. Вы также найдете скрипты папка, которая предлагает функции, аналогичные правилам, но на более сложном уровне программируемой логики.

Упорство - это сложная тема, которую мы не будем рассматривать в этом руководстве, но постоянство определяет данные, которые вы хотите сохранить. По умолчанию OpenHAB будет показывать только текущее состояние чего-либо; если вы хотите отслеживать это значение с течением времени, вам необходимо настроить определение сохраняемости для этого источника данных. Здесь вы укажете, как часто следует измерять точку данных или когда отбрасывать старые точки данных - вам также необходимо указать, какой тип механизма сохранения данных использовать, например MySQL или простое ведение журнала в файл. .

Преобразовать содержит сопоставления значений данных с метками. Например, humidex.scale файл определяет диапазон значений индекса влажности и то, как они должны отображаться на английском языке: 29-38 - «некоторый дискомфорт».

В карта сайта а также Предметы файлы необходимы для работы OpenHAB; остальные не обязательны. У вас может быть несколько карт сайта и элементов, поэтому вы можете сохранить демонстрационный контент и вернуться к нему в любое время или опробовать новый макет для интерфейса управления домом. Не волнуйтесь, если сейчас все это покажется вам немного сложным, мы разберем его на управляемые части, и я обещаю, что к концу этого руководства вы будете уверены, что создадите свою собственную настройку OpenHAB.

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

Начните с создания нового (пустого) home.items файл и новый home.sitemap файл в соответствующих каталогах. Открыть home.sitemap и вставьте следующий код. Он просто действует как базовый скелет, к которому мы добавим биты позже.

sitemap home label='My Home'
{

}

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

aligncenter size-large wp-image-496593

Включить режим отладки

Пока вы все еще пытаетесь заставить OpenHAB работать правильно, может быть полезно включить более подробный журнал отладки, в котором перечислены все, а не только важные вещи. Чтобы включить этот режим, откройте общую папку OpenHAB Config и отредактируйте logback.xml . В строке 40 измените следующую строку, чтобы читать DEBUG вместо INFO. После изменения этого параметра вам нужно будет перезагрузить компьютер.

Это глобальное изменение, поэтому вы получите гораздо больше информации, когда изучите файл журнала.

Добавление Philips Hue

Я начну с Philips Hue. Как и большинство вещей, с которыми вы захотите взаимодействовать в OpenHAB, лампочки Hue требуют, чтобы вы установили привязка - воспринимайте привязки как драйвер устройства. На момент написания для OpenHAB 1 доступно около 160 привязок, поэтому OpenHAB является такой мощной системой - она ​​может взаимодействовать с чем угодно, объединяя все эти разрозненные системы управления в единый унифицированный интерфейс. Вот демонстрация и краткий обзор необходимых шагов.

Сначала необходимо загрузить привязки, и самый простой способ сделать это на Pi - использовать apt-get , затем передать право владения пользователем openhab.

sudo apt-get install openhab-addon-binding-hue
sudo chown -hR openhab:openhab /usr/share/openhab

Затем вам нужно указать OpenHAB загрузить эту привязку и настроить все необходимые переменные. Перейдите в папку с конфигурациями и сделайте копию openhab-default.cfg , называя это openhab.cfg . Откройте это, найдите ОТТЕНОК и замените весь раздел следующим кодом. Единственное, что вам нужно изменить, - это значение IP вашего моста. Если вы его еще не знаете, попробуйте инструмент онлайн-обнаружения. Секретное значение на самом деле не имеет значения, это просто своего рода имя пользователя, которое OpenHAB будет использовать для идентификации себя на мосту.

Быстрая подсказка : чтобы включить строку, просто удалите # с самого начала. По умолчанию строка, определяющая IP-адрес моста, отключена (или технически «закомментирована»). Кроме того, если вы пробуете альтернативную конфигурацию, может быть полезно просто скопировать существующую строку и поставить # в начале, чтобы пометить ее как комментарий, чтобы вы могли легко вернуться, если что-то пойдет не так.

################################ HUE Binding ######################################### # IP of the Hue bridge
hue:ip=192.168.1.216
hue:secret=makeuseofdotcom
hue:refresh=10000

Сохранить и выйти. Как и любое стороннее приложение Hue, вам нужно утвердить OpenHAB на Hue Bridge, нажав кнопку на передней панели - вам нужно сделать это только один раз. Вы увидите сообщение о ждем, чтобы быть в паре если вы следите за файлом журнала, но если вы забыли или пропустили обратный отсчет, просто сбросьте Pi - вы получите 100-секундный таймер с момента инициации привязки Hue. Прежде чем продолжить, убедитесь, что вы успешно выполнили сопряжение.

Затем откройте home.items файл, в который мы добавим несколько лампочек Hue. Вот пример определения предмета:

Color Bedroom_Hue 'Bedroom Hue' (Bedroom) {hue='1'}
  • В Цвет Слово определяет, какой у нас контроль над этим элементом. Лампы RGB Hue являются «цветными», поскольку мы полностью контролируем их цвет. Другие огни могут быть просто Switch.
  • Далее идет кодовое название предмета: я выбрал Спальня_Оттенок , но буквально все в порядке - просто что-то описательное, которое кажется вам естественным, потому что вам нужно будет помнить об этом позже при создании карты сайта. В кодовом имени не должно быть пробелов.
  • Между кавычками стоит метка. В этом случае наш простой, но для некоторых элементов, таких как температура или что-то, что сообщает значение, вы добавите специальный код, который сообщает ему, как отображать это значение или использовать то, что преобразовать. Метка предназначена для интерфейса и может содержать пробелы.
  • В угловых скобках указано название значка. Вы найдете все доступные значки в общей папке OpenHAB под webapps / изображения каталог. На самом деле существует целый ряд значков оттенков, которые представляют разную яркость или включение / выключение. Просто укажите имя базового значка - OpenHAB будет знать, как автоматически искать разные значки включения / выключения, если это переключаемый элемент. Это необязательно.
  • В круглых скобках мы указываем, в какие группы входить - в данном случае только спальная комната группа.
  • Наконец, что очень важно, мы подключаем элемент к соответствующей привязке с любыми необходимыми переменными. В этом случае оттенок привязка, а номер лампочки - 1. Вы можете узнать номер, открыв официальное приложение Hue и посмотрев на вкладку «Источники света». У каждой лампочки есть уникальный номер.

Я добавил всего четыре лампочки, а также простое объявление групп, которые мы расширим позже. Вот мой полный home.items в этот момент:

Group Bedroom
Group Office
Group Kai
Group Living_Room
Group Cinema
Group Secret
Group Lights /* Lights */
Color Bedroom_Hue 'Bedroom Hue' (Bedroom,Lights) {hue='1'}
Color Office_Hue 'Office Hue' (Office, Lights) {hue='2'}
Color Secret_Hue 'Secret Hue' (Secret, Lights) {hue='3'}
Color Kai_Hue 'Kai's Hue' (Kai, Lights) {hue='4'}

В / * Светится * / текст - это просто комментарий, у него нет другой функции, кроме как помочь нам сканировать файл позже, когда он станет больше. Теперь у нас есть добавленные устройства, но открытие http: //raspberrypi.local: 8080 /? Sitemap = home приводит к пустому интерфейсу - конечно, потому что мы еще не создали элементы интерфейса в карте сайта. А пока начнем с простого. Открыть home.sitemap .

Код, используемый для описания интерфейса, отличается от элементов, но пока мы создадим новый «фрейм» и добавим пару групповых элементов управления вместе с некоторыми значками.

sitemap home label='My Home'
{
Frame {
Group item=Lights label='All lighting' icon='hue'
Group item=Bedroom label='Bedroom' icon='bedroom'
Group item=Office label='Office' icon='desk'
}
}

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

Нажмите на Все освещение чтобы увидеть каждый свет Hue, поскольку мы определили их все как принадлежащие к этой всеобъемлющей группе источников света.

Обратите внимание, что элемент Office Hue отображается с другим значком - это потому, что мой офисный свет уже включен, и OpenHAB знает это, когда он разговаривал с мостом Hue, и был достаточно умен, чтобы настроить значок на «включенную» версию файла. К сожалению, он не отражает цвет, но если у вас установлено мобильное приложение, оно будет отражать текущий цвет.

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

Удаленный доступ и IFTTT с My.OpenHAB

Прямо сейчас вам нужно быть в той же локальной сети, чтобы получить доступ к вашей системе OpenHAB, но что, если вы хотите управлять своими устройствами и проверять датчики, когда они находятся вне зоны действия вашего Wi-Fi? Для этого нам нужно настроить удаленный доступ - и мы сделаем это простым способом с помощью веб-службы My.OpenHAB [Broken URL Removed], которая избавляет от необходимости возиться с переадресацией портов и настройками маршрутизатора. В качестве бонуса служба My.OpenHAB также имеет канал IFTTT, что дает вам безграничные возможности для удаленного управления и автоматизации.

Сначала: установите привязку. Совет: если вы не знаете точное имя определенного установочного пакета, попробуйте найти его с помощью apt-cache.

sudo apt-get install openhab-addon-io-myopenhab
sudo chown -hR openhab:openhab /usr/share/openhab

Прежде чем вы сможете зарегистрироваться на сайте My.OpenHAB, вам необходимо создать секретный ключ и найти свой UUID, который однозначно идентифицирует вашу установку. Проверить под OpenHAB Домашняя папка -> веб-приложения -> статический и вы должны найти файл UUID, содержащий ваш уникальный идентификатор. Именно в этот момент я обнаружил, что мой Pi использует старую версию Java, которая неправильно создает секретный ключ. Тип

java -version

Проверять. Если не указано 1.7 или выше, у вас неправильная версия. Как ни странно, последняя версия Raspbian поставляется с установленным Oracle Java 8, но не по умолчанию.

sudo update-alternatives --config java

как подделать ваш IP-адрес

Выберите вариант, который указывает jdk-8-оракул , затем перезапустите OpenHAB. Бонус: Oracle Java 8 быстрее, чем OpenJDK по умолчанию!

Теперь вы также должны найти секретный файл в веб-приложения / статические папка. Откройте оба секрет а также uuid , и будьте готовы скопировать и вставить.

Теперь создайте учетную запись My.OpenHAB, используя эти данные, а затем вернитесь - вам также необходимо подтвердить свой адрес электронной почты, прежде чем что-либо сработает. Есть еще пара шагов к этому. Во-первых, нам нужно установить механизм сохраняемости по умолчанию на myopenhab (постоянство - это кое-что для более позднего руководства, но, тем не менее, нам нужно настроить что-то базовое, чтобы `` экспортировать '' наши данные в онлайн-сервис и сделать их видимыми для IFTTT) . Для этого откройте openhab.cfg и найдите переменную, которая говорит настойчивость: по умолчанию = и измените его на настойчивость: по умолчанию = myopenhab . Сохранить.

Наконец, создайте новый файл в конфигурации / постоянство папка называется myopenhab.persist и вставьте следующее правило.

Strategies {
default = everyChange
}
Items {
* : strategy = everyChange
}

На данный момент вам не нужно понимать это, но знайте, что он говорит: «Сохраняйте состояние каждого элемента при его изменении».

Чтобы подключиться к IFTTT, перейдите на Канал OpenHAB - вам нужно будет пройти аутентификацию и предоставить ему доступ к вашей учетной записи MyOpenHAB. Также обратите внимание, что до тех пор, пока ваши элементы не будут изменены хотя бы один раз, они не будут отображаться в списке элементов в IFTTT, поэтому, если он не отображается, включите и выключите что-нибудь, а затем перезагрузите. Поздравляем, теперь у вас есть полный доступ IFTTT ко всему в вашей системе OpenHAB!

Датчик присутствия Bluetooth с использованием REST

Некоторое время назад я показал вам, как сделать автоматический дверной замок офиса с помощью сканирования Bluetooth для обнаружения присутствия пользователя - я хотел внести что-то подобное в OpenHAB.

На любой платформе, кроме Raspberry Pi, это будет просто благодаря готовой привязке Bluetooth; К сожалению, на Pi он не работает из-за важного файла Java, который необходимо перекомпилировать для архитектуры ARM, добавить в привязку, а затем перестроить привязку. Достаточно сказать, что я пробовал это, и это было ужасно сложно и не сработало. Однако есть гораздо более простое решение, которое также служит хорошим введением в явную расширяемость OpenHAB: мы просто адаптируем наш предыдущий скрипт Python, чтобы он передавал отчеты непосредственно в интерфейс OpenHAB RESTful.

Кроме того: интерфейс RESTful означает, что вы можете взаимодействовать с системой, используя ее встроенный веб-сервер, просто вызывая URL-адреса и передавая или получая данные. Вы можете посетить этот URL-адрес, чтобы увидеть простой пример этого на вашем собственном сервере: http: //raspberrypi.local: 8080 / rest / items - который выводит закодированный список всех ваших определенных элементов. Это невероятно мощный инструмент, поскольку он раскрывает весь потенциал OpenHAB и позволяет писать собственные интерфейсы; или в обратном порядке, чтобы сообщить о состоянии датчиков без особой привязки. Мы будем использовать эту возможность, чтобы сообщить о наличии определенного устройства Bluetooth, не прибегая к привязке Bluetooth.

Начните с добавления нового Выключатель пункт к вашему home.items файл. Я назвал свой «JamesInOffice» и сделал его переключателем, а не простым включением / выключением, чтобы я мог вручную контролировать свое присутствие на случай, если мой телефон умрет.

Switch JamesInOffice 'James in Office' (Office)

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

Затем вставьте совместимый USB-ключ Bluetooth и установите некоторые базовые инструменты для взаимодействия с ним.

sudo apt-get install bluez python-bluez python-pip
sudo pip install requests
hcitool dev

Последняя команда должна показать ваш адаптер Bluetooth. Если ничего не указано, попробуйте другой адаптер, ваш несовместим с Linux. Следующим шагом является определение аппаратного адреса Bluetooth вашего устройства.

wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py
python inquiry.py

Убедитесь, что ваш телефон открыт на странице настроек Bluetooth (что переводит его в режим сопряжения / общедоступный режим) и, очевидно, что Bluetooth активирован. Вы должны найти в списке шестнадцатеричный аппаратный адрес.

Из домашнего каталога пользователя Pi создайте новый скрипт Python и вставьте этот код .

Вам нужно будет отредактировать несколько вещей, начиная с адреса вашего устройства:

result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5)

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

r = requests.put('http://localhost:8080/rest/items/JamesInOffice/state',data=payload)

Последний шаг - запустить этот сценарий во время загрузки.

sudo nano /etc/rc.local

Прокрутите вниз и прямо перед выходом 0 добавьте следующие строки:

python /home/pi/detect.py &

Знак & означает «делать это в фоновом режиме». Запустите сценарий, если вы еще этого не сделали, и откройте интерфейс OpenHAB. Если вы добавили его в группу, перейдите в эту группу. Обновление занимает около 10 секунд, но вы увидите, что значок лампочки по умолчанию включается или выключается в зависимости от того, обнаружен ваш телефон или нет. Если ничего не происходит, проверьте файл журнала, возможно, вы использовали неправильное имя элемента.

Мобильное приложение OpenHAB

Хотя вы, конечно, можете использовать веб-интерфейс с мобильного устройства, OpenHAB имеет собственные приложения для обоих iOS а также Android - и они выглядят много лучше, чем интерфейс браузера по умолчанию. На экране настроек введите локальный URL-адрес в качестве внутреннего IP-адреса, который вы использовали до сих пор, включая номер порта. Для удаленного URL введите https://my.openhab.org , а также ваше имя пользователя (адрес электронной почты) и пароль, которые вы ввели при регистрации. Если вы еще не зарегистрировались в MyOpenHAB, просто оставьте поле аутентификации и удаленный URL пустыми, но вы будете получать доступ к своей системе только через локальный Wi-Fi.

Движение вперед и получение помощи

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

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

Следите за обновлениями в MakeUseOf, где вы найдете подробное руководство по Z-Wave и другим интересным трюкам, которые вы можете настроить.

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

Делиться Делиться Твитнуть Эл. адрес 5 советов, как зарядить ваши машины VirtualBox Linux

Устали от низкой производительности виртуальных машин? Вот что вам нужно сделать, чтобы повысить производительность VirtualBox.

Читать далее
Похожие темы
  • Сделай сам
  • Умный дом
  • Домашняя автоматизация
  • Длинная форма
  • Длинная направляющая
  • Умные концентраторы
Об авторе Джеймс Брюс(Опубликовано 707 статей)

Джеймс имеет степень бакалавра в области искусственного интеллекта и имеет сертификаты CompTIA A + и Network +. Когда он не занят в качестве редактора обзоров оборудования, он любит LEGO, VR и настольные игры. До прихода в MakeUseOf он работал светотехником, учителем английского языка и инженером центра обработки данных.

Ещё от James Bruce

Подписывайтесь на нашу новостную рассылку

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

Нажмите здесь, чтобы подписаться