Продолжение поста «Альтернативный взгляд на 'умный дом'»

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

Не менее 90% моего проекта - это комплекс программного обеспечения(как минимум сервер, контроллер и клиент). Остальное - это по сути необязательные допы, типа линейки своих конечных устройств(датчики, устройства управления, модули, шлюзы и прочее).

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

Расскажу про те самые 10%

Насчет своей линейки устройств - конечно, конкурировать с Китаем никаким образом не выйдет. Максимум, это единичные продажи, от которых заметную прибыль не получишь, но это может быть полезным бонусом для проекта в целом.

Я знаком с CAN, и все же RS-485(без Modbus) подходит лучше. Физика не отличается, отличаются протоколы. Я использую свой проприетарный протокол, который существенно более функциональнее Modbus. И он закрывает все необходимое для домашней автоматизации. Более того, я также разрабатывал в другом проекте аналогичное решение но с более богатым функционалом, например там устройства свободно могут общаться друг с другом без мастера, находясь на одной RS-485 шине. В данном проекте такое мне пока не нужно.

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

STM вероятно сейчас дешевле чем AVR и точно функциональнее и богаче ресурсами. Но лично меня устраивает функционал и цена за МК(ATmega168) в пределах 80-100 рублей. Большего мне в конечных устройствах не нужно.

В моих железках не используется конкретно RTOS, у меня своя realtime OS написана полностью на ассемблере(существенная разница в размере потребления ресурсов). Да, конечно, размер прошивки в небольших программах заметно меньше для кода без ОС, особенно под конкретную задачу. Но если у Вас богатый функционал, то не важно Си это или ассемблер - у вас будут большие трудозатраты. Использование ОС эти трудозатраты существенно снижает. Здесь просто нужно смотреть на поставленную задачу. У меня богатый функционал, и использование ОС заметно более выгодно. Ну и разработка на ассемблере существенно оптимизирует размер прошивки и использование других реусрсов МК.

Теперь по поводу комментария, что у меня проект совсем не похож на умный дом.

Конечно у меня есть сценарии. На базе их контроллер(а не сервер) управляет всеми устройствами. Главное преимущество - большинство сценариев описываются в виде UI формы, там нет ни скриптов, ни конфигов, ни программирования. Хотя если будет действительно сложная задача - можно подключить Java код.

Кроме того для своей линейки у меня наработан почти полный функционал триггеров(пока не ввел в работу), т.е. устройства сами могут выполнять простейшую автоматизацию, в том числе и на базе показаний других устройств. Подобное я уже делал. И все это на ATmega168(в край 328).

Как уже сказал, сценарии выполняет контроллер. Он может быть установлен в квартире, может быть виртуальным в облаке. А может и не быть. Клиентская программ сама может взять на себя функционал контроллера, но в этом случае сценарии работают только тогда, когда работает клиент.

Для автоматизации сервер не нужен, он вообще не выполняет автоматизацию - у него другие задачи, типа агрегации данных, предоставление доступа пользователям, информирование и прочее.

Спасибо за внимание.

Насчет холивара Си и ассемблера я напишу отдельно. Можно будет устроить срачь, шучу.

UPD:

В моем посте завелись тараканы. Я их не вижу, но они гадят. Постоянно приходят сообщения как только кто-то из них нагадит.

Будьте осторожны, я не вижу этих тараканов и не знаю что оне там постят.

Показать полностью

Альтернативный взгляд на 'умный дом'

Я не копирайтер и никогда не практиковался в написании постов, я практикуюсь в разработке ПО(профессионально и давно) а также в схемотехнике(хобби). Здесь не будет красивого изложения.

К тому же я хочу донести общий смысл, а не заострять много внимания на деталях.

В общем я даже не буду пытаться соответствоать шаблону крутого спеца. Просто прошу обращать внимание не на мою личность, и форму подачи материала, а конкретно на вопросы о которых буду писать.

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

А пишу я этот пост, просто потому, что меня(в том числе и как портебителя) очень сильно напрягает положение дел касаемо домашней автоматизации. И я вижу альтернативное решение. Благо я волен сам выбирать как функционал ПО, так и оборудование на котором строю свое решение.

Приступим.

Я всегда стараюсь исходить из задачи. Задача - я хочу автоматизацию в квартире, гараже. А далее на даче, когда она у меня будет. Да и вообще где угодно, автоматизация везде полезна.

Конкретно, для квартиры я хочу следующее:

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

Климат: Датчики температуры, влажности, в каждом помещении(и С02 датчики в жилых помещениях). Управление запортной арматурой батарей отопления(для регулировки тепрературы в помещении). Управление вентиляцией.

Безопасность: Датчики открытия на каждое окно, входную дверь(и на некоторые двери внутри квартиры). Датчики дыма.

Электрика: Димирование ламп накаливания(я не сторонник светодиодного освещения), управление светом для остальных типов ламп(вкл/выкл). Управление(очень желательно) каждой розеткой в доме. Съем показаний с электросчетчика. Управление электрозамком на входной двери и еще в паре мест в квартире соленоидом.

Ну и прочее: Съем температуры в ларе(морозильник), метеостанция, счетчик гейгера и прочее, прочее, прочее. А вот еще - универсальный модуль в каждую жилую комнату, который сможет управять кондишкой, телевизором и прочим по ИК, сможет принимать команды по ИК от пульта, сможет работать ночником и прочее. А еще можно подружить WiFi точку доступа или клиента с сценариями для управления охранкой и открытием двери, домофоном и прочее.

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

Главное, я могу написать софт сам, а еще мне интересны микроконтроллеры типа старых ATmega 8(AVR), которые несколько лет назад изучил очень детально(без Ардуино). И которые, во всяко случае были, намного дешевле остального на рынке. Я могу писать и на STM но я не любитель Си, я люблю ассемблер, а ассемблер у корексов мне не приятен.

Главный вопрос, в какую сумму мне все это встанет? Как мы видим, здесь только одних умных розеток будет несколько дестяков. В общей сложности всех устройств будет явно больше сотни.

Разумно ли в этом случае рассматривать беспроводные решения? Я считаю, что это совершенно не разумно. Вот причины:

1) Wi-Fi забит соседями, сам стандарт не рассчитан, чтоб на небольшом простанстве было такое количество устройств - проблемы со связью будут обеспечены.

2) Безопасность, любой радио интерфейс могут заглушить и вероятно прослушать, подменить. Т.е. датчики на окнах и дверях могу быть просто заглушены, и мы никогда не узнаем, что дверь открывали.

3) Питание. Автономное от батарей - значит через некоторый период придется менять ближе к сотни батарей. Не автономное - значит у вас в квартире будет около сотни импульсных блоков питания(чревато возгоранием и влиянием на здоровье)

4) Безопасность. Более того, насколько мне известно в России никому не интересны Российские разработки в данной отрасли, все просто покупают кастомизацию американских решений(типа Tuya), даже китайцы типа Midea. Все эти железки в вашем доме соединяются с зарубежными серверами тех стран, которые явно нам не дружественны. Технически вас могут слушать, воровать ваши личные данные(теже пароли введенные через беспроводную клавиатуру). И кто знает как они могут повлиять на ваши исполнительные устройства. Самое просто, что они могут сделать - это окирпичить весь ваш умный дом просто отказав от обслуживания.

5) Ну и такие мелочи как высокая цена, большие размеры устройства, электромагнитное излучение, высокочастотный слышимый шум.

* конечно, где-то что-то реализовано по уму и есть исключения, но общую картину я думаю описал достаточно верно.

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

Решение представляет собой сервер, контроллер(оптимально ставить один контроллер на одну локациию, например квартиру), клиент и конечные устройства(датчики, устройства управления, модули, шлюзы и прочее).

Я использую проводное решение. Смотрим RS-485. Устройства вашаются параллельно, шина. Достаочно одного кабеля. Т.е. одна шина(две витых пары, подойдет сетевой компьютерный кабель Ethernet). Желательно поставить шлюз с гальванической развязкой и отдельным питанием на каждое большое помещение. И да, главная сложность провести эту шину до всех устройств. Я, в основном, использовал плинтуса. Буду делать ременот - уберу все в стены. Также как и компьютерную сеть.

Занимаюсь я этим чуть более 5 лет. Довольно редко, ведь это хобби. Какие-то устройства ставлю, какие-то снимаю. И я подустал, многое снял(снял старые малофункциональные версии, а новые многофункциональные - пока просто не дошли руки). Установка и съем никак не повлияли на стандартную электрику! Сейчас у меня около 10 умных розеток, управляемое освещение во всех комнатах, несколько датчиков дверей, своя охранка, несколько датчиков температуры. Есть очень много различных наработок, что-то даже спаяно и это просто нужно подключить. Например в ближайшее время я буду менять 4 счетчика воды. Уже лежат для замены(с импульсными выходами). Платы модулей для них начерчены, надо заказать печать PCB, паяю пока сам. ПО написать - пара, тройка вечеров, так как много универсального кода уже написано.

И главное, поштучное изготовление устройства(это очень важно, так как массовое значительнр снижает цену единицы) для меня выходит где-то 150-500 рублей. Т.е. я могу обвешать всю квартиру датчиками и срденяя цена за каждый будет 200 рублей(можно и дешевле, если делать устройство под конкретную задачу). Умная розетка чуть дороже, где-то 300-400 рублей.

При этом, как говорил ранее, я профессиональный системный программист. Функционал в устройствах достаточно широкий. К примеру, что первое в голову пришло: обнаружение устройств на шине, обновление прошивки, история событий, сенсорное, клавишное, кнопочное управление(обычный выключатель), порт расширения, датчики тока и прочее.

А про программную часть(сервер, контроллер клиент) я даже и говорить не буду. Функционал очень богатый и закрыты многие технические вопросы, о которых такие как ксиаоми скорее всего даже и не задумывались.

Конечно есть области в которые я не добрался, что-то реализовано поверхностно, что-то содержит не критические баги. Клиент вообще без дизайна.

А гараж, в гараже было решение, временно снял. Доработал модули, но не доходят руки дописать и доделать некоторые вещи(например модуль бесперебойного питания и модуль радиоинтерфейса на базе LoRaWAN). По большей части потому, что там сейчас охранять нечего.

И ведь это не законченное решение, так как по большей части им пользуется только моя семья. И никто больше. Почему? Потому что:

1) Я не копирайтер, я не могу подать материал так, чтобы в нем кого-то заинтересовать в мире заваленном кучей беспроводных устройств с сильной реклаой

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

3) У меня скудная документация и скудная поддержка сторонних стройств(да, мой проект может и будет поддерживать сторонние устройства)

4) Ну и пожалуй главное - у меня нет капитала, который я был бы готов вложить в серьзеное развитие этого проекта. Достаточно того, что я вложил кучу своего опыта и личного времени.

В итоге, что я мог бы предложить в сравненнии с современными решениями:

1) Бесплатное ПО(с минимальными ограничениями) в виде AS-IS(кроме сервера). При этом весь код написан на Java - любой знающий может проверить решение на вредоносный функционал. А клиентская часть реализована на GluonHQ, что позволяет практически один и тот-же Java код запускать почти везде.

2) Возможность ввести в систему любое не проприетарное устройство. В том числе и беспроводные шлюзы и устрйоства.

3) Исполнение контроллера на широком списке различных устройств(почти все где можно запустить Java SE8

4) Информирование и различные точки управления типа Telegram, Алиса, СМС и прочее

5) Свой набор конечных устройств с проприетарным ПО

6) Рабочую систему даже без сервера и контроллера(но с ограничениями в функционале естественно)

7) Открытый основной код конечных устройств - операционная система реального времени для AVR на ассемблере.

8) Полностью Российское решение, за исключением некоторых открытых библиотек и JRE

9) Конечно-же богатый функционал типа сценариев, скриптов и т.п.

10) И важно, не нужно никакого умения и знаний в программировании или в написании конфигураций. Нужно просто понимать, что за устройство у вас в руках, как оно работает и как подключается. Но, никто вам не запрещает создавать свои устройства со своей прошивкой. Также в проект заложена возможность писать сценарии на Java.

Да, получилось сумбурно, знаю, но я даже не представляю как весь свой труд проделанный в течении многих лет описать в один пост. Это просто не возможно.

Но я думаю этого пока хватит.

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

P.S. Опыт мне подсказывает, что огребу я здесь по полной, от простых троллей у которых нет ни знаний, ни понимания, максимум шалоны. Модератор, готовсь :) Что-ж посмотрим.

Показать полностью
Отличная работа, все прочитано!