«Умный Дом» и система MySensors: Часть 0

«Умный Дом» и система MySensors: Часть 0

821
ПОДЕЛИТЬСЯ

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

В этот раз займемся «началом», означает это будет Часть 0.

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

Я тогда уже избрал и практически купил (сравнимо) обыкновенные таймеры, но что-то меня приостановило. Поточнее с нежелания бегать по дому и управлять ими по отдельности. С иной стороны, под понятием «Умный Дом» каждый осознает нечто свое. В конце концов были установлены радиоуправляемые контроллеры системы HomeMatic. У меня все началось с желания заавтоматизировать внешние жалюзи.

Совместно со всем сиим изменялось и мое мировоззрение о том, что должен делать «Умный Дом». Добавилось управление светом, отоплением, датчики открытия окон и дверей, влажности, температуры, движения, освещенности. Ну это как аппетит, который приходит во время пищи. Равномерно система росла.

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

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

Обычный пример: жалюзи.
Кажется, что все чрезвычайно просто: днем открывать, вечерком напротив.
А в какое время? И еще учесть наибольшее и малое время — очевидно в зависимости от дня недельки, праздничков и факта наличия отпуска. — Лучше всего в на основании данных внешнего освещения — расчеты в зависимости от времени года не учитывает погодных критерий.
А как плотно закрывать? — В спальне я оставляю маленькую щель открытой — чтоб не было соверщенно мрачно.
А раз окно открыто? — Означает на сто процентов не закрывать, для притока свежайшего воздуха, но для первого этажа необходимо предупреждать забывчивого жителя.
А раз это балкон и дверь открыта? — Не закрывать жалюзи вообщем, чтоб не запереть человека снаружи (у меня в данном случаее жалюзи опускаютня на 30см — в качестве напоминания).
А раз снаружи темнеет, но порог еще не достигнут, а в комнате включили свет? — Решать поновой, но согласно другому порогу освещенности.
И еще защита от ослепления низкостоящим солнцем (в зависимости от интенсивности и позиции солнца), защита комнаты от жары (беря во внимание интенсивность солнца и температуру воздуха), на первом этаже можно еще учесть датчик движение под окном.

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

Но в начале всего все же лежит «железо»…

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

Темой данной статьи является мой 1-ый опыт с MySensors. Тут не будет исчерпающего описания системы и ее способностей, их можно отыскать на домашней страничке.

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

Как постоянно, для начала на макетной плате (breadboard). Естественно, первым делом я собрал конкретно шлюз.

И даже проработало в тестовом режиме несколько недель (параллельно к тому я собрал еще парочку детекторов). Не особо аккуратненько, но заработало.

Оригинальное описание находится, кстати, тут: www.mysensors.org/build/serial_gateway

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

Принципиальная схема чрезвычайно проста.

А вот и конечный итог.

Ну и соответственно «внутренности»:

Все работало без заморочек. Устройство было установленно стационарно и 1-ый макет датчика движения утоплен в стенку в коридоре на первом этаже.

А вот тут начались трудности. 2-ой датчик отправился на свое место на втором этаже. Из-за железобетонного потолка прием в месте установки был быстрее от варианта к случаю.

Хотя устройства MySensors можно настроить работать в режиме ретранслятора, мне это тогда ничем не посодействовало — у меня было всего два датчика и они не лицезрели друг друга.

Все это меня не особо и удивило — те же самые трудности появились уже и ранее в отношении WLAN. Для того на втором этаже уже находился доп WLAN-Router. Как раз то, что необходимо, чтоб подключить Ethernet Gateway (http://www.mysensors.org/build/ethernet_gateway).

Его я собрал на базе ENC28J60, все равно валялся без дела.

Кстати, нашел, что Bootloader Pro Mini не поддерживает Watchdog. В качестве «решения» активировал Watchdog. При активации ардуино зависал в нескончаемом, Reset-цикле. Грубо естественно, но отлично. Грешу на утечку памяти в библиотеке для ENC28J60. К огорчению эта версия показала себя не особо стабильной — каждый день зависал как минимум один раз. К счастью для этого есть обычное решение — установить Optiboot.

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

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

Собрал вот такового «монстра».

Работало без заморочек. Здесь датчики температуры, влажности (кстати, не используйте DHT11 — дерьмо крайнее, возьмите DHT22), движения, освещенности и дистанции. С рэле было также просто, но это я быстро разобрал за ненадобностью.

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

Собрал фактически из «подножного корма».

На этом поставлю сейчас точку. Ах, да, мои исходники можно отыскать тут: github.com/hexenmeister/MySensors_MyDevices habrahabr.ru