Мобильное приложение 1С и Умный дом. В каждый дом. Пролог
Хотите попробовать свои силы в разработке собственного мобильного приложения на 1С для управления светом и электроприборами в своём доме?
Добро пожаловать! Хочу поделиться собственными наработками в этой области.
Это будет приложение, разработанное для мобильных устройств на базе Android. Основное предназначение: управление включением/выключением устройств, работающих от сети 220 V (свет, телевизор, чайник, вентилятор, микроволновка и т.д.). Управлять будем: из приложения, голосом, на заданный промежуток времени, интенсивностью света, расписанием работы.
- Описание
- Подробнее
Описание
Эта статья написана как альтернативное решение, описанное в этой статье, так как считаю, что мой способ построения «умного дома» проще, доступнее, не требует умения «лужу, паяю, утюги починяю».
С чего началось.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.
Что в итоге.
- Свой, персонализированный «умный дом» или дачу.
- Мобильное приложение.
- Конфиденциальность. Ваши данные остаются у вас и не передаются в какие-либо «облачные» сервисы*.
- Независимость. Всё работает в локальной сети*.
- Простота. Всё или практически всё можно сделать самому. Платы, микросхемы, навыки «лужу, паяю, утюги починяю» не нужны, все смарт-устройства готовы к работе из «коробки».
- Децентрализация. Установка приложения всем членам семьи.
- Возможность имитация жизнедеятельности. Подойдет для дачи или при отъезде в отпуск.
- Автономность. Подключил насос на даче и поливай по расписанию.
*Исключение: голосовое управление.
