Как стать автором
Обновить

Комментарии 42

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

И для решения мне категорически не хватает трехпозиционных настенных выключателей приличного вида, off — auto — on. Таких, чтобы линию можно было выключить, включить, или оставить под контролем сервера. Как в датчиках движения, только без датчика движения и с большой клавишей:


Ещё пришли в голову выключатели для управления шторами (вверх — стоп — вниз), но удобных тоже не нашлось. Есть идеи?
дешевый 8 битный контроллер, драйвер питания и стандартные ардуиновские 3 кнопки. или пульт с ИК (кстати стоят одинаково).
Ну можно реле и джамперы на патч-панели на стену повесить. Я-то про удобные клавиши спрашивал, с возможно меньшим шансом отказа. Просто удивительно, что есть с тремя выключателями, есть проходные, но нет трехпозиционных.
Сейчас думаю взять датчик движения с фотки выше и запихнуть внутрь тини и подключить датчиков. То есть использовать корпус, выключатель и датчик движения, а логику вставить свою.
Как вариант — 3D печать красивой формы под ваш компонент.
кстати, про шторы — у меня этот вопрос очень актуален — сильно хочу готовое решение — моторчик на кронштейн + 1-wire контроль.
с высокими потолками и тяжелыми шторами их открывать-закрывать тот еще гемор, особенно в детской.
тут самое сложное это механика… если мотор будет обычный, то сделать можно весьма просто и на двух концевиках, трех кнопках и двух диодах… И управление с контроллера можно сделать просто меняя полярность питания или его выключая вовсе.
Но самое клевое — с обратной связью, макетировал такое с жалюзи, там резистор определял примерный наклон ламелей.
Такие надо врезать в какую-то заглушку на месте выключателя и это не «удобная большая клавиша», по которой можно попасть в темноте. Если переключатель только аварийный и нужен очень редко, когда отказала автоматика — пойдёт, я их находил поближе.
Поставить обычный бытовой выключатель с двумя клавишами не вариант? Даже не 3, а 4 положения можно закодировать.
Для начала советы тем, кто будет повторять.

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

Не стоит так делать, если 1-wire пойдет около силовых проводов. Если все делаем в готовой квартире, то проводка вся сделана уже до нас и наводки при коммутации нас не затронут, т.к. силовые провода будут делеко. Но если мы прокладываем проводку вместе с 1-wire, то только (S)FTP и никаких UTP или телефонных проводов.

Соединения и ветвления происходят через стандартные телефонные разъемы и разветвители.

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

Теперь вопросы автору.
Почему DS2413, а не 2406? 2413 работает только на паразитном питании, соответственно при работе с ней получаем блокировки шины и прочие радости…
Какое время реакции при нажатии на кнопки и сработке датчиков? Особенно интересует как оно все работает при опросе датчиков. Если я все правильно понял из даташитов на 2406(08,13), то мы можем считать только текущее состояние входов, т.е. если в промежутке между опросами датчик срабатывал, то мы про это не узнаем. А в большой сети задержки между опросами могут быть значительными. Т.е. в случае с датчиком движения — человек зашел в комнату и сел, а свет так и не врубился или вор вскрыл дверь, зашел и сразу закрыл ее и про факт открывания мы опять не в курсе. :(
Ответил ниже.
Но если мы прокладываем проводку вместе с 1-wire, то только (S)FTP и никаких UTP или телефонных проводов.

Вы имеете ввиду надо класть витую пару?
Я этой зимой пока готовился к прокладке 1w, сетки и проводки в доме перелопатил кучу профильных сайтов и форумов. Вердикт был такой — хотите, чтобы 1w работала стабильно и без глюков, даже в случае если ее проводка пройдет рядом с силовой или ethernet, то лучше всего чуток переплатить и прокинуть экранированную витую пару aka (S)FTP. Ну и плюс не повредит датчики сделать с активным питанием. В качестве образца схемки от elin.ru самое то.
Не стоит так делать, если 1-wire пойдет около силовых проводов.

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

Почему DS2413, а не 2406

2413 — стоял на тех платах, которые я покупал, а потом воспроизводил, на новых я ставлю 2408.

Какое время реакции при нажатии на кнопки и сработке датчиков? Особенно интересует как оно все работает при опросе датчиков. Если я все правильно понял из даташитов на 2406(08,13), то мы можем считать только текущее состояние входов, т.е. если в промежутке между опросами датчик срабатывал, то мы про это не узнаем.

2408 по даташитам имеет возможность запоминать срабатывание сигнала и отдавать по Conditional Search, вот только почему-то в моей конфигурации (возможно из-за багов в owfs) этот режим не завелся.
Я опрашиваю три раза в секунду (у меня на шине около 15-ти таких устройств) сильных лагов нет, если не попали на опрос термодатчика (а об этом я уже не первый раз пишу)
Но, даже с учетом попадания на опрос паразитного термодатчика, пропустить датчик движения (который меняет свое состояние секунд на 5) или открывания двери (уж заведомо больше секунды) не получится.

А почему не используете latch, который устанавливается при появлении/исчезновении напряжения на соответствующем входе?
У меня он не работал так, как положено. Разобраться так и не смог.
Странно. У меня, вроде, всё работает.
Насчет датчика протечки: провода могут со временем окислиться, поэтому выглядит не слишком надежно. Смысл такого датчика если ему доверия нет — вдруг откажет в нужный момент.
Наденьте хотя бы на концы провода позолоченые контакты и будет вам счастье.
А еще для 100%-й надежности люди берут мелкопористую губку, вымачивают в соленой воде, и сушат… ну и контакты внутрь. Как правило теперь достаточно совсем немного воды, чтобы датчик сработал.
Спасибо за совет, учту.
Однако, сам по себе вход у DS2408 очень чувствительный, у меня часто бывают ложные срабатывания, если не подтягивать к земле. А если подтягивать, то на простое опускание контактов в воду не реагирует. Нет такой проблемы?
Подтягивание к земле у меня есть и при этом срабатывает.
А каким номиналом? Я ставил 10к и не работало. Причём вода с солями и железом, должна быть весьма электропроводной.)
Спасибо за статью. Собирался оконные датчики подключать через DS2401, но ваш вариант оптимальней. У вас на схеме, которая получает данные с датчиков открытия всех окон — не указаны сопротивления резисторов. Можете уточнить эти сопротивления?
Я не подгонял под «товарный» вид старые схемы, виноват.
Все значения сопротивлений можно посмотреть на схеме где разбираются модули.
Прочитал Ваши три статьи, и видимо торопился и не понял, по какому каналу Ваш сервер собирает данные со всех датчиков 1-wire?
Я тут тоже сейчас занимаюсь разработкой умного дома, и вот есть пока некоторые моменты:
Например, выбор интерфейса связи со своими модулями. В качестве главного центра сбора информации пока вижу atxmegaXXX. Дак вот как лучше собирать данные?
Я тоже сейчас свой вариант разрабатываю.
Не совсем понял одно — зачем центр сбора, когда можно сразу на центральный узел все собирать? То бишь зачем плодить лишние сущности?
Ну для моих задач пока хватит центра сбора на atxmega, а отсюда значительно ниже энергопотребление, чем использование компа. В будущем хочу использовать главным центром raspberry pi. Ну а вообще, пока нет 100 -процентной уверенности в том, что хочу, в голове куча мыслей.
Я решил обойтись без компа. Точнее говоря, в ядре системы будет стоять BeagleBone Black. Вся периферия собрана в виде cape'а к нему. В этом случае atmega это только лишняя сущность.
Все данные собираются по проводу, по протоколу 1-wire, через адаптер DS9490R на сервер.
Очень хочется покритиковать и рассказать, что сам бы сделал лучше… но у вашего решения есть одно огромное преимущество — оно уже существует и уже работает. Все 3 статьи читал, всё очень понравилось и ждал описания железа :)

Основной недостаток с моей точки зрения — невозможность прямого обмена между устройствами и невозможность устройства сгенерировать пакет в сторону сервера (работа по прерыванию, а не по опросу).
Было бы интересно взять RS-485 или что-то аналогичное, добавить каждому сенсору кроме режима «пассивно ждём запроса со стороны мастера» ещё режимы:
1. Отправка нотификации мастеру по событию
2. Отправка нотификации мастеру по событию, если мастер недоступен — отправка команды X устройству Y
3. Отправка по событию команды X устройству Y

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

Тогда для простых устройств (к примеру, выключатель) падение мастера не будет проблемой, они смогут использовать режимы #2 и #3.
А в некоторых случаях мастер вообще станет ненужен.
Согласен, но тогда система была бы значительно сложнее, как с точки зрения софта, так и железа. В первую очередь именно железа (сложность софта меня не пугает). А я, до начала построения этой системы, с паяльником не сильно дружил.
Поэтому, это был осознанный выбор.
Тоже подход.
Судя по нарастающей активности подобных тем — почти каждый IT'шник хочет придумать свой велосипед для запуска «Умного дома» :)
Прямо как старая шутка про сеть ФИДО — «каждый настоящий фидошник обязательно должен написать свой мейлер».

Заброшу вашу статью в «избрабнные», у самого тоже есть мысли попробовать поиграться с «умным домом» (первым делом — управление светом, некоторыми розетками, сбор данных с датчиков влажности/температуры, управление вытяжкой по данным с датчиков). Если будет какой-то работающий результат — вернусь к вам. Меня довольно сильно пугает набор проблем при создании приложения под Android, железо кажется мЕньшей проблемой.
А если взглянуть на AppInventor? Визуальное программирование для Android. Оно достаточно примитивно, конечно, но POST/GET запросы отправлять даст. Для начала — более чем достаточно, на мой взгляд.
Спасибо за ссылочку, попробую :)
Все очень просто — готовые решения чаще всего не устраивают функционалом или соотношением цена/функционал. Плюс это дает возможность самому собрать что-то полезное для себя. С нынешними ценами на электронику и обилием ее ассортимента оооочень редко возникает необходимость собрать что-то свое. А тут есть где разгуляться.

По поводу софта под андроид. А на фига оно надо? Дом все равно будет иметь выход в сеть, поэтому делаем просто под мобильные браузеры легковесный интерфейс и вытаскиваем закладку на рабочий стол. Если же надо по каким-то событиям на телефоне что-то делать с домом, то есть готовое решение — Tasker. Вот пример использования.
Хотелось именно интерфейс с визуальным отображением.
Но действительно — ведь можно всё сделать на HTML + JS и работать через браузер.

Связывать события телефона с домом вообще не планировал, это, как мне кажется, оправдано в частном доме, но малополезно в обычной квартире… если только включать «тёплый пол», но у меня обычное центральное отопление.
У Majordomo как раз так и реализовано. Только у них что-то сегодня картинки не грузятся :(

На самом деле можно использовать телефон вместо датчиков движения для определения наличия хозяев в доме. Вариантов много, но для дома актуальнее — согласен.
MOC3043M + BT138. Вывел все восемь, три, так сказать, для будущего развития.
Ток включения MOC3043M — 5mA, а у DS2408 максимальный ток в сумме по всем выходам 20mA. Если я правильно понимаю, выходит, что одновременно могут работать не более четырёх. А как эта схема работала на практике?

И ещё такой вопрос: нет ли готовой схемы для управления 12-вольтовыми устройствами относительно большой мощности (конкретно светодиодными лентами ватт по 35 на PIO).
Расчет по току я не делал, а та схема до сих пор обслуживает только 4 устройства. Но теперь буду знать, что больше она не потянет. Спасибо!
Ну, я не пробовал, может и больше выдержит.) А насчёт 12В схем ничего?
Нет, готовых схем нет.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории