Комментарии 63
https://geektimes.ru/post/255450/
Годная статья. Главная ценность — опыт эксплуатации, оно на макетке всегда пару дней ок пашет, а вот когда год пользуешь — лезет. Побольше бы таких заметок на хабе
а и материнка сервера, почему-то не захотела нормально работать в режиме, автоматического включения после подачи питания, если до этого была штатно выключена.
Насколько я видел там системе посылается сигнал выключения системы без отключения БП. А бесперебойнику шлётся сигнал отключится через минуту и после появления питания включить розетки. Так как раз обходилась проблема не включения после правильного выключения(каламбур какой то). Но это было для Linux как дела в винде обстоят я не знаю.
Датчики температуры имеет смысл делать беспроводными, на esp8266. Цена кабеля сравнима с ценой esp, но не прокладывать дополнительный кабель иногда очень удобно ;).
Ну а если до точки сбора информации далеко, либо нужна сразу на сервер отправлять, то гибридное решение (один мастер на esp8266, несколько датчиков ds18b20), описанное в начале статьи очень, на мой взгляд, удачное.
Ищите типа 5Pcs 10 poles 10pin Dual Row Screwless PCB Terminal Block Connector 5.08mm Pitch
Там просто вдоль провода вставляется в спец. место шило и нажимается рычажок освобождения клеммы.
как себя зарекомендовали модули 8266, надежные при работе 24/7?
Все платы перед «выпуском в продакшен» подвергаю нагрузочному тестированию. Собрал стенд который эмулирует срабатывание датчиков (и соответственно логику работы платы) в довольно быстром темпе и оставляю работать минимум на трое суток (первую вообще две недели «насиловал») Тут не только сам модуль тестируется, а в целом вся система (у меня в итоге в платах ошибок было больше чем в модулях :) )
Есть шина, есть устройства с условными mac-адресами. Каждое устройство программируется — например при срабатывании геркона — МК, к которой он подключен, шлет уведомление на адрес 11:22:33:44 с ID входа (исполнительное реле включения освещения), то при получении такого импульса должно замкнуть конакты, таким образом устройства живут своей жизнью и выход из строя одного ломает только подключенные к нему.
Я тоже сейчас впервые делаю свой УД. Много думал. Сделал ставку на RS-485 и Modbus. По кругу всей квартиры проложил в стяжке 2 витых пары (две — на всякий случай, итого 16 проводников). Они проходят последовательно через каждый блок выключателей и через каждое сетевое устройство, местами получились относительно большие петли — туда и обратно. Управление каждым устройством делаю отдельным контроллером для каждого устройства / группы устройств, чтобы при смерти сервера тот же свет штатно управлялся тем же выключателем. При выходе одного контроллера из строя можно заменить его целиком на такой же, так как они универсальные и дешевые, будут несколько запасных. Надеюсь избежать проблем, с которыми вы столкнулись)
На данный момент часть управляющей логики тоже остается на 1-wire.
Но эта логика не является жизненно важной (свет в коридоре и на лоджии, вентиляция и т.п.)
Т.е. при выходе из строя сервера или еще какой-либо причине падения всей системы, жизненно важные системы продолжают работать независимо.
RS-485 насколько я знаю более надежен чем 1-wire, хоть и более сложен.
Сделать запасную пару очень правильное решение.
Собственно будь у меня изначально опыта работы с микроконтроллерами больше, я бы сделал как вы.
Добрый день! Что вы используете в качестве сервера????
Обычная десктопная материнка на Linux Ubuntu. (только в формфакторе MINI-ITX и с пассивным охлаждением)
Да и где отключили на час рано или поздно отключат на три и все равно времени не хватит.
К слову, я уже сделал из своего «простого UPS» «умный UPS» (на все той же esp8266, на гитхабе у меня есть), и планирую сделать нормальное включение/выключение при потере питания.
Raspberry и клоны… Значительно легче с бесперебойным питанием, с размерами… И тот же линукс внутри.
А raspberry есть, стоит в горячем резерве, как раз на случай когда проблемы с сервером. Один раз уже спасало.
Тогда надо решить, что питается от бесперебойника, что нет, если это критично. Файлопомойке бесперебойное питание не обязательно, видеонаблюдению — зависит от того, как запитаны камеры.
Два вопроса. Почему лаг в секунду при опросе датчиков критичен? Это же дом, а не система мониторинга состояния ректора АЭС. Зачем хранить историю датчиков за 4+ лет? Неужели хоть раз возникало желание посмотреть какая была температура в комнате в 18:43:31 десятого мая четыре года назад? Это же как пересматривать видео вон того прошлогоднего салюта...
Почему лаг в секунду при опросе датчиков критичен?
Потому, что это скорость реакции интерфейса системы.
Пользователь нажимает кнопку, реакции нет, пользователь напрягается, его это раздражает.
Тем более, что пользователь привык, что при щелчке обычного выключателя свет включается мгновенно.
Зачем хранить историю датчиков за 4+ лет?
Аналитика, бигдата и все такое. Там ведь не только температура, но и потребление воды, электроэнергии, передвижения по квартире, двери, окна и т. д.
Да если они пропадут, никто не умрет, но если они есть и каши практически не просят, зачем выкидывать.
Мой комментарий относится к предыдущим статьям цикла (ну и к умным домам вообще).
КМК, неправильно подключать выключатели/кнопки и пр. элементы управления низковольтной "витушкой". Надо использовать обычный силовой ВВГ и NYM (КВВГ если надо больше 3 жил). Это надо для того чтобы в случае чего можно было реализовать "традиционное" подключение светильников и др. оборудования.
Зачем? Например, в случае аварии контроллера можно просто вынуть его из клемм и соединить их напрямую, получив некий базовый функционал.
Потом, квартира эта сейчас ваша, а завтра вы решите поменяться с родственниками. Или переехать. Или перебраться поближе к природе/работе, а хатку сдавать. В любом случае, отдавать квартиру в таком виде людям, далёким от техники, нельзя. К сожалению, эти умные дома пока не вышли из пелёнок и не могут долго жить без папочки :) Да и свой компьютер вы вряд ли оставите чужим людям. Даже если не компьютер, а ПЛК (Arduino) — это будет работать до первой поломки. А дальше придёт электрик из ЖЕКа… продолжение придумайте сами :)
Есть вопрос по подключению датчиков типа "сухой контакт". Почему выбран вариант с подачей 5 вольт через датчик? Обычно в цифровой технике коммутируют "землю", подтянув вход к питанию. Т.е. "ноль" — активный уровень. Почему Вы сделали по-другому.
Ну и позвольте традиционно побрюзжать по поводу качества схем. В этой статье лучше чем в прошлых, но всё же… Пожалуйста, освойте символ "общий" ("земля", GND)! Сразу увидите что схема станет "прозрачней", более читабельной и понимабельной.
К платам тоже есть мелкие придирки. Не ленитесь подвигать/повращать элементы чтобы снизить плотность проводников. Просто распечатайте платку в реальном масштабе и посмотрите на неё на предмет мест где наиболее вероятно появление "залипух". Сразу станет понятно что можно подвинуть или повернуть.
КМК, неправильно подключать выключатели/кнопки и пр. элементы управления низковольтной «витушкой»...
В целом соглашусь, в жизненно важных зонах так и сделано (поскольку было переделано из «классического» подключения, соответственно вернуть труда не составит)
Так же согласен, что в большинстве случаев, следует иметь резервный вариант.
Но конкретно в моем случае вероятность сдавать/поменяться и т. д. пренебрежима мала. А если продавать (что тоже на данный момент крайне маловероятно), то все равно в 90% случаев после покупки ремонт делают.
Есть вопрос по подключению датчиков типа «сухой контакт». Почему выбран вариант с подачей 5 вольт через датчик? Обычно в цифровой технике коммутируют «землю», подтянув вход к питанию. Т.е. «ноль» — активный уровень. Почему Вы сделали по-другому.
В старых схемах (на 1-wire) так было сделано, так как делал по образу и подобию схем «скопипастеных» из интернета. В новых (на esp) коммутация на землю. Или я что-то не так понял?
Ну и позвольте традиционно побрюзжать по поводу качества схем. В этой статье лучше чем в прошлых, но всё же… Пожалуйста, освойте символ «общий» («земля», GND)! Сразу увидите что схема станет «прозрачней», более читабельной и понимабельной.
В старых было, но мне было не очень наглядно, в новых сделал как лично мне было легче воспринимать.
Я не профессионал, так что на вкус и цвет… :P
К платам тоже есть мелкие придирки. Не ленитесь подвигать/повращать элементы чтобы снизить плотность проводников. Просто распечатайте платку в реальном масштабе и посмотрите на неё на предмет мест где наиболее вероятно появление «залипух». Сразу станет понятно что можно подвинуть или повернуть.
Раз десять печатал и двигал, особенно последнюю. Наиболее важным счел как можно дальше развести часть 220v и низковольтную (особенно после того, как оборвавшийся с макетки случайный проводок устроил замыкание с фейерверком, белым дымом и выгоранием половины платы). Еще надо учесть, что по углам, возле крепежа вплотную к плате подходит металлический корпус (да, плохо, уже объяснили, но какой был и тепло отводить удобно) и там тоже нельзя размещать дорожки. Так что если есть конкретные предложения с учетом этих факторов готов принять к рассмотрению, можно сразу на гитхаб. ;)
Вот, поделал маленько :)
Схема у меня не открылась, поэтому мог какие-то линии запороть. И не сразу сообразил что "12V" и "GND" это выводы блока питания, поэтому размеры могут не совпасть.
GND лучше делать полигоном, но тут надо подумать как сделать чтобы не пустить его на высоковольтную сторону.
Если поглубже вникать в схему, может быть можно сделать и лучше, а так в целом компоновка и трассировка сохранились, но ада стало поменьше :)
1) Вы залезли на углы, которые соприкасаются с металлическим дном.
2) Посредине перекрыли отверстие, через которое проходит антенна.
3) Диод D3 (хоть это на схеме не обозначено, специально размещен на длинной дорожке, так как в SMD варианте у меня в наличии не было и распаивал на ножках, но без сверления.
4) Переместили отверстия перехода от компонентов, а поскольку металлизировать в домашних условиях я не научился, я специально сделал их возле ножек/контактов, чтобы легче было делать переход с одной стороны на другую.
Т.е. по сути, если исправить все замечания, то все улучшения, это замена дорожек под углом 90 на дорожки под углом 45 градусов, может это уменьшает ад, но из чисто эстетических соображений мне нравятся прямые, поэтому везде где это не мешало, старался сохранить.
Но, в любом случае, спасибо!
Ну да, чтобы сделать хорошо, надо глубоко влезать в проект, учитывать множество факторов.
Это отверстие перенёс наверх, ближе к креплению антенны (глядя на фото подумал что ему всё равно где быть).
В таких случаях лучше сделать своё посадочное место, учитывающее возможность установки разных компонентов.
Я раскидал отверстия так чтобы они не стояли в рядок. Это уменьшает вероятность залипухи между контактными площадками. Вроде, следил чтобы они не попали под микросхемы и можно было сделать переходы перемычками.
Исполнение дорожек под 45 градусов позволяет иногда расположить их подальше друг от друга (например, если они сходятся "встречными курсами") и опять же снизить опасность залипух. Хотя, в общем случае следует стараться уменьшить число углов т.к. поворот — потенциальное место трещины в дорожке. Кстати, из-за опасности трещин "домашние" платы надо лудить полностью.
Основные изменения (для меня): разгрёб мешанину резисторов в районе модуля, улучшил расположение гребёнок под доп. модули, улучшил взаимное расположение оптронов и симисторов. Красота наводилась руками автоматически пока голова соображала что куда подвинуть :)
- На что ещё надо обратить внимание. Мелкие элементы (R, C) имеют ограничение по рабочему напряжению. Надо проверить подходит ли выбранный типоразмер под сетевое напряжение (тут надо не скупиться и взять запас раза в 2-3). Если элемент не проходит, надо или брать более крупный типоразмер, или ставить несколько элементов одного номинала последовательно, чтобы напряжение разделилось между ними.
как-то так...
В таких случаях лучше сделать своё посадочное место, учитывающее возможность установки разных компонентов.
Логично, просто поленился.
Я раскидал отверстия так чтобы они не стояли в рядок. Это уменьшает вероятность залипухи между контактными площадками.
Да, это рационально, учту на будущее.
На что ещё надо обратить внимание. Мелкие элементы (R, C) имеют ограничение по рабочему напряжению. Надо проверить подходит ли выбранный типоразмер под сетевое напряжение (тут надо не скупиться и взять запас раза в 2-3). Если элемент не проходит, надо или брать более крупный типоразмер, или ставить несколько элементов одного номинала последовательно, чтобы напряжение разделилось между ними.
Это вообще очень дельный совет для начинающего «радиолюбителя». Я этим пренебрегал и поплатился. Особенно пролетел по току на AMS1117. И очень долго искал эту ошибку.
Почти неделю по несколько часов каждый день. Проявлялось как внезапное зависание esp. Грешил, на чип (перепаял несколько штук), на прошивку (перепробовал разные комбинации), потом понял что не хватает тока (отследил, что зависание появляется когда все четыре выходных канала включены), стал грешить на остальные компоненты. Нашел ошибку прямо как в фильме «Пятый элемент». Сидел над платой разглядывал и обреченно вздохнул (а получилось подул на AMS1117, напряжение на момент пришло в норму и я понял что проблема в перегреве, так что в той плате, сделал радиатор, а в новой версии развел более массивный компонент ну и прислонил к к металлическому корпусу через терморезинку.
пролетел по току на AMS1117
Ну, ток (и мощность) — это более очевидные вещи, на это обычно смотрят. А про напряжение забывают. А логика-то простая: чем ближе контакты, тем больше вероятность пробоя. Например, для резисторов размера 0805 максимальное напряжение 150 Вольт, т.е. в сетевых цепях их использовать нельзя. Надо ставить 3 шт последовательно. Скажем, вместо одного на 300 Ом три шт по 100 Ом.
Кстати, про мощность. Неплохой способ отвода тепла от маломощных линейных стабилизаторов — припаять его на большой полигон на плате. Медь очень хорошо отводит тепло. Также на промышленных платах делают полигоны с двух сторон и "пробивают" их множеством переходных отверстий. Получается радиатор с двух сторон.
подул на AMS1117, напряжение на момент пришло в норму
Ну, это стандартный способ поиска глюков в цифровых схемах. Берём ватку со спиртом и протираем микросхемы. Спирт быстро испаряется, охлаждая корпус. Когда схема начинает работать как надо — делаем вывод о глючной микре :)
Поскольку в наличии были корпуса от старых моделей медиаплеера Dune, выбор пал на них. После доработки напильником (отверстия под входы и выходы у медиаплеера немного другие, завести 220v на разъем HDMI не удалось :) ) подошло идеально.
Ребят, это стартап! Надо занимать пока ниша горяча! И не благодарите, рад был быть полезным)))
Или размещать самоделки в старые корпуса от других устройств?
Умный дом, как я до такого докатился. Часть 4-я