Сообщество - Умный дом
Добавить пост

Умный дом

133 поста 2 204 подписчика

Популярные теги в сообществе:

Какой датчик углекислого газа купить?

Пикабу привет! Пока идёт ремонт (уже три года)) захотелось мне проанализировать состояние воздуха в квартире. Особенно напрягает меня момент со сном. Кажется что не высыпаюсь из-за духоты в комнате. В общем хочу купить датчик контроля воздуха. Хотелось бы чтобы был коннект с телефоном. Чтобы можно было собирать и анализировать информацию. Прошу подсказать хорошие модели. Было желание уложиться в 5тр но цифра взята с потолка. Подскажите хорошие датчики которые вы могли бы посоветовать. Спасибо

Домашняя автоматизация: Счетчики воды. Часть 1, вступление

Сейчас у меня дома стоит 4 счетчика воды(2 для холодной и 2 для горячей).

Стояки проходят в кухне и в ванной комнате.

Домашняя автоматизация: Счетчики воды. Часть 1, вступление Электроника, Умный дом, Счетчик воды, Автоматизация, Длиннопост

Кухня

Домашняя автоматизация: Счетчики воды. Часть 1, вступление Электроника, Умный дом, Счетчик воды, Автоматизация, Длиннопост

Ванная

Два счетчика(горячая вода) более года назад требовали поверку, и с большой вероятностью ее бы не прошли(старые). Я по малодушности забил на это дело и подарил ресуропостовляющей компании большие деньги, так как долгое время платил по нормам основанным на количестве проживающих. Стоит ли говорить, что данные нормы существенно завышены от среднего потребления в моей квартире? Это обидно, более обидно, что с учетом новых законов, даже если мои счетчики пройдут поверку, то я все равно не смогу потребовать перерасчет(это я узнал недавно, а ранее думал, что это меня выручит). Это меня не выручило, я подарил кучу денег из-за своей лени. Закон явно не на стороне логики и справдливости тех, кого доят.

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

Изначально я хотел поставить счетчики с внешним интрефейсом который бы имел логику. Дешевле всего проводное решение. Скажем на RS-485 там-же была бы какя-то логика.

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

У меня уже был опыт ввода в систему автоматического сбора показаний на базе счетчиков с радио интерфейсом, для который была выделена общая база, которая далее общалась по шине RS-485.

И я хотел что-то подобное. Но на местном рынке я не нашел ничего похожего в бюджетном варианте.

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

Домашняя автоматизация: Счетчики воды. Часть 1, вступление Электроника, Умный дом, Счетчик воды, Автоматизация, Длиннопост

Моя покупка(или управляйки?, за что мне не будет спасибо)

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

По автоматизации: Я инженер-системотехник и любитель схемотехник. У меня есть множество наработанных инструментов, софта, опыта и знаний.

И далее я планирую подключить к этим счетчикам полностью свое решение(как программное, так и аппаратное) .

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

Планирую закрыть следующие задачи:

- Подводка шины RS-485 к месту установки счетчиков и электронных плат

- Установка своей электронной платы с МК, которая будет считать импульсы и передавать общеквартирному контроллеру.

- Разработка прошивки для этой электронной платы на базе своей операционной системы реального времени. Главный почти решенный вопрос - это живучесть EEPROM.

- Доработка своей платы дополнителным модулем для управления запорным вентилем и анализом датчиков протечкек.

- Связь данного решения в общую личную систему автоматизации дома.

- Автоматическая переача показаний, информирование о необходимости поверки.

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

Про Ардуино здесь и речи нет.

А главное - для меня это будет существенно дешевле, чем любое решение на рынке.

UPD:

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

Он мне посчитал 1500 рублей за замену вентиля(так как нужно перекрывать стояк) и 800 рублей за замену счетчика с пломбировкой и регистрацией.

Работы перенесены на понедельник.

Вот теперь сижу и думаю, а не пытаются ли меня развести как последнего лоха?

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

Счетчики я и сам могу установить, а регистрация и пломбировка вроде как бесплатная.

(1500+800) * 4 = 9200 с меня хотят поиметь на пустом месте, так еще и материал мой.

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

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

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности

Всем привет!

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

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

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

Поэтому в этой статье хотелось бы затронуть не только автоматизацию, но и весь ремонт в целом.

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

Далее был установлен кодовый замок на двери, чтобы не передавать и не получать ключи от нанятых работников.
У меня уже давно был приобретен Nest Yale Lock, который идеально подходит для этой ситуации.
С помощью этого замка я мог назначать и отменять коды удаленно, и всегда получал уведомления о приходе и уходе работников, что обеспечивало мне большую безопасность и контроль.

В качестве сервера был выбран Wiren Board 7 (далее WB7).
Этот выбор был обусловлен несколькими факторами.
Во-первых, WB7 предлагал некоторые новые возможности, которых не было в предыдущей версии.
Особенно это было важно для работы с Bary, так как предыдущая версия контроллера не имела достаточно мощности для полноценной работы с ним.
Во-вторых, WB7 был доступен по предзаказам для партнеров, что позволило нам получить его достаточно быстро и без проблем.
Основная цель этого кейса была проверить, насколько WB7 отличается от предыдущей версии и насколько хорошо он совместим с Bary.
В итоге, после двухлетнего тестирования, WB7 оставался в использовании вплоть до заселения и даже немного дольше, так как он продемонстрировал отличную производительность и надежность.

Также стоит отметить, что в Bary имеется собственная поддержка Modbus и WBIO, поэтому весь родной софт был отключен, так как двум системам, работающим одновременно, уже тесновато.

1. Управление отоплением

Дом продавался с условно черновым ремонтом: стяжки и штукатурки не было, зато была смонтирована электропроводка и двухтрубная система отопления.
Это не подходило для моих задач, поэтому все это пришлось демонтировать.
Кроме того, к дому прилагался котел Protherm на 30 кВт, что для его площади 300 кв.м., а также мансардный этаж на 80 кв.м., оказалось недостаточно.
Я планировал использовать этот котел для 200 кв.м. теплого пола, 8 радиаторов, гаража, системы вентиляции и бойлера.
На самом деле, было бы лучше заменить этот котел сразу, но меня интересовало, сможет ли Bary справиться с задачей климат-контроля и отключения зон, в которых достигнута заданная температура.
И, как оказалось, после продолжительных 20-25 градусных морозов, он справился.
Во всех комнатах температура держалась на уровне 23-25 градусов.

Для управления котлом был заказан модуль WBE2-I-EBUS.
Он устанавливается внутрь контроллера WB7, но так как контроллер планировалось заменить в будущем, модуль был переделан для работы через USB.

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

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

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Основная обвязка котла. На эстетику в подвале денег, увы, не хватило

Основной контур подключен к балансировочному коллектору с гидрострелкой, имеющей 5 выходов.
У каждого выхода установлен отдельный циркуляционный насос, который отключается при достижении заданной температуры во всех зонах, подключенных к этому выходу.
Управление температурой в бойлере также осуществляется через Bary.
На выходах с теплым полом (2 выхода) и вентиляции установлены трехходовые клапаны и сервоприводы, которые управляются с помощью ПИД-регулятора, реагируя на установленные датчики температуры.
Все коэффициенты задаются в настройках и могут быть легко адаптированы путем анализа лог-файлов.

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Коллектор теплого пола в подвале

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Коллектор теплого пола и радиаторов первого этажа

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Коллектор радиаторов второго этажа

Выходы отопления и теплых полов подключены к коллекторам, на которых также установлены сервоприводы.
Далее идет классическая лучевая система.
В каждом контуре теплого пола имеется датчик температуры, а в каждой комнате присутствует комбо датчик WB-MSW v.4.

В условно стандартной системе управления умным домом пришлось бы создавать правила для каждой операции.
Обычно это выглядит так: если сервопривод включен и температура в комнате превышает определенное значение, то сервопривод отключается.
Если при этом используются профили, такие как эконом, комфорт, и т.д., то количество этих правил может легко перевалить за сотню при наличии такого количества контуров отопления.
В Bary эта проблема уже давно решена путем создания и привязки модуля климат-контроля в каждой зоне, где требуется этот вид контроля, а также создания модуля управления отоплением, в котором достаточно выбрать все используемые сервоприводы.
Нет необходимости создавать правила автоматизации, достаточно просто указать желаемую температуру, и модуль самостоятельно разберется со всеми настройками.

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Модуль визуализации работы сервоприводов (на первой картинке остался один из косяков, кто догадается какой?)

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Спальня пока не используется

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Модуль климат контроля

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

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Настройки модуля

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

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Расходы за газ. Да, много. Дом еще недостаточно энергоэффективный и я работаю над этим. К тому же, это как раз те самые морозы ниже 20

Не сильно уходя от темы отопления, на газовый счетчик был установлен импульсный выход, сделана интеграция с поставщиком газа и все показания передаются туда автоматически ежедневно.
Это позволяет удобно контролировать и оплачивать расходы на газ, а также следить за эффективностью использования отопительной системы.
Для этого в Bary можно использовать любой счетчик, я использовал WB-MWAC, просто потому что он уже был установлен и готов к использованию.

2. Водоснабжение

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

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Бойлер и обвязка водоснабжения

Для управления скважинным насосом используются два способа: реле давления и частотный преобразователь.
Оба этих устройства подключены к Bary.
Реле давления используется при аварийном питании, а частотный преобразователь - в обычное время.
Источником горячего водоснабжения является бойлер косвенного нагрева.
Для водоснабжения используется три коллектора с повышенным расходом воды.
Один коллектор предназначен для подачи холодной воды, второй - для горячей воды, а третий - для циркуляции горячей воды.
Каждый коллектор оборудован сервоприводами, которые управляют подачей воды.
Все эти сервоприводы подключены к модулю протечек, который контролирует подачу воды по зонам.
Дополнительно планируется установить обычные шаровые электроприводы на подачу воды, чтобы в случае протечек моментально перекрыть всю подачу, а затем закрыть нужную зону и продолжить пользоваться водой.
Возможно, это решение спорное, но другого варианта не придумал.

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Водоподготовка

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

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

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Кран для кота

3. Резервное питание

При выборе резервного питания я сразу отказался от генератора, так как он требует регулярного обслуживания, заправки, содержания в тепле зимой, а также создает шум и выхлопные газы.
Вместо этого я выбрал солнечный инвертор с подключенными к нему аккумуляторами еще до покупки дома.
Этот вариант не только экологичен, но и удобен в использовании, т.к. практически отсутствует задержка при включении.
Кроме того, резервные линии можно сразу вывести с инвертора для питания котла и умного дома.
Мой инвертор имеет мощность 3 кВт, а емкость аккумуляторов составляет 9,6 кВт*ч.
При постоянной нагрузке в 1 кВт это обеспечивает примерно 7-8 часов работы, чего более чем достаточно для большинства задач.
Также можно подключить солнечные панели, но их эффективность в нашем регионе пока не до конца известна - установили 10 панелей у одного из клиентов и они работают зимой не то чтобы в ноль, даже в минус.
Ближе к лету посмотрим еще раз на их эффективность.

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Стойка ИБП

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

4. Вентиляция и кондиционирование

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

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Вентиляция

Система предполагает забор воздуха из улицы, который осуществляется в подвале через дроссель-клапан с автовозвратным механизмом, обеспечивающим ее закрытие в случае отключения электричества.
Затем воздух направляется через теплообменник, где он нагревается за счет незамерзающей жидкости.
Этот контур подключен к гидрострелке через другой теплообменник.
Процесс контроля температуры осуществляется с помощью датчиков, установленных до и после теплообменника.
Температура теплообменника регулируется с помощью трехходового клапана с сервоприводом, управляемого ПИД-регулятором, что обеспечивает высокую точность и гибкость в управлении температурой.
Воздух затем направляется к вентилятору, который управляется через частотный преобразователь и нагнетает подогретый воздух по вентканалам в каждую комнату.
Перед каждой комнатой установлены заслонки с сервоприводом, управляемые в зависимости от уровня СО2, что позволяет управлять качеством воздуха в зависимости от конкретных условий, также через ПИД-регулятор.
Вытяжка воздуха реализована аналогичным образом, что обеспечивает равномерное и эффективное удаление отработанного воздуха.
Заслонки регулируются синхронно.
Вытяжной воздух выбрасывается также в подвале.
Скорость обоих вентиляторов регулируется автоматически в зависимости от текущего положения заслонок, а так же от их количества в системе.
Стоит отметить, что в данной системе отсутствует рекуператор.

Инновации в дизайне и технологиях: как умный дом меняет представление о комфорте и безопасности Строительство дома, Техника, Умный дом, Автоматизация, Вентиляция, Отопление, Резервное питание, Водоснабжение, Длиннопост

Вентиляционная решетка или диффузор

Итак, здесь мы сталкиваемся с причиной, по которой этот этап проекта оказался таким дорогим.
На фото самая маленькая решетка шириной всего 50 см, расположенная в коридоре, и через которую подается приточный воздух.
Однако в других помещениях размеры этих решеток значительно больше - от метра до двух.
Их функционал также шире, поскольку к ним помимо системы вентиляции подключается и канальный кондиционер, который спрятан за потолком.
Стоимость только решеток, без учета работ, составила более половины стоимости всей вентиляции с монтажом.
Это было осознанное решение, поскольку хотелось спрятать кондиционер.

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

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

Assembler и C в рамках маломощных микроконтроллеров

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

И есть линейка своих собственных исполнительных устройств, модулей, датчиков и т.п. реализованных на AVR(в основном это ATmega168).

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

Меня часто спрашивают, почему я пишу прошивки для AVR микроконтроллеров на ассемблере.

Часто слышу стереотипы - ассемблер никому не нужен, очень сложный, нет переносимости, большие трудозатраты. И даже такие, как - на нем никто не пишет и Вы не должны, в общем я кому-то, получается, что-то должен.

Первое и пожалуй главное - ничто не научит работать с периферией лучше, чем кодинг на ассемблере.

Я применяю МК по прямому назначению - работа с периферией, если мне потребуется рисовать UI или считать математику я буду смотреть в сторону SoC или вообще в сторону микрокомпьютеров типа всяческих PI, где буду использовать более подходящий высокоуровневый язык чем Си.

Кстати по этой причине мне не особо интересны STM микроконтроллеры.

Второе - ассемблер не сложный, он имеет всего несколько десятков команд, это сложно запомнить? Главная сложность в том, что на ассемблере программист многие алгоритмы составляет сам, чем и добивается существенной оптимизации. Т.е нужно уметь думать головой. И дело не в том, что компилятор что-то может или не может, дело в принципе в подходе к самому программированию. В Си вы не задумываясь воспользуетесь тяжелой функцией, вместо пары тройки команд на ассемблере.

Более того, у вас буквально ассемблер с несколькими десятками команд, чистая периферия МК и все, ничего лишнего. Вам не нужно знать третье звено - как работает компилятор! А в Си Вам придется с ним разбираться, если конечно вы не пишете студенческую работу и ограничены в ресурсах МК.

Третье, как вообще можно отлаживать даже программу на Си для МК, не зная ассемблера? Как можно написать оптимальный бутлоадер не зная ассемблера? Как посчитать такты в критических по времени местах? Как на 512 байт ОЗУ контролировать ресурсы(тот-же stack) в крупном проекте? Да никак, поэтому вы все на Си и на STM где больше ресурсов. Потому что тупо не можете. А я вот например могу на Cortex асме писать код для STM и периферию я их гораздо лучше понял взявшись за асм после Си.

Четвертое - трудозатратно. Не особо, возможно на багфиксинг утечек памяти на Си вы потратите не намного меньше времени, чем я на реализацию на асме. Здесь ключевое - наработки - сообщество Си наработало огромный пласт кода, и вы не задумываясь его используете считая свой код основными трудозатратами. При этом говоря про асм все почему-то думают о пустом листе, на котором все, все, все нужно писать с нуля. С чего бы? Переносимость? Об этом ниже. На асм можно точно также наработать(и это было ранее) все теже функции, что и вы используете в Си. Но нет, популяризация Си свела на нет наработки на асм.

Пятое - переносимость кода, да это главный минус в асм. Однако умение строить алгоритмы существенно снижает трудозатраты. Так же как и разделение кода на уровни. Я лично наработал операционку с кучей функций, я не пишу математику и другие процедуры с нуля, я их просто подключаю и вызываю также как это делаете вы в Си. Более того, мой код(особенно код верхнего уровня) без проблем переносится между МК семейства AVR. И потом, как вы вообще представляете перенос сложной программы на Си с AVR скажем на STM, да никак. Где ваша хваленая переносимость Си?

Если мне нужно что-то по быстрому накидать для периферии - я возьму микрокомпьютер и за минуты накидаю на Java то, на что вы потратите в несколкьо раз больше времени на Си.

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

Если мне нужна примитивная логика для работы с периферией да еще и с минимальными затратами, я возьму МК и накидаю быстро вызовы уже реализованных процедур на асме.

Я не вижу по большей части где и для чего использовать Си. Это просто мода.

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

А если мне нужно будет говнокодить, с целью быстренько что-то где-то копипастить и выдать за свое решение, срубить бабла по бытрому, тогда да, я возьму STM и буду писать на Си. Но мне такая работа не интересна.

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

Добавляем пылесосу одометр

Всем привет. У меня накопилось несколько интересных решений для умного дома, которыми я хочу поделиться. Понятия не имею куда писать подобные статьи. Для хабра слишком просто, для телеграм чата по HomeAssistant - прочитают два с половиной человека, пост утонет в потоке. Поэтому сюда!

Добавляем пылесосу одометр Электроника, Гаджеты, Изобретения, Длиннопост



И так одометр пылесоса. Зачем он нужен?
Первоначально один мой знакомый попросил помочь ему с автоматизацией - уведомление когда заканчивается вода в пылесосе. Но как сделать подобное если пылесос никак не отслеживает уровень воды? Но каждый же может примерно оценить на сколько ему хватает бака?
У меня и моего товарища пылесос Xiaomi, а точнее его очередной дочки - Xiaomi Mijia Robot Vacuum Mop P STYJ02YM. На самом деле для дальнейшего повествования это не суть важно. Я хочу описать принцип работы, а полученные знания можно применить к кучу других пылесосов.

И так у меня есть устройство пылесос. У устройства есть атрибуты:

Добавляем пылесосу одометр Электроника, Гаджеты, Изобретения, Длиннопост

Нас будет интересовать два из них - box_type и cleaned_area. Из cleaned_area мы создадим одометр, а с помощью изменения box_type будем его сбрасывать.
И так начнем с одометра. Создадим виртуальный сенсор пробега:

template:
sensor:
- name: home_vacuum_box_type
icon: mdi:boombox
state: >
{{ state_attr('vacuum.home_vacuum', 'box_type') }}

- name: home_vacuum_cleaned_area_now
icon: mdi:counter
state: >
{{ state_attr('vacuum.home_vacuum', 'cleaned_area') }}
unit_of_measurement: 'm²'

Где home_vacuum_box_type - название виртуального сенсора, а {{ state_attr('vacuum.home_vacuum', 'box_type') }} - его показание, которое будем брать из атрибута box_type у устройства vacuum.home_vacuum.

Таким образом мы создаем два сенсора:
sensor.home_vacuum_box_type - показывающий текущий тип контейнера
sensor.home_vacuum_cleaned_area_now - показывающий текущий пробег


Теперь создадим сам одометр:

utility_meter:
home_vacuum:
source: sensor.home_vacuum_cleaned_area_now
name: home_vacuum_cleaned_area

Так как показания sensor.home_vacuum_cleaned_area_now будут отображаться как - сколько убрано площади в данный момент - то есть 2 метра, через минуту 5 метров и.т.д. Нам надо использовать utility_meter. Он не будет складывать 2+5, а считать правильно. Так же будет учитывать что показания могут откатываться на 0 при постановке на док станцию и тогда к текущем 5 метрам полученными с прошлой уборки, будут прибавляться новые показания с текущей уборки. Короче говоря мы получим sensor.home_vacuum_cleaned_area который уже будет работать как настоящий одометр.

Далее нам надо как то сбрасывать одометр при вытряхивании/замене контейнера. Именно для этого мы будем использовать sensor.home_vacuum_box_type. В моем пылесосе sensor.home_vacuum_box_type '1' - контейнер для пыли, sensor.home_vacuum_box_type '3' - контейнер для воды и sensor.home_vacuum_box_type '0' - контейнер отсутвует.
Именно 0 то нас и интересует. Создадим простейшую автоматизацию:

- alias: Дом - Пылесос - Сброс счетчика уборки при замене контейнера
id: home_vacuum_automation_clean_count_reset
mode: single
trigger:
- platform: state
entity_id:
- sensor.home_vacuum_box_type
to: "0"
action:
- service: utility_meter.calibrate
data:
value: "0"
target:
entity_id: sensor.home_vacuum_cleaned_area

Где триггером будет выступать состояние 0 у sensor.home_vacuum_box_type. Это значит что контейнер я вынул - значит одометр нужно сбросить.

Таким нехитрым образом мы добавили к пылесосу одометр который сбрасывается при замене/очистке контейнера. Остается лишь дописать автоматизации вроде - если тип контейнера 3, а одометр больше 60 метров, тогда отправить сообщение на Алису/телеграм/куда вам удобно - вода заканчивается.

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

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

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

Не менее 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. Опыт мне подсказывает, что огребу я здесь по полной, от простых троллей у которых нет ни знаний, ни понимания, максимум шалоны. Модератор, готовсь :) Что-ж посмотрим.

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

Угадайте звездного капитана юмористической команды «Сборная Красноярска» по описанию одного из участников

Ну что, потренировались? А теперь пора браться за дело всерьез.

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

Свело олдскулы. RS485

Я знаю о реальности. Я знаю о куче современных сетевых технологиях для IOT.

Bluetooth, Wi-Fi, XBee, Zigbee, 433MHz да и много чего еще. Знаю что-то поверхностно, что то достаточно глубоко чего не знает и 1 из сотен тысяч местных читателей.

Но знаете ли вы, что есть простейшее решение на базе RS-485?

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

Ваше DIY устройство может быть собрано на базе очень дешевого микроконтроллера, так как решение не нуждается не в шифровании ни в других задачах радио связи. Поддержка обычного UART достаточно. А еще вы можете снизить цену контроллера где-то в два раза, если не будете писать на КЕМ-ТО ПОПУЛЯРНОМ си, а сразу на нативном ассемблере, для которого тоже есть куча наработок, но без логики и могза там делать нечего. Зато трудоазтраты очень серьено отличаются - и главная правда в том, что не в пользу Си. Просто Си заучить можно, а асм нужно думать головой.

Это проводное решение, где на одну шину подклчаются все устройства. Устройства питаются от шины - не нуждаются в персональном не надежном блоке питания, существенно менее опасны как причина возгарания, так и в рамках влияния на здоровье(радио магнитное излучение). Да еще и размерами сущетсвенно меньше. И сосед не сможет положить ваш дом положа Вашу радио часть помехами.

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

Даже если беспроводное? Вы слышали про LoRaWan, почему она менее популярна чем Wi-Fi для IOT? Или Zigbee или XBee...?

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

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