Управление умным домом с андроида

Управление Умным Домом с телефона — мой опыт

Сегодня невозможно представить умный дом без управления с мобильных устройств. Когда я только начинал свою эпопею с умным домом, то возможность управлять с телефона была одной из главных, а если быть совсем честным, то в моем списке ответов “а зачем это вообще нужно?” управление с мобильных устройств было на первом месте.

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

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

В своем ПЛК я создал модуль Mobdus Slave с входными и выходными регистрами и написал блок синхронизации, а дальше в среде иридиум набросал простенький интерфейс.

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

На мобильное устройство нужно поставить приложение i2 Control. Оно бесплатное, но для того чтобы загрузить в него созданный проект нужно купить лицензии. В моем случае это были бесплатные демо-лицензии.

Так выглядел интерфейс моего умного дома в приложении i2 Control на iPhone. Приложение я поставил на все мобильные устройства имеющиеся в семьи и тут я наткнулся на первую проблему. Ккогда работаешь на ноутбуке, а телефона под рукой нет, то было бы удобнее управлять светом непосредственно с ноутбука.

Сделать на Iridium Mobile это можно, но нужно поставить программу i2 Control для Mac (или для Windows) и подключись лицензию. Во-первых, у меня закончились бесплатные демо-лицензии, а во-вторых запускать программу только, чтобы включить или выключить свет не очень-то удобно. С тем же успехом я могу зайти через удаленный десктоп на сервер, где обычно все время запущен CoDeSys с визуализацией. Собственно, я обнаружил, что чаще я так и делаю, вместо запуска специализированного приложения на телефон или планшете.


Визуализация в CoDeSys. К сожалению, моя версия ПЛК (программируемого логического контроллера, на котором построен мой умный дом) не имеет встроенного веб-сервера — иначе задача решалась бы гораздо проще.

От установки i2 Control на свой Mac я отказался и довольствовался управлением только с телефона и планшета.

Спустя некоторое время всплыла вторая проблема. Запуск приложения i2 Control занимает достаточно долгое время. Например, на моем iPhone 6 оно стартует около 9 сек. Наверное, если бы задача была управление медиа-центром, то это время было бы приемлемо — пока найдешь все пульты, включишь всю технику, настроишь нужное сочетание, то явно пройдет больше времени. Однако для управления светом эти 9 секунд оказались неприемлемо долго и зачастую я предпочитал встать и выключить свет, чем запускать приложение (сейчас вышел Iridium server, который по идее решает эту проблему, но руки протестировать его у меня пока не доходят).

Жить с умным домом и не управлять им с телефона было как-то неправильно и поэтому я решил седлать еще одну попытку. Идея была такая — на домашнем севере поднять веб-сервер и вынести все управление на веб-страницу. Знакомые посоветовали Node JS — мол, модная и перспективная платформа, а так как мне все-равно было что изучать (я не знал ничего), то остановился на Node JS. Единственное, что не хотелось делать — это разбираться в HTML, поэтому я заказал frontend у фрилансера, а на Github’е нашел библиотеку для работы в Modbus и очень быстро (сам удивляюсь) сделал задуманное.

Читайте также:  Нет резкости камеры андроид

Так выглядит сейчас интерфейс моего умного дома на Iphone. Интерфейс адаптивный, поэтому он хорошо смотрится на любых устройствах. Например, вот так он смотрится на моем макбуке:

На десктопе айфона у меня сделана ссылка на эту страницу, которая загружается достаточно быстро 1-3 сек. Я добавил ее также в закладки в браузеры и теперь управление светом всегда под рукой. Сервер Node JS выполняет также роль между ПЛК (контроллером умного дома) и контроллером z-wave, который используется для беспроводного управления разными лампами (об этом я расскажу в будущем).

Традиционно в конце плюсы и минусы решения.

Плюсы: Быстрый адаптивный интерфейс, который работает на любых устройствах, цена (я заплатил только за разработку фронтона).

Минусы: Необходимость программирования. И если добавление выключателей делается достаточно просто (я, например, перед Новым Годом добавил управление елкой), то, например, интерфейс к медиа-центру это целый и большой проект.

Исходный код на Gitbub.

UPD
Ужу после написания статьи, мне рассказали, как ускорить запуск приложения I2 Control — нужно войти в сервисное меню и отключить проверку обновлений. Приложение стало действительно запускаться гораздо быстрее.

Источник

Умный дом из старого смартфона или антипаттерны домашней автоматизации

Здравствуйте, дорогие читатели! Очередная история о том, как менеджер самого среднего звена, сдувая пыль с залежавшихся железок на полке, творит такое, от чего у профессионалов всех мастей боль в глазах. ¡Но, это работает, amigo!

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

Все началось с желания дополнить мой проект Noorik, который я поставил себе на ворота. Если коротко — это DIY решение для GSM блока открытия ворот.
Для открытия ворот достаточно замкнуть определенные контакты на плате.

Заменил arduino на esp8266 и сделал веб-интерфейс с кнопкой открытия. Это оказалось интересно, но дальше я захотел единый интерфейс для открытия откатных ворот, гаражных секционных ворот и калитки.

Когда я стал расписывать все свои хотелки, оказалось, что мне нужно так же:

  1. система управления котельной
  2. охранная система
  3. мобильный интерфейс к камерам видеонаблюдения
  4. данные о температуре в доме и на улице

Бэкенд

Малинка работала нормально, но при очередном включении просто перестала включаться. Светодиод питания сначала загорается, затем плавно за 3-5 секунд гаснет, сильно греется элемент (polyfuse T075) около гнезда питания. А тут уже руки чесались применить mqtt, блэкджер, пригласить куртизанок и прочие прелести.

Не беда, благо своей участи ждал другой пациент. Orange pi zero в студию. Сколько я не мучился с этим чудом китайской мысли — вдохнуть жизнь в такой маленький пирожок оказалось делом выше моих сил. Я скачивал прошивки на официальном и левых сайтах, я покупал прошивки с рук и обменивал на криптовалюту. Думаю, мне просто попался бракованный образец.

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

Первым делом я решил использовать как головное устройство (брокер, сервер) видавший виды смартфон. Знаете эти старые вещи просто так не уходят. Им пользовался я, жена, дочь, потом я управлял с этого смартфона своим роботом-снегоуборщиком, я пытался утопить его в реке( до Москвы-реки я так и не добрался, но в родной Пахре эта труба навела шороху). И вот она — новая жизнь для Samsung Galaxy S3.

Читайте также:  Редактор форматов для андроид

Установил на смартфон Palapa Web Server и Ftp-сервер. Идея простая в базе данных MySQL всего три таблицы: values, logs, rules.

  • В таблице values пары ключ/значение.
  • В таблице logs история изменений значений.
  • В таблице rules правила изменения одних ячеек в зависимости от значения в других.

Все это хозяйство обслуживает один скрипт php, который по http запросу записывает или выдает данные из базы, а так же обслуживает правила по расписанию.
Я даже не понимаю какой должен быть уровень программирования, чтобы человек захотел это увидеть, но я готов показать Вам код — пишите в ЛС.

Фронтенд

Не кидайте в меня камни, я признаюсь сам. Я использовал Bootstrap. Да, грешен.
Первоначальной мыслью было обернуть все это через Phonegap и получить полноценное приложение. Скажу больше я так и сделал, но в итоге более работоспособной оказалась online-версия. Себе и жене на телефоне просто сделал ярлык на рабочем столе для открытия нужной странице по внутреннему ip.

Каждый элемент реагирует на событие нажатие + проверяется состояние ajax запросами на сервер и изменяется в случае необходимости. Очень удобно, так как видишь все изменения, которые вступили в силу по правилу или сделаны другим пользователем.
Собственно, код по запросу без проблем.

ESP-8266

Я пробовал разные модули и чистый ESP-8266. В итоге самым удобным вариантом оказался модуль LOLIN V3.

Питание с помощью импульсных блоков питания.

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

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

В итоге модуль для гаража в сборе выглядит так. PIR-датчик для определения движения аккуратно вгрызан в родную обшивку.

В котельной у меня котел очень простой и ни о какой сложной автоматике и речи не идет.

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

Последовательно с автоматами были включены реле для управления насосами и котлом.

Аккуратно впихивает все хозяйство в щиток.

Прошивка

Решил использовать для прошивки Arduino IDE, чтобы не связываться с nodemcu и lua. В интернете и на GT в частности огромное количество информации для начинающих.
Из интересного, мне кажется, функция соединения с wifi. Дело в том, что у меня в доме 4 сети wifi и может добавиться. Чтобы жестко не задавать название сети предварительно проводим сканирование доступных сетей.

При включенном автоматическом режиме котельной по расписанию проверяется температура на улице и температура теплоносителя.

  • При температуре ниже 14*С включается теплый пол первого этажа.
  • При температуре ниже 4*С включаются все контуры.

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

Система охраны работает еще проще. В таблице есть правило о том, что при включенной системе охраны, если обнаружено движение у одного из PIR-датчиков происходит отправка SMS через API одного из сервисов.

Планы

  • создание online-версии на удаленном сервере и синхронизация изменений для возможности удаленного управления.
  • Отображения данных с GSM/GPS маячков в машине;
  • Открытие ворот при появлении наших машин в определенной зоне;
  • Подключение к системе пультовой охраны;

Голосование по фото. Какой проект делать следующим?

Источник

Управление Умным домом с телефона

«Умный дом» представляет собой комплекс узлов и механизмов, которые программируются при помощи отдельной программы и отдельно, без человеческого вмешательства, управляют процессами в помещении. Эта система покупается или разрабатывается своими руками. Она может управлять следующими процессами и системами:

  • освещением (включение и выключение света, регулировка его яркости и оттенка);
  • электроприборами (включение и выключение, активация по таймеру);
  • климат-контролем (регулировка температуры при помощи контроля кондиционера или радиатора);
  • охранным комплексом (работа камер видеонаблюдения, датчиков и передача данных оттуда на смартфон на базе Android).
Читайте также:  Где андроид хранит apk файлы

Управление Умным домом при помощи Android-приложения

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

Альтернативный вариант — написать приложение на «Андроиде» (самая популярная операционная система, для которой пишут и размещают тысячи утилит в Google Play). Это дает возможность удаленного доступа по мобильному к блоку контроля вашего помещения.

Умный дом Crestron – Android R2

Мнение эксперта

Управлять «умным домом» с телефона, безусловно, легче и удобнее, чем с персонального компьютера. Единственный недостаток – это ограниченное количество приложений для смартфона; приложения для ПК более разнообразны, для владельцев смартфонов же выбора не предусмотрено. Впрочем, те, кто разбирается в программировании, могут написать собственное приложение, подстроив его под свои нужды.

Преимущества

«Умный дом» с управлением от «Андроид»-приложения имеет несколько преимуществ:

  • легкую настройку и контроль с телефона с любой точки мира при условии доступа к интернету;
  • система сама найдет новое устройство, которое подключено к «умному дому», и начнет им управлять;
  • на «умный дом» ПО можно обновить самостоятельно в любое время;
  • наличие таймера и записи сценариев, чтобы система могла подстроиться под вас;
  • не нужно выделять под блок управления сервер или отдельный компьютер;
  • вы не должны покупать несколько пультов управления для каждой комнаты – у вас всегда под рукой мобильный телефон.

Мобильный интерфейс приложения для управления Умным домом

Мастер управления

Управление умным домом с платформы «Андроид» возможно при помощи мастера управления и приложения, для которого вам потребуется написать код.

Мастер управления — это шлюз, который соединяет операционную систему «Андроид» любого планшета или телефона с рядом модулей для дистанционного управления, которые работают на частоте 433 МГц. На его борту устанавливаются следующие составляющие:

  • таймер;
  • приемное устройство для радиосигнала на частоте 433 МГц;
  • устройство для передачи сигнала на той же частоте;
  • Bluetooth-модуль, чтобы связаться с «Андроид»-гаджетом.

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

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

  • если у вас уже есть пульт или панель дистанционного управления, включите или выключите освещение (электроприборы) при помощи этих приспособлений. За то время, пока вы нажмете и удержите пару секунд кнопку, «мастер» считает и запомнит его код. Так обучение проводится для каждой команды. В дальнейшем при помощи «мастера» задаются сценарии на несколько электроприборов, которые объединяются в сцену;
  • если у вас нет пульта ДУ, разработанное для «умного дома» ПО тоже может использоваться сразу.

Автор, специалист в сфере IT и новых технологий.

Получил высшее образование по специальности Фундаментальная информатика и информационные технологии в Московском государственном университете имени М.В. Ломоносова. После этого стал экспертом в известном интернет-издании. Спустя время, решил попробовать писать статьи самостоятельно. Ведет популярный блог на Ютубе и делится интересной информацией из мира технологий.

Источник

Оцените статью