Существует не так много изобретений, которые известны абсолютно всем. На слайде портреты трех инженеров, чьи изобретения общеизвестны. Несмотря на то, что все эти изобретатели гениальны, самый крутой среди них по моему мнению – Генрих. Почему?
-
Конечно, все знают, что такое «Тесла», но многие ли из вас ей пользуются?
-
Айфонами и айпадами пользуется многие, но тоже не все.
-
А изобретением Генриха пользуются 100% из вас. Я в этом уверен.
Мало того, наверное, треть или четверть из вас воспользовались этим прямо сегодня. Поэтому Генрих здесь – номер один.
В 1912 году Генрих изобрел магнетрон. Если вы сейчас скажете, что никогда никаким магнетроном не пользовались, не спешите, сейчас я все объясню.
Магнетрон – это что-то вроде обычного фонарика. Только фонарик излучает узкий направленный луч видимого света, а магнетрон излучает узкий направленный луч радиоволн сверхвысокой частоты. У этих радиоволн есть интересное свойство: они отражаются от металлических поверхностей и возвращаются назад.
Поэтому самое первое и логичное применение для магнетрона, который нашел Генрих, это радиолокационная станция.
И остался бы магнетрон таким узкоспециализированным изобретением, если бы спустя 30 лет, в середине 40-х годов прошлого века, другой инженер – Перси Спенсер, который работал в лаборатории, занимающейся разработкой радиолокационных станций, не положил случайно рядом с работающим магнетроном плитку шоколада.
Шоколадка растаяла. Перси сначала расстроился, потом задумался, затем сложил 2+2 и подал заявку на изобретение. В принципе, он не изобрел ничего революционно нового.
Он взял обычную радиолокационную станцию, которая состоит из четырех основных частей:
-
корпуса;
-
поворотного стола, расположенного сверху;
-
прикрепленного к столу магнетрона, излучающего радиоволны;
-
решетки, принимающей отраженный сигнал.
Перси взял такую радиолокационную станцию, уменьшил ее в размерах и вывернул наизнанку. Если раньше поворотный стол был снаружи, теперь он был внутри. Магнетрон светил наружу, теперь стал светить внутрь.
Получилась конструкция, которая в современном исполнении выглядит так.
Волны излучаются магнетроном, бегают внутри корпуса, отражаются от металлических стенок корпуса и в итоге попадают на предмет, находящийся на поворотном столе.
Вы догадались, что это обычная микроволновка, которая есть у каждого из вас. Именно поэтому Генрих здесь №1: его изобретением пользуются все.
Так выглядела первая микроволновка. Она весила 300 кг и стоила 3 000 долларов. Неимоверно высокая цена по тем временам. Но сейчас, благодаря современным технологиям, удалось уменьшить вес, размер и цену микроволновки и теперь она доступна каждому.
Я полагаю, у вас уже назрел традиционный для моих докладов вопрос: при чем здесь 1С? Ни при чем.
Но это подходящая аналогия. Потому что когда Генрих изобретал свой магнетрон, вряд ли он мог предположить, что спустя 30 лет его изобретение найдет место на каждой кухне и будет там более чем востребованным.
Так и разработчики платформы 1С вряд ли предполагали 30 лет назад, что когда-нибудь кто-то станет использовать платформу 1С в качестве бэка для умного дома. Но такой умный дом существует как минимум в двух экземплярах уже больше трех лет и прекрасно работает. И сейчас я вам расскажу, как сделать умный дом на 1С.
Но сначала два занимательных факта.
Генриха звали «Грейнахер». Я не выругался, это его фамилия. И благодаря ей сейчас в русскоязычном интернете среди групп физиков и инженеров ходит замечательный мемасик: какая еще могла быть фамилия у мужика, который придумал главную запчасть микроволновки.
Второй занимательный факт. Микроволновка – это не единственное устройство, которое у вас дома излучает радиоволны. Второе устройство – это ваш роутер. И самое примечательное, что оба они работают на одной и той же частоте – 2,4 ГГц. Поэтому когда в следующий раз вы сядете на кухне, включите микроволновку, откроете браузер в смартфоне и удивитесь, куда пропал интернет, вспомните об этом. И просто поставьте свой роутер подальше от микроволновки. Потому что она мощнее, и забивает канал вашего роутера. Если что – роутер на 5 ГГц решает эту проблему.
Зачем делать умный дом на 1С
Решений для умного дома много – в любом интернет-магазине вы можете купить готовые модули. Просто их взять и поставить. Неважно, какой производитель. Это мы будем называть готовым решением, готовым умным домом.
Какие у них преимущества:
-
Простота монтажа.
-
Они работают из коробки.
-
Не нужно никаких серверов поднимать.
-
Вы купили выключатель (кнопочку, плашку), релюшку, которая свет включает, что-то настроили, завели свой аккаунт где-то на серверах, нажали кнопочку и через секунду загорелся свет. Важно, что именно через секунду, не всегда сразу загорается. Информация о том, что между действием и реакцией на нее есть задержка, нам потом пригодится.
Минусы готовых решений:
-
Во-первых, цена. Если вы то же самое соберете на ардуинке, это будет стоить в несколько раз дешевле.
-
Сложно настроить в некоторых случаях, например, когда требуется какая-то очень кастомизированная настройка. Там есть, конечно, какие-то свои настройки – нажимание флажков, нажимание кнопочек, установка параметров. Но оно не всегда спасает.
-
Готовые решения работают на чужих серверах. Это может быть важным.
Мы выполняли один интересный проект для очень крупной организации, которая занимается обслуживанием котельных. Таких котельных по всей России около тысячи.
Задача, казалось бы, простая: собирать телеметрию, раз в 15 минут смотреть, какая температура выходит из котла и какая туда заходит. Если разница большая, сразу бить в колокол.
Можно посадить тысячу человек чтобы следить за температурой, а можно поставить оборудование, которое будет снимать телеметрию и через GSM-модем отправлять данные.
-
Мало того, что оборудование обычное, из коробки, стоило 30 тысяч, а на ардуинке – всего 5. А теперь разницу умножьте на тысячу, и получите экономию в 25 миллионов.
-
Основное требование, которое предъявлял заказчик, – все должно быть на наших серверах. Ни через Китай, ни через Яндекс ничего не должно ходить.
-
Плюс открытый код.
Пожалуйста, вот ардуинка, вот открытый код, вот 1С – проверяйте как угодно. Мы выиграли этот тендер и замечательно сделали проект.
Мой друг недавно купил себе набор таких коробочек, чтобы выключать свет и т.д. Похвастался в фейсбуке.
И сразу пошли комментарии о том, что все это очень глючит.
Чтобы запустить что-то готовое, надо постараться. Не всегда заработает.
Поэтому если вы не готовы мучиться с ардуинкой, мучайтесь с готовым. При этом заплатите в 5 раз больше.
Преимущества умного дома на 1С, как я уже сказал:
-
цена;
-
оборудование реагирует на события не хуже, чем при работе готовых решений – я напоминаю про задержку перед тем, как включится свет.
Принцип работы умного дома
Что такое умный дом?
-
Он состоит из органов чувств – плашки, датчики и т.д.
-
Они при срабатывании отправляют HTTP-запрос мозгу, который размещен где-то на серверах. Т.е. сначала необходимо дождаться, пока запрос туда дойдет.
-
Потом мозг должен найти умного исполнителя.
-
А наш умный исполнитель – это же не HTTP-сервер, он постоянно спрашивает мозг, есть ли для меня информация.
-
И если есть, он включается. Вот и возникает задержка.
То есть, мозг – это некий бэк, который принимает HTTP-запросы и генерирует HTTP-запросы.
1С это прекрасно умеет – достаточно здесь просто заменить мозг на 1С.
1С прекрасно справляется с запросами от устройств – в предыдущих своих докладах я об этом много рассказывал. Так что ничто не мешает нам использовать 1С в качестве бэка.
Ардуино
Мы используем в качестве железа ардуино. Это один из моих любимых контроллеров, называется Lolin Wemos D1 mini. Он реально мини: 4 см в высоту и 3 см в ширину.
По сути, это полноценный компьютер, который программируется на С-подобном языке. У него есть определенное количество входов и выходов – «пинов».
Каждый такой вход или выход вы можете запрограммировать как на прием информации от датчика, так и на подачу сигнала исполнительному устройству.
То есть, вы можете подать на этот сигнал логический 0 или 1 и у вас включится или выключится лампочка.
На другой пин вы подключаете плашечку вашего выключателя, и контроллер понимает, нажата соответствующая кнопка или нет.
Его преимущества прекрасные, и их много:
-
Он очень дешевый. Эта штука стоит 350 рублей, если его заказывать в Китае.
-
Он надежный. У меня уже более 3 лет работает один экземпляр и ни разу ничего не зависло, не сломалось.
-
По поводу сборки и подключения – используются так называемые шилды. Если нужно собрать сборку «Lolin + реле», они просто друг в друга вставляются.
-
Остается взять готовую библиотеку и запрограммировать ее на то, чтобы в нужный момент включалась релюшка.
-
Туда подается 5 вольт через обычный usb-кабель от стандартного адаптера к смартфону и т.д.
-
Этих плат неимоверное количество, они разные: большие, маленькие, с различным количеством выводов.
-
И все они обладают возможностями настоящих умных домов.
-
Кстати, можно туда подключить и стандартные готовые устройства, если разобраться с их протоколом. Это вполне реально.
Как я уже сказал, для программирования логики работы микроконтроллеров используется полноценный язык. И самое главное, что для него есть тысячи готовых библиотек на все случаи жизни. Их даже искать не надо. Вы открываете https://arduino-ide.com/, там есть примеры кода, разделенные по группам: например, как запустить мотор, как зажечь лампочку, использовать микроконтроллер как HTTP-клиент, как HTTP-сервер.
Представьте себе, эта штука может быть HTTP-сервером – вы назначаете ей статичный IP, в браузере указываете этот IP, и она вам может нарисовать страничку с какими-то определенными контролами, выполнить с ними определенные действия.
Так работает мой робот Гайка, которого я показывал в 2018 году.
Так что причин, чтобы 1С не была бэком, нет. Эта фраза Терминатора «I'll be back», в нашем случае – «я буду бэком», придуманная Джеймсом Кэмероном еще в 1984-ом году, стала пророческой для платформы 1С. И да, этот дом прекрасно работает.
Работа с 1С через HTTP-запросы
Как достучаться от устройства до 1С? Мы предпочитаем использовать HTTP-запросы. У HTTP-запросов есть большие плюсы:
-
Контроль целостности данных;
-
Гарантированная доставка. Есть понятие таймаута: если мы отправили HTTP-запрос и получили ответ, мы точно знаем, что запрос до адресата дошел. Мы понимаем, что получатель его получил и обработал. Если мы получили код ответа «200», это значит, что получатель его обработал правильно. Он точно выполнит то, что мы хотим.
-
Можно передавать огромные объемы информации – странички, файлы и т.д.
Основной минус в том, что HTTP-запросы тяжелые по сравнению с другими протоколами (мы потом рассмотрим второй протокол, UDP)
Например, если мы используем эту штуку в качестве веб-сервера, она сможет обработать, по моей практике, не больше трех входящих HTTP-запросов в секунду.
Но что такое три HTTP-запроса в секунду? Вы же не будете 3 раза в секунду включать и выключать свет. Вы его включаете изредка. Поэтому эта штука прекрасно работает и прекрасно справляется на HTTP-протоколе. А если вам важна конфиденциальность, вы можете даже HTTPS поднять.
Если сравнивать HTTP-протокол с общением двух людей по мобильникам, получим: один другому позвонил, когда второй трубку поднял, закончились длинные гудки, первый гарантированно понял, что его слышат. И самое главное – перехватить чужой телефонный разговор вы не сможете.
Что такое гарантия доставки визуально-музыкально?
Когда-то мы делали эти кнопки для Инфостарта для брейн-ринга, дорабатывали их. Мы туда добавили пищалку, и когда включается первая минута, сигнал пошел, через 50 секунд сигнал, через минуту сигнал.
На этой гифке показано, как примерно 2 раза в секунду отправляется HTTP-запрос проигрывания звука – все семь нот подряд, и Ардуинка его обрабатывает.
Она не всегда обрабатывает запросы быстро. Но даже если она не может его обработать сразу, HTTP-запрос ставится в очередь, и она его все равно обработает.
Несмотря на то, что визуально видно, что перекликивание вкладок идет стабильно, если послушать, как это звучит, можно заметить, что некоторые запросы быстро-быстро друг за другом проходят, а некоторые – с задержкой.
Но несмотря на то, что задержка есть, они гарантированно доходят. Поэтому HTTP-протокол – наше все.
Есть еще протокол UDP. Он значительно более легкий, вы можете передать через него тоже огромное количество информации, но последовательно, без контроля целостности и без проверки, что получатель его получил.
UDP-протокол – это аналог радиопередачи. Например, есть радиостанция, которая куда-то вещает, есть получатели с приемниками. Но радиостанция не знает, кто из пользователей услышал ее сигнал, а кто нет. И проконтролировать это никак не может.
Но у UDP-протокола есть такая классная штука, как связь «один со многими». Одна радиостанция может сразу всем одновременно передать информацию.
В некоторых случаях это бывает полезно. Например, для управления котиком, которого я с собой принес.
У нас есть обычный пульт, сделанный на обычном смартфоне. Там тоже использован UDP-протокол, потому что нам нужно быстро передавать команды. Если бы мы его делали на HTTP-запросе, то пока он обработает эту команду, робокотик может уехать и упасть в яму, а я его не успею остановить.
Так что применение UDP-протокола есть, но в умном доме лучше его не использовать, потому что его безопасность на низком уровне.
UDP-протокол это то же самое, как два человека разговаривают, а третий за ширмочкой встал и все слышит. Примерно так, без всякого контроля, может подключиться «бармалей» и подслушать, что у вас происходит. Поэтому мы за HTTP.
Схема работы выключателя
Как работает выключатель?
-
У вас есть сервер.
-
Есть кнопка с ардуинкой, которая при нажатии на плашку отсылает HTTP-запрос серверу.
-
Сервер запрос обрабатывает, понимает, что на таком-то устройстве необходимо включить релюшку.
Посмотрим код. Это код ардуино (датчика). Я написал его один раз, сделал универсальным. И теперь, чтобы создать какую-то кнопочку, у меня уходит буквально 2 минуты. Потому что мне нужно всего лишь поменять DeviceID. Запомните его «КухняПодсветкаОптическийСенсор».
После переезда в новую квартиру у меня была проблема: в кухне под шкафами было 4 светильника и 4 выключателя для каждого из них.
Мне хотелось, чтобы было так: зашел, провел рукой возле одного оптического датчика, и светильники включились. Я так и сделал.
Там даже нажимать никуда не надо – я спрятал сенсор на входе возле стиральной машины.
У меня посылается запрос в 1С. Это готовая библиотека, просто из интернета взятая. Ничего в ней не придумано. Все, что я делаю – в момент, когда нажата кнопка, а в моем случае – поднесена рука к сенсору, у меня выполняет функция «httpRequest», куда я передаю «Событие=Нажата». Запомните и этот момент.
Функция httpRequest() абсолютно стандартная.
Я собираю путь в переменной «Link» – это будет GET-запрос,
-
URL – это путь к базе данных HTTP-сервиса;
-
дальше передаю идентификатор устройства «КухняПодсветкаОптическийСенсор»;
-
и параметры.
А потом говорю: выполни код «http.begin(Link)».
На стороне 1С есть функция обработки запроса от устройства, которая:
-
разбирает этот HTTP-запрос;
-
извлекает из него идентификатор устройства и действия, которые необходимо выполнить;
-
и перенаправляет выполнение в процедуру «ОбработатьЗапросОтУстройства()», куда передается событие («Событие=Нажата»).
В базе данных есть элемент справочника, который называется «Устройства». Здесь сейчас отбор по двум элементам:
-
«Кухня, подсветка, Оптический сенсор» (это его форма)
-
и «Кухня, подсветка» – это лампочки, релюшки.
Эту подсистему, которая все делает, я написал буквально за 2 часа. Без шуток.
И теперь, чтобы поднять выключатель, который принимает сигналы и отправляет его релюшке, достаточно просто создать два элемента справочника и добавить в табличной части соответствующие команды.
При наступлении события «Событие=Нажата» мы должны выполнить код «ОтправитьКомандуУстройству» с индикатором «КухняПодсветка» и действием «Переключить».
В форме справочника «КухняПодсветка» для «Событие=Переключить» мы должны ОтправитьКомандуУстройству("switch").
У нас есть устройство – обычная ардуинка со статическим IP-адресом, работающая HTTP-сервисом, она слушает порт 80. 1С ей отправляет HTTP-запросы, передает команду «switch».
Это вырезки из кода ардуинки, которая работает HTTP-сервером. Смотрите с левой колонки сверху вниз:
-
подключаем все необходимые библиотеки;
-
задаем статический IP-адрес;
-
когда приходит команда «/on», мы вызываем функцию «handleOn»;
-
когда приходит команда «/off» – «handleOff»;
-
«/switch» – «handleToggle»;
В функции «handleToggle» мы отправляем, ответ с кодом «200», что все окей.
И в функции «toggleDevice» проверяем – если свет включен, то выключить, а если выключен, то включить.
Если вы не знаете ардуино, вам с этим придется разбираться часа 2. Если знаете, то все это можно сделать буквально за 15 минут.
Примеры элементов умного дома
Зачем для этого 1С?
Низачем. Это реально можно собрать на готовых девайсах.
Но в некоторых случаях логики готовых девайсов не хватает. Пример. Раньше, когда стиралка завершала стирку, она пищала и я ее слышал. Мы недавно переехали в новую квартиру, она больше, и если я где-то на балконе, то уже не слышу этого писка.
Мне захотелось, чтобы стиралка, когда достирала, присылала мне e-mail. Это запрограммировать на стандартных алгоритмах стандартных умных домов будет крайне сложно.
Как работает это в моем случае? Используется тот же самый Lolin, к которому я добавил еще один датчик, – датчик вибрации.
-
Когда машинка стирает, датчик срабатывает и раз в 30 секунд отправляет в 1С HTTP-запрос: у меня тут машинка дергается.
-
Эта информация складывается в регистр сведений и каждая запись регистра говорит о том, что от машинки приходил сигнал о работе.
-
Дальше раз в 5 минут срабатывает регламентное задание, оно смотрит, что происходило последние 10 минут с машинкой.
-
Если она видит, что с 10-ой по 6-ую минуту машинка дергалась, а последние 5 минут сигнала нет, значит, она стирала и достирала. Либо остановилась из-за ошибки.
-
Но главное – 1C регламентным заданием отправит мне e-mail о том, что надо посмотреть, что с машинкой.
Кто сможет сделать это на стандартном умном доме, тот молодец. Но сколько у вас на это уйдет времени? Да, есть такие машинки, которые сами все это отсылают. Но в моем случае это не так.
Интересно получилось в исполнении: я плату микроконтроллера с датчиками положил в корпус от старого usb-кармана, магнит прилепил прямо на машинку, подхожу к машинке – у меня свет включается, ухожу – выключается. И эта же коробочка сигнализирует об окончании стирки
Для чего я этим заморачивался? Ради фана. Но самое интересное – я извлек из этого реальную прибыль.
Когда моему сыну исполнилось 3 года, он уже сам научился ходить в туалет, но просил свет включить, потому что выключатель был на стене высоко. Я поставил датчики света, чтобы они включались.
Но у него была другая проблема: ночью надо выйти в темный коридор, а там же страшно! Поэтому я ему кнопку сделал в смартфоне. Он берет смартфон, нажимает на кнопку из своей детской комнаты, в коридоре зажегся свет, он идет в туалет.
Потом я ему добавил автоматических поилок и многого всего другого.
Когда пришли покупать квартиру люди с двумя детьми 4 и 8 лет, квартира была идеально подготовлена для жизни детей. И первые покупатели, которые пришли смотреть квартиру, сразу же ее купили на 5% дороже рынка. Так что это не детские игрушки, я реально на этом заработал.
Ограниченные ресурсы требуют оптимизации
На слайде – план одного закуточка моей прошлой квартиры. Мы сделали перепланировку, чтобы вместо смежных комнат получились раздельные. В итоге получился такой интересный закуток глубиной 2,4 м, а шириной 1 м. И видна дверь в детскую комнату. Пространство 1,2 м х 1 м осталось свободно. Оно пошло под кладовку. Мне хотелось это пространство использовать максимально эффективно, чтобы все было занято полками. Но если я сделаю полки глубиной 120 см, то все, что будет лежать в самой глубине, я никогда уже не достану. Я туда не полезу, мне лень будет.
Какое решение? Два шкафа на колесах. Они полностью занимают это пространство.
Каждый из них может выехать вот таким образом. Все, что надо, можно достать или положить. А потом шкаф обратно задвинуть. Сработало шикарно.
Вы бы знали, сколько в этих шкафах всего поместилось! Когда мы переезжали, я оттуда достал вещи, и ими полкомнаты заложил. Причем этот шкаф был вторым доводом для семейной пары, которая купила квартиру к тому, что ее нужно брать.
Но возникла проблема. Шкаф, когда мы туда накидали всяких вещей, он стал весить 100 – 120 кг. А жена у меня стройная, весит всего 53 кг – она не могла его выдвинуть. А зачем шкаф, из которого нельзя достать вещи?
Я приделал к шкафу мотор, поставил туда аккумулятор. Ардуинка, кнопка «Emergency» на всякий случай, нажимаем кнопочку и отходим. Главное – не мешать. Там все предусмотрено, есть тросик, который отсоединяется в случае поломки механизма, и в случае чего руками можно шкаф затолкать назад.
Чтобы собрать такой шкаф, нужны следующие комплектующие:
-
мотор за 3,5 тысячи рублей;
-
драйвер двигателя, который переваривает ток на 43 ампера – 600 рублей;
-
аккумулятор примерно за 1,5 тысячи. Если свет выключат, ничего страшного, шкаф на аккумуляторе, который я заряжал от обычного UPS;
-
кнопка;
-
оптический ультразвуковой датчик, который определял, что уже пора остановиться или проехать дальше. Он стоит 60 рублей.
В программу вшит код, который следит за нажатием кнопок. Когда мы нажимаем кнопочку «отъезжай», датчик смотрит, сколько осталось до дальней стенки. На драйвер подается сигнал цифрой от 0 до 254. Если 0, у вас будет 0 вольт на выходе, если 254 – будет 12 вольт. Потому что нельзя шкаф весом в 100 кг просто взять и резко дернуть. Он плавненько разгоняется, доходит до максимальной скорости, потом плавненько останавливается.
И следит за эти всем Lolin за 350 рублей.
Себестоимость всего оборудования – около 7 тысяч рублей.
Где такой умный дом можно использовать в реальной жизни? Например, в отеле.
Когда в декабре 2020 года я приезжал на Infostart Friday’s Club, я жил в отеле, в котором не было живых людей – видимо, пандемия наложила свои особенности.
Я забронировал номер, приехал по адресу, нажимаю на входе на домофон, мне перезванивают на телефон, спрашивают: «Вы уже на месте?».
Оказывается, в отеле людей нет, они им управляют дистанционно, и им оповещение о звонке в домофон пришло. Меня предупредили, что сейчас на двери зазвучит сигнал, и дверь можно будет открыть.
Мне назвали номер номера и когда я подошел к двери, опять зазвучал сигнал и дверь открылась. Мне объяснили, где ключи, и сказали, что дальше сам разберусь.
Это было интересно: отель, в который можно заселить людей, не выходя из дома для встречи гостей. Достаточно разместить камеры, которые будут контролировать, что все хорошо.
Чтобы поднять такой отель и сделать ему мордочку на нашей любимой 1С на мобильном приложении, нужны только указанные на картинке запчасти.
Их можно не только для отеля использовать. Вы можете это продавать и реально на этом зарабатывать. Или можете просто дома себе сделать.
И это все будет работать на 1С. Причем, работать будет надежно, классно и без ошибок. Лично мной проверено.
Единственное, что нас останавливает от умного дома на 1С, – это шоры, что 1С для этого не предназначена. А кто это сказал? Я могу доказать, что это не так. Все работает, и в некоторых случаях даже лучше, чем любое другое решение.
Расскажу немного про робота кота, с которым сегодня пришел. Это радионяня, которой можно управлять через интернет.
В голове у него камера и «слушалка». Вы запускаете смартфон, видите и слышите все, что видит и слышит он. Можете нажать кнопочку и сказать, он повторит ваши слова.
Можно еще и управлять им, он будет у вас по квартире ездить, а вы можете находиться где угодно.
Он может быть сторожем, может быть Алисой, ему можно задать вопросы, он ответит – это не просто фан какой-то.
Хотя и ради фана многие люди готовы его купить. Мой маркетолог говорит, что это будет продаваться.
Вопросы
Есть же промышленный протокол как раз для IoT устройств – MQTT. Его Тесла, например, использует, чтобы метрики собирать со своих автомобилей в ту же Kafka. Почему не использовали MQTT?
Не использовали, поскольку за основу этого умного дома я взял свой веб-клиент на 1С. Я взял готовый интерфейс, готовые HTTP-запросы и запустил для умного дома. Это и было причиной.
А MQTT, пожалуйста, подключайте к чему угодно. У нас же нет никаких ограничений, мы можем и в ардуинке программировать, и в 1С. Если мы придумали свой протокол, мы используем свой. Захотели MQTT – пожалуйста. Вообще никаких ограничений. В этом и плюс таких кастомных решений.
Как вы реализовали гальваническую развязку? Или в вашем умном доме нет грозы?
Не везде реализовывали, потому что не всегда она нужна. Если речь идет о подключении релюшки – просто шилд и все. Нет смысла в данном случае. Развязку в шкафу, где большие нагрузки, тоже смысла нет. Потому что там за это отвечает драйвер, а он переваривает 43 ампера. Главное – поставить предохранители.
У вас по WiFi все? По воздуху? Роутер никогда не падал?
Никогда не падал, не так много запросов. А во-вторых, я просто поставил два роутера, и у меня отдельный роутер для умного дома. Проблем никаких нет.
Он всегда работает?
Да. А что ему будет? Причем, это роутер Mikrotik, которому, не знаю, сколько уже лет, наверное, 10. Он не годится для обычного компа, но от умного дома запросов же заходит по капле в час.
Что еще интересного в 1С вы реализовали?
В докладе 2018 года я рассказывал про робота Гайку на 1С. Я его показывал, он умеет говорить, слушать, воспринимать слова, обрабатывать их и генерить ответы. И все это сделано тоже на 1С. Распознавание, рекогнайзер – это Google Speech. А сама логика, готовый текст отправляется в 1С, там есть подсистема, которая понимает, что ей сказали и как на это ответить, и генерирует ответ.
Но самое главное – то, что стало коммерческим продуктом, это мой собственный веб-клиент на 1С, о котором я рассказывал в 2016, 2017 и 2019 годах. Очень успешное решение, продается очень хорошо. Уже около 100 проектов выполнили на нем. Его купило у нас даже государство, работает в правительстве Подмосковья.
Так что все, что можно было сделать с 1С, мы сделали. Не зря нас в шутку называют «ИТ-извращенцами».
А в промышленных масштабах это можно эксплуатировать? Например, в 100 квартирах, 200 или 500.
Вообще не вижу причин, почему бы это не могло заработать. Конечно, можно. Если у вас 1С такое количество HTTP-запросов переварит, почему бы нет. Мы замеряли года 3-4 назад, у нас получалось, что 1С одновременно могла выполнять до 100 запросов в секунду. Мне кажется, для 100 квартир этого более чем достаточно.
Для любых исполнителей, в том числе построенных на ардуино, так или иначе нужны конвертеры с 220 на 5 вольт. Получается, у вас для всех исполнителей везде эти преобразователи поставлены – блоки питания, шнуры и т.п.?
Да, они продаются готовые на том же Алиэкспрессе. Там коробочка размером с половину спичечного коробка с 4 выводами: 2 вывода по 220, на выходе либо 5, либо 12 вольт, сколько хотим.
Но главное – у этих Lolin, почему я их люблю, обычный usb-вход и встроенный конвертер питания. Туда через usb-кабель от любого адаптера к смартфону подается 5 вольт, и он замечательно с ним живет.
В итоге универсальных коробочных решений у ардуино нет. Получается, всегда приходится колхозить. Куда эти все устройства укладывать? Вы свои коробочки придумывали или просто в магазине строительных материалах набирали?
В «ЧИП и ДИП» этих коробочек стандартных размеров миллион. Но если речь идет о выключателе, когда я хочу заменить обычный выключатель на умный, я беру двойной – с двумя плашками. Одну плашку оставляю для стандартного варианта, из второй внутренности вынимаю, ставлю заглушку. И внутри появляется место для ардуинки. Выключатель стал в 2 раза больше, но при этом он управляется и обычно, рукой, и откуда угодно – из 1С, из смартфона, из чего угодно. Вполне себе рабочее решение.
*************
Статья написана по итогам доклада (видео), прочитанного на конференции Infostart Event 2021 Moscow Premiere.