Эта статья написана как альтернативное решение, описанное в этой статье, так как считаю, что мой способ построения «умного дома» проще, доступнее, не требует умения «лужу, паяю, утюги починяю».
С чего началось.
Google Home
Почти три года назад прочитал множество статей о технологии «Smart Home / Умный дом». Очень заинтересовало, начал более глубоко «копать» в глубь этой темы. Начал рассматривать и изучать технологические платформы (экосистемы), чтобы попроще, без лишних заморочек, которые подойдут для меня. Остановился на Google Home. Купил на e-bay две умных колонки, Google Home и Google Home Mini.
Параллельно купил несколько переключателе одного крупного китайского производителя для управления электроприборами и светом. Что подкупило, управлялись по Wi-Fi. Для меня самым важным и ключевым моментом для выбора и покупки этих девайсов стал режим DIY, с помощью которого есть возможность управлять устройством напрямую из 1С, посредством HTTP-протокола.
Тындекс был отвергнут в виду дороговизны самой колонки и устройств для него, а перспектива постоянных платных подписок не прельщала. Home Assistant – хорошая, гибкая система, но нужен «мини-сервер», как центральный хаб по хранению и управлению устройствами + не простые настройки. Другие экосистемы были забракованы по аналогичным причинам или требовались устройства только этой экосистемы, или предъявлялись высокие требования к знаниям по настройке и управлению умными устройствами.
Предвижу некоторые возражения от некоторых читателей: «мол, есть такие-то и такие системы они круче и лучше». Читал, смотрел, знакомился. Что касается западных, они особо ничем не лучше Google’а. Что касается отечественных систем, то ну ничем не лучше западных, а то что значительно дороже – однозначно. Подавляющее большинство основываются или на Тындексе, или на Google’е или на Тыблоке, со всеми вытекающими... Моя цель – «просто, дёшево и сердито».
Ну и самое большое, что не нравилось практически во всех рассмтриваемых экосистемах – зависимость их от «облачных» систем/приложений. Есть интернет – автоматизация работает, нет – не работает или работает со сбоями. Доступно «облако» производителя – работает, нет – не работает или работает со сбоями.
Ключевое слово – DIY. Эксперименты с 1С
Плюсы
При переключении в этот режим, устройство больше не связывается с «материнскими серверами/облаками», и ты можешь управлять ими сам, так как тебе заблагорассудится. По инструкции перевёл устройства в режим DIY, написал простенькую программулину на 1С. Первые эксперименты прошли более чем успешно. Вдохновленный успехами начал ваять программу посерьёзнее. В ней уже был реализован практически полный функционал по управлению умными устройствами, в том числе и голосовое управление.
В этом варианте управления, уже была полная независимость от приложения (облачного решения) производителя, наличия/отсутствия интернета для управления. Так как «управляющий сервер», в лице программы 1С, находился в локальной сети. Правда зависимость от интернета всё же была в контексте голосового управления, но это уже, как говорится, издержки хотелок.
Всё шло хорошо, но минусы перевесили плюсы.
Минусы
- Лицензии на 1С, за них надо платить.
- Для работы программы нужен какой-никакой, хоть мини, но компьютер. К компьютеру нужен микрофон и колонки для голосового управления.
- Когда далеко от микрофона, программа тебя не «слышит» и соответственно голосовое управление сходит на нет.
- То, что это обычное приложение, и есть сложности в разработке поддержки голосового управления.
- Можно управлять с планшета или смартфона через браузер, но тоже не удобно, плюс управление голосом отсутствует.
Мобильное приложение на 1С
Все предыдущие минусы, но особенно плюсы привели к решению создать своё мобильное приложение по управлению умными устройствами. Было много сомнений, мук выбора - какой язык программирования выбрать для разработки. Потратив пару месяцев на проработку этого вопроса, принял решение остаться на 1С.
Плюсы
- Управление устройствами из локальной сети, без подключения к интернету.
- Практически полная конфиденциальность персональных и иных данных.
- Приложение подходит и для планшета, и для смартфона.
- Не нужен централизованный «материнский» или «облачный» сервер / устройство / приложение по хранению обработке и т.д. команд, данных и т.п. Можно использовать несколько смартфонов/планшетов в семье, и на каждом использовать независимо.
- Возможность использования встроенного микрофона и спикеров.
- Не надо покупать лицензии 1С.
Минусы
- Приложение разработано для мобильных устройств на андроиде.
- IP-адрес устройства надо прописывать вручную.
Что нам стоит «Умный дом» построить.
Хватит лирики. Раз вы дочитали до этого момента, значит вам интересно. Постараюсь не обмануть ваших ожиданий
Как это работает.
Центральным узлом, управляющим работой умных устройств, является смартфон или планшет (далее по тексту смартфон) с установленным приложением. Вся бизнес-логика размещается в нём. Смартфон посредством HTTP-запросов может: послать устройству управляющую команду, опросить состояние устройства. Роутер как узел связи, передатчик, передает запросы смарт устройствам, получает от них ответы, передает обратно на смартфон. Умное устройство выполняет полученную команду, и в зависимости от вида выполняет то или иное действие.
Простейший пример: нажимаете кнопку включить лампу, подключенную к наружному переключателю. Формируется HTTP-запрос с командой «Устройство с IP-адресом таким-то, Включись», роутер адресует этот запрос устройству, устройство включается. Или подаете команду голосом - «Выключить устройство лампа» *, приложение используя сторонний сервис «speech to text», получает текст команды, ищет во внутренней базе подходящую по фразе и предает команду устройству аналогично предыдущему варианту. Устройство выполняет её, посылает соответствующий ответ об успешном выполнении, в зависимости от ответа, приложение используя сторонний сервис «text to speech», или используя сохраненные варианты голосовых ответов, отвечает голосом об успешности исполнения команды устройством*.
* - для успешного использования необходим интернет
Что будет нужно.
«Железо», из чего будем строить.
- Смарт устройства, работающие в режиме DIY – подробнее в следующей статье. В настоящее время поддерживаются смарт устройства: два вида переключателей, диммер, белая и цветная лампы *.
- Смартфон или планшет подойдёт любой или оба, с версией Android 8 и выше (ниже не пробовал, но вы можете попробовать).
- Роутер – любой, обязательна поддержка сети 2.4 Ггц. Желательно отдельная сеть, так как замечено, что в некоторых моделях при «объединённой» сети 2.4 и 5 Ггц смарт устройства могут не присоединиться к этой сети или присоединяются с проблемами.
* - есть еще несколько подобных устройств, но по пока они автору недоступны.
Софт
- 1С: Предприятие 8.3, учебная версия (8.3.22.1709).
- Мобильная платформа 8.3.21.26.
- Web-сервер. Для разработки и отладки приложения. После генерации мобильного приложения в виде apk-файла и установки на смартфон не нужен.
Что ещё.
- Ваше желание попробовать превратить свой обычный дом в умный.
- Ваше время, чтобы попробовать превратить свой обычный дом в умный.
- Элементарные знания в области безопасности работы с высоким напряжением.
Цена.
- Стоимость смарт-устройств упомянуты выше обычно не превышает 9 американских рублей за штуку на али-экспрессе. В России может быть подороже.
- Смартфон. Уверен в каждой семье найдется устаревший, или есть у кого получить даром.
- Роутер – аналогично пункту 2.
Что в итоге.
- Свой, персонализированный «умный дом» или дачу.
- Мобильное приложение.
- Конфиденциальность. Ваши данные остаются у вас и не передаются в какие-либо «облачные» сервисы*.
- Независимость. Всё работает в локальной сети*.
- Простота. Всё или практически всё можно сделать самому. Платы, микросхемы, навыки «лужу, паяю, утюги починяю» не нужны, все смарт-устройства готовы к работе из «коробки».
- Децентрализация. Установка приложения всем членам семьи.
- Возможность имитация жизнедеятельности. Подойдет для дачи или при отъезде в отпуск.
- Автономность. Подключил насос на даче и поливай по расписанию.
*Исключение: голосовое управление.
Как это выглядит (примерно).
Скриншоты приложения
И видео, как это работает
Конфигурация для этой статьи
Disclaimer
Материалы, предоставленные для скачивания (далее по тексту – «материалы») разрешено использовать исключительно в ознакомительных/учебных целях.
Любое коммерческое использование предоставленных «материалов» без письменного разрешения автора запрещено.
«Материалы» предоставляются на условиях "As Is" ("как есть"), что означает, что автор не несет ответственности за какие-либо физические и программные повреждения оборудования, потери данных, потери прибыли или любые другие виды потерь, связанные с использованием (правильным или неправильным) этой программы. Вы используете данный программный продукт на свой страх и риск.
Мобильное приложение работает
- 1С: Предприятие 8.3, учебная версия (8.3.22.1709).
- 1С: Предприятие 8.3, мобильная платформа 8.3.21.26.zip
- Android SDK
- Web-сервер - Apache2.4, х86
- Версия Android: 8. (возможна работа с версией 5 и выше, тестирования не проводились)
Установка мобильного приложения на мобильный телефон
Для установки мобильного приложения из .apk файла, необходимо перевести смартфон в режим разработчика, скопировать файл в любую папку, запустить установку.
Архитектура мобильного приложения:
Демонстрационное мобильное приложение для ОС Android (ARM 64)
Демонстрационное мобильное приложение для ОС Android (ARM)
Демонстрационное мобильное приложение для ОС Android (x86_64)
Демонстрационное мобильное приложение для ОС Android (x86)
Как это работает
Фото
Видео
Заключение.
Если вы дочитали до этого места, значит эта тема вам всё ещё интересна. Но статья будет не полной, если автор не озвучит ещё пары-тройки важных для него моментов.
Немного о «высоком».
Немного жаль, с одной стороны, что в связи со сложившейся политической обстановкой в мире, наше государство «ограничили» в доступе к западным технологиям. Но с другой стороны, это и послужило толчком к разработке приложения. Другим толчком послужила дороговизна имеющихся отечественных систем. Мне очень нравится тема «умного дома», и очень хочется продолжить развивать и продвигать «в массы» разработанное мобильное приложение.
Считаю, что сделал очень недорогое, простое, перспективное и масштабируемое решение. Которое будет полезно не только для практического применения, но также многим поможет изучить разработку мобильных приложений на 1С.
Однако.
Все недорогие устройства вкратце описанные выше и которые можно подключить к мобильному приложению уже закончились. Остались только дорогие устройства, стоимостью от 80 американских рублей и выше. Они очень интересны в контексте функционала и управления. И для дальнейшего перспективного развития и расширения функционала приложения автор нуждается не только в вашей активной моральной поддержке, но и поддержке в виде стартмани.
Поэтому.
Поддержите морально.
Ставим «[+]» за статью. Пишите комментарии. Поделитесь этой статьёй на других ресурсах и в социальных сетях. Автору очень важно знать, что тема «умного дома» интересна ещё очень многим гражданам нашей страны. Каждый [+] будет означать ваш интерес к теме "умного дома".
И материально.
Скачивайте файлы за стартмани. В собранные таким образом средства пойдут на приобретение новых девайсов. Которые в свою очередь будут изучены автором, интегрированы в мобильное приложение. И в последующем будут доступны всем пользователям «Инфостарта».
Каждый скачанный файл будет означать, что вы прямо заинтересованы в продолжении публикаций, хотите научиться и создать своё приложение для управления своим "умным домом".
Перспективы
Планируется один-два раза в месяц публиковать статьи в виде учебного материала, в котором будут подробно описаны девайсы, подключаемые к приложению, какие функции они выполняют, как будет работать и прочее. Будут описаны объекты конфигурации мобильного приложения, для чего они нужны и прочее.
В следующей статье планируется опубликовать:
- Описание необходимого софта и «железа» для разработки мобильного приложения.
- Описание внешнего переключателя, как подключается, как работает с приложением и т.д.
- Конфигурацию и .apk файлы. Вы сможете управлять переключателем из приложения.
The End.
Уф, «и не нелёгкая это работа» писать статьи… Не забудь про «[+]» за статью, поддержи проект скачиванием прилагаемых фалов, напиши своё мнение в комментариях. Теперь точно всё.
До новых встреч!