Pull to refresh

OpenHAB — стань программистом собственного жилища

Reading time 9 min
Views 193K
Programming *
Sandbox
image
Дом — это машина для жилья
Ле Корбюзье

В этом посте я расскажу об opensource проекте домашней автоматизации openHAB.
openHAB переводится как "Open Home Automation Bus". Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.

Что же это дает на практике? Под катом я расскажу о том, как с помощью этого решения можно создать настоящий интернет вещей в своем доме.

Читать дальше →
Total votes 60: ↑57 and ↓3 +54
Comments 96

Домашняя автоматизация с openHAB: освещение и удаленное управление обогревателями. Часть 1

Reading time 9 min
Views 135K
DIY


Моя прошлая статья была о выборе ламп освещения для жилой мастерской. В этот раз расскажу про реализацию домашней автоматизации в том же помещении. Мастерская отапливается двумя электрическими обогревателями. Хотелось удаленно их включать, чтобы не приезжать в холодное помещение. И еще хотелось поддерживать заданную температуру, до этого при изменении температуры на улице приходилось каждый раз крутить «термостаты» обогревателей. Ну и управление освещением, датчик открытия двери и т.д.
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Comments 75

Arduino & Modbus

Reading time 6 min
Views 197K
SCADA *
В предыдущей статье мы соединили открытую платформу домашней автоматизации OpenHAB с контроллером Arduino использовав очень простой, текстовый протокол. Но это решение поставит нас в тупик, если мы захотим подключить наш контроллер к другой системе, что же делать?

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

Что нам необходимо знать об этом стандарте?
Протокол Modbus использует последовательные линии связи (например, RS232, RS485), а протокол Modbus TCP рассчитан на передачу данных по сетям TCP/IP.
Протокол Modbus имеет два режима передачи RTU и ASCII, в режиме ASCII каждый байт передается как два ASCII символа его шестнадцатеричного представления.
В сети Modbus есть только один ведущий, который с заданным интервалом опрашивает несколько ведомых устройств, каждое из которых имеет свой уникальный адрес от 1 до 254, адрес 0 широковещательный и на него отвечают все устройства, так как ведущий в сети один у него нет своего адреса.
В спецификации Modbus определено два типа данных, один бит и 16 битное слово. Данные организованны в четыре таблицы с 16 битной адресацией ячеек, адресация в таблицах начинается с 0. Для доступа к данным из разных таблиц предназначены отдельные команды.
Discrete Inputs 1 бит только чтение
Coils 1 бит чтение и запись
Input Registers 16 бит только чтение
Holding Registers 16 бит чтение и запись

Как нам подключить Modbus устройство к OpenHAB?
Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 49

Как подружить OpenHAB и Arduino. Способ #3: MQTT

Reading time 4 min
Views 67K
DIY
Tutorial
Эта статья показывает ещё один способ взаимодействия микроконтроллера из семейства Arduino с универсальной платформой для объединения всей домашней «умной» техники в единую систему управления openHAB. На Хабре уже представлены статьи про взаимодействия с помощью Serial и HTTP. Для своего нового проекта я выбрал MQTT, т.к. два предыдущих способа я уже пробовал и хотелось попробовать что-то ещё.

Приступим…
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 2

Arduino & OpenHAB

Reading time 8 min
Views 52K
Java *
В предыдущей статье мы познакомились с промышленным стандартом Modbus и встроили его поддержку в Arduino, осталось состыковать устройство с платформой OpenHAB.

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

Но, давайте ещё раз посмотрим, какие преимущества даст нам применение стандарта Modbus?
Современный дом — сложное инженерное сооружение, где управление освещением не самая главная функция. Кроме датчиков в доме устанавливают системы кондиционирования и вентиляции, управления отоплением, дренажными насосами и скважинами. Такие задачи можно поручить специальному или промышленному контроллеру, в этом случае протокол Modbus поможет объединить все инженерные системы в единую сеть, а простой и недорогой контроллер, работающий на одной с ними шине, добавит дополнительный контроль и функционал, сэкономив немало средств. В пользу этого низкие требования к оборудованию, открытость стандарта, массовость его применения, хотя, быть может, основной секрет популярности Modbus его гибкость при стыковке программ и оборудования.

Ну что же, пора приступать к работе.
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 4

Wiren Board 4 — контроллер для автоматизации

Reading time 4 min
Views 60K
Бесконтактные устройства corporate blog
image

Год назад мы выпустили контроллер Wiren Board Smart Home. Благодаря невысокой цене и широким возможностям он имел успех среди энтузиастов.

Поэтому мы решили не останавливаться и выпустили новую версию — контроллер для автоматизации Wiren Board 4, к которому написали и новый софт.

Несмотря на название, покупатели часто использовали Wiren Board Smart Home и для совсем не “домашних” задач: сбора климатических параметров, опроса счётчиков и датчиков, удалённого контроля оборудования — то есть в качестве универсального логического контроллера.

Wiren Board 4 (как в железе, так и в ПО) лучше приспособлен для таких задач. Домашних пользователей это тоже коснулось — контроллер стал надёжнее.
Читать дальше →
Total votes 50: ↑47 and ↓3 +44
Comments 82

OpenHAB и домашний контроллер — делаем железо

Reading time 4 min
Views 41K
SCADA *
Удачно состыковав простое Modbus устройство с платформой OpenHAB, мне тут же захотелось сделать что-то полезное для дома. В ближайшем интернет магазине были закуплены проводки, макетка, модули и датчики для Arduino, и моток синей изоленты.

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

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


Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Comments 15

Использование rrd4j для OpenHab2 persistence

Reading time 8 min
Views 8.4K
Java *Server Administration *Programming microcontrollers *
Tutorial
OpenHab – популярный сервер «умного дома» (или IoT, как сейчас модно говорить) и уже обозревался на Хабре. Тем не менее, документации по отдельным аспектам настройки сервера не так много, как хотелось бы. А на русском её, считай что и нет.

Важной особенностью OpenHab является модульность. Сам по себе сервер обеспечивает базовые функции (даже без какого бы то ни было UI). Весь остальной функционал предоставляется плагинами. Одним из типов плагинов является persistence – предоставление возможности хранить историю значения для айтемов (параметров устройств). Это необходимо для отображения исторических данных (графики) и восстановления состояния айтемов при рестарте сервера.

Существующие плагины позволяют использовать для хранения все популярные БД. Я же расскажу про настройку очень интересного бекэнда – rrd4j. Это высокопроизводительное хранилище для данных, которые представляют собой ряды значений, привязанных ко времени. Автор вдохновлялся набором RRDTools, но переписал его функционал на Java (OpenHab тоже написан на Java), оптимизировал и расширил функционал. Файлы хранилищ rrd4j не совместимы с файлами RRDTools.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 5

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

Reading time 13 min
Views 47K
Smart House DIY Electronics for beginners


Говорят что лень — мать прогресса. В моём случае, так оно и было. Сейчас я живу в солнечной Индонезии, где по ночам люди освещaют свои дома для отпугивания воров (и призраков). Случилось так что моим поручением стало включение и выключение сего освещения. Каждое утро и вечер надо пройти вокруг дома и щёлкнуть всеми наружными выключателями. Особенно трудно не забыть об этом утром, поскольку включённые лампочки не заметны при дневном свете. После недельки таких хождений мне захотелось лучшей жизни. Я решил сделать дистанционный выключатель и автоматизировать управление светом. Таким образом, закладывая первые виртуальные кирпичи своего умного дома. Была только одна маленькая проблемка — я не имел ни малейшего представления как спроектировать электронику и развести плату.

На заглавном фото вы видите результат моих работ. Выключатель представляет из себя две вставки в стену. В одной располагается физический выключатель, а в другой его «мозг». Виртуальный выключатель работает в OpenHab2, запущенный в с свою очередь на RaspberryPi2.

Читать дальше →
Total votes 32: ↑31 and ↓1 +30
Comments 39

Работа WiFi-модулей «Мастер Кит» в системе управления домашней автоматизацией OpenHAB. Часть 1: Подключение и настройка

Reading time 8 min
Views 19K
МАСТЕР КИТ corporate blog Smart House IOT DIY Electronics for beginners


В ассортименте компании «Мастер Кит» появилось заметное количество беспроводных устройств для домашней автоматизации, но вот собрать их в какую-то оптимальную систему управления домом часто бывает трудно из-за отсутствия необходимого, а главное удобного программного обеспечения. Для решения этой проблемы попробуем воспользоваться уже существующими популярными системами домашней автоматизации. Это реально! Например, система домашней автоматизации OpenHAB – это открытый проект, про который написано уже достаточно много даже в русскоязычной части Интернета.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 2

Беспроводной контроллер бытового кондиционера в OpenHAB по Modbus через RF24Network

Reading time 17 min
Views 21K
Smart House DIY

После первой моей статьи про управление кондиционером с помощью контроллера прошло чуть больше 2х лет. За это время идея управлять кондиционером удалённо меня не оставляла и имела несколько перерождений. Главным условием было отсутствие каких-либо проводов до кондиционера.

То есть управление контроллером должно быть беспроводным.

Предыстория


Первым прототипом была Arduino UNO. Команды она принимала по UART и умела включать и выключать кондиционер. Т.к. практического смысла от подключенной к рабочему компьютеру ардуинки было мало, голова все время искала возможность подключить последнюю к домашнему серверу. Прямой видимости от сервера до виновника всех головоломок не было. Максимум это розетка с локалкой все у того же рабочего компа — благо он стоит почти напротив кондиционера. Ethernet-шилда в наличии не было. Но вспомнив что где-то в загашнике валяется не используемый уже давно dsl-модем D-link DSL-2500U как раз с одним портом на борту. Желание дать вторую жизнь железке подтолкнуло к гуглению, которое, в свою очередь, чудесным образом вывело на статью Превращаем ADSL-модем в Ethernet-шилд для Arduino/CraftDuino.

Забегая вперед и пропуская интереснейший процесс создания кастомной прошивки мне-таки удалось заставить модем слушать на нужном порту и «пробросить» через него UART. Таким образом я мог на домашнем сервере отправить команду на включение/выключение в порт на локальный адрес модема, который отправится на подключенную к нему ардуинку.

Но эта статья не об этом. Конечное решение использует протокол Modbus и беспроводную сеть RF24Network. А управляется все в OpenHAB.
Интересно?
Total votes 15: ↑15 and ↓0 +15
Comments 11

Работа Wi-Fi модулей Мастер Кит в системе управления домашней автоматизацией OpenHAB. Часть 2: Подключаем термостат MP3502

Reading time 7 min
Views 10K
МАСТЕР КИТ corporate blog Smart House IOT DIY Electronics for beginners
В первой части мы рассмотрели достаточно простое подключение двухканального модуля WiFi реле, сегодня, в преддверии отопительного сезона, подключим к OpenHAB термостат MP3502.



Термостат представляет из себя модуль на базе ESP8266 с цифровым датчиком температуры DS18B20. Настройка термостата возможна по сети Wi-Fi с помощью бесплатного приложения для Андроид, либо с помощью команд, передаваемых в модуль по сетевому протоколу UDP. Модуль после исполнения каждой полученной команды передает ответное сообщение, по которому можно отслеживать факт выполнения команды. Воспользуемся возможностями работы через UDP и подключим модуль к системе OpenHAB.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 0

Делаем обычную микроволновку умнее с IFTTT и OpenHAB

Reading time 4 min
Views 21K
Smart House DIY The future is here
Tutorial

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

Под катом я расскажу, как легко и без паяльника можно быстро превратить абсолютно любую микроволновку в самую настоящую smart-микроволновку, которая будет оповещать вас о готовности еды и своем текущем статусе самыми разнообразными способами.
Читать дальше →
Total votes 15: ↑11 and ↓4 +7
Comments 20

Защита от протечек с блекджеком и счетчиками

Reading time 18 min
Views 53K
Smart House IOT DIY
Приветствую. Есть такая штука — гидролок\нептун\авквасторож — системы перекрытия подачи воды, если происходит не контролируемая утечка. Принцип простой — датчик воды + автоматика + пара кранов с электроприводами. Но дьявол как обычно в деталях: как устроены краны, как устроены датчики протечки и почему один стоит 50 рублей, а другой 500р. На все это дело навернут килограм макетингового булшита, упаковка вырви глаз и т.д.

В рассказе пройдусь по кирпичикам системы, чем руководствовался в выборе. Вся система строится на заводских датчиках и самодельном контроллере на базе Particle (ex.Spark) Photon (такая esp8266 у которой облачная IDE на wiring из коробки), база девайса stm контроллер + wifi модуль от броадкома. Все это завязано на openhab сервер на Orange Pi One.


Читать дальше →
Total votes 68: ↑66 and ↓2 +64
Comments 118

Добавление счетчика SDM-220 в OpenHab

Reading time 9 min
Views 15K
Plarium corporate blog Smart House DIY
Tutorial
Прошел почти год с момента моей первой публикации об электросчетчике с RS485/ModBus интерфейсом SDM-220, затем была вторая статья о том, как собирать с него данные и обрабатывать статистику. Это третья, надеюсь, последняя. Она о том, как интегрировать счетчик с OpenHab. Результат наконец-то меня полностью устраивает.


Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Comments 7

«Алиса, включи свет». Голосовое управление умным домом на базе openHAB. Без программирования и СМС

Reading time 9 min
Views 99K
Artificial Intelligence Smart House IOT The future is here Voice user interfaces *
Tutorial

Ноябрь 2017 года, на календаре отображалось число одиннадцать. Распродажа на Aliexpress шла полным ходом, руки чесались что-нибудь купить. Выбор пал на "Ми-свет RGBW светодиодный лампы AC86-265V удаленного управление Smart освещения". В итоге были приобретены два экземпляра максимальной мощности, на 9 ватт, и хаб-контроллер MiLight WiFi iBox. Доставка из Китая не заставила себя долго ждать, а спустя 4 месяца, 13 марта 2018, открылась платформа Яндекс.Диалоги (платформа, позволяющая сторонним разработчикам добавлять умения голосовому помощнику «Алиса»). Следом Алиса научится управлять освещением (и не только) у вас в квартире, а мы с вами ей в этом поможем, поэтапно и без единой строчки кода.
Total votes 27: ↑27 and ↓0 +27
Comments 27

Способ организации «умного» дома с максимально широкими возможностями управления электрикой

Reading time 3 min
Views 28K
Smart House DIY
Сразу оговорюсь, что под «умным» домом скорее понимается удобная система для управления электрическим оборудованием в доме, а её «ум» будет заключаться в ваших умениях использовать её.

При постройке дома стал вопрос о том, как правильно организовать электрику, при условии, что стены сделаны из СИП-панелей, который нельзя штробить. Есть вариант «накрутить» на стены толстый слой гипсокартона и штробить его, но этот способ показался мне не очень удачным из-за того, что пришлось бы крутить довольно гипсокартон довольно толстым слоем, что бы убрать в стену рукав для проводов.

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

И решено было не трогать стены вовсе, розетки разместить в лючках, а выключатели использовать беспроводные.

Вот, что получилось…
Читать дальше →
Total votes 37: ↑35 and ↓2 +33
Comments 91

С новым годом, с новым MQTT/UDP

Reading time 4 min
Views 18K
Python *Programming microcontrollers *Development for IOT *Smart House
Привет.

Как я уже писал недавно (Первая краткая статья о MQTT/UDP), MQTT/UDP — протокол на базе MQTT, но:

  • Ходит поверх UDP broadcast (не нужен брокер, почти не нужна конфигурация)
  • До неприличия простой в реализации (10 строк на си + UDP/IP стек — и вы отправляете данные с сенсора)
  • Все слышат всех

В некотором смысле это CAN, но поверх Ethernet-а.

Зачем.
Читать дальше →
Total votes 49: ↑47 and ↓2 +45
Comments 120

MQTT/UDP, предвесенние итоги: дистанционная конфигурация и цифровая подпись

Reading time 3 min
Views 4.6K
Python *C *Programming microcontrollers *Development for IOT *Smart House
Зима кончается, и это повод подвести очередную черту и рассказать, что нового появилось в MQTT/UDP.

Для начала, ссылки на предыдущие введение и статью.

Спасибо всем, кто с интересом отреагировал и отдельно тем, кто делился мыслями. Вы мне очень помогли с подходом к цифровой подписи. Итак, что изменилось по крупному:

  • Появился механизм гибкого расширения протокола: Tagged Tail Records, TTRs
  • На его базе сделана схема цифровой подписи пакетов
  • Сделан механизм дистанционной конфигурации компонент
  • Поднят полный цикл CI: сборка, юнит-тесты, сквозные тесты протокола (4*4 языка программирования)
  • Реализация на Си теперь поддерживает разные архитектуры и умеет интегрироваться с разными ОС и мониторами.
  • Есть публичные пакеты для Питона и Луа, хотя, конечно, они уже устарели.

Ну и многое по мелочи: интеграция с OpenHAB, конфиг-файлы и логгинг, проверка совместимости с облачным MQTT сервисом, сделан тестовый пример для Wemos D1 (NodeMCU), сделан тестовый пример для atmega128+ethernet (не ардуино), сделан пример протокольного коннектора на Яве (CCU825), сделан пример информера-контроллера в desktop tray (наконец-то я могу включать свет в комнате в два клика мышки:), и ещё разное.

Теперь по порядку.
Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Comments 2

Разработка IoT-шлюза на базе Raspberry CM3+

Reading time 3 min
Views 13K
Development for Linux *Development for Raspberry Pi *Computer hardware IOT DIY
image
Рисунок 1 — Плата устройства

Большой опыт работы в сфере промышленной автоматизации и АСУТП, казалось бы, должен способствовать тому, что со временем уже много всего видел и много всего знаешь. Но не тут-то было. Оказывается, иногда могут возникать задачи и проекты, которые трудно реализовать стандартными средствами. Так под один крупный проект по мониторингу и управлению в «облаке» одного небезызвестного завода N требовалось найти подходящее железо. Однако оказалось, что в России по требованиям помехозащищенности устройства и открытости системы ничего подходящего не существует. Попытка заказать идеально подходящее нам устройство из-за рубежа провалилась, поскольку на территорию нашей страны оборудование с пометкой «IoT» весьма трудно ввести в промышленных масштабах. Другие же поставщики не устроили сроками доставки в 12 недель при небольших объемах и ценой. Поэтому в голове родилась и плотно осела мысль о создании своего устройства. Причем такого, чтобы оно было универсальным и подходило не только конкретно под этот один проект, а под множество других. В итоге от момента зарождения идеи, подбора поставщиков и корпуса, разработки платы, её отладки и тестирования, написания инструкций и технической документации прошло весьма много времени. Но зато теперь я держу с легким трепетом в руках полностью законченное и рабочее устройство, и могу заявлять, что мы это сделали!
Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Comments 53
1