Беспроводная сеть на маломощных радиомодулях для освещения

Здравствуйте.

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

Основные идеи:

0. Отказоустойчивость. Освещение должно работать даже при полном отказе микроконтроллеров.

1. Никаких лишних проводов. Вся связь между узлами сети - по радио.

Дополнительные бонусы:

0. В "общественных" помещениях (прихожая, зал, коридор, ванная, кухня, etc) - автоматическое включение освещения по датчику движения в тёмное время суток и соответственно автоматическое отключение его при отсутствии движения в течение ~5 минут.

1. Возможность включать 1-2-3-4 лампы последовательными нажатиями однокнопочного выключателя.

2. Наличие "головного модуля", соединённого по USB с роутером под управлением OpenWRT с целью возможности опроса и управления устройствами (включить/выключить) остальной сети с выводом всего на веб-интерфейс с доступом с любого устройства в домашней сети (WLAN, Ethernet).

Основные идеи для реализации:

0. Использовать дешёвые маломощные радиомодули с целью минимизации стоимости и размеров устройств (они должны помещаться в коробках с выключателями).

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

2. Питание брать из сети 220В, чтобы не иметь потом проблем при замене батареек в "кнопках" и "люстрах".

Технические идеи:

0. К роутеру будет подключен контроллер с радиомодулем и USB ("голова" в дальнейшем), который будет посылать и принимать сообщения остальным радиомодулям по команде с роутера.

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

2. Возле люстры на потолке будет размещён более мощное устройство ("люстра" в дальнейшем) контроллер с детектором движения, радиомодулем, и несколькими реле, каждое из которых будет управлять своей лампой, также вести учёт времени с последнего обнаружения движения, отвечать на запросы "головы" своим состоянием, а также ретранслировать сообщения других контроллеров и "головы" в эфир. Силовая цепь будет при отключенном контроллере выглядеть как фаза->выключатель->замкнутые контакты размыкающего реле->лампы->ноль, при включенном контроллере - фаза->выключатель/"кнопка"->замкнутые контакты замыкающего реле->конденсатор для питания "люстры"->ноль. Поскольку лампы будут отключены размыкающими реле - можно не волноваться о том, что они будут моргать из-за конденсаторов питания контроллеров. "Люстра" будет запоминать последнее состояние и восстанавливать его при подаче питания. Также, "люстра" будет считать сообщения об изменении состояния "кнопки" и на основании этого принимать решения о том, что делать со светом. 3. На чердаке (во избежание засветки) будет размещён контроллер с батарейкой, радиомодулем и фотосенсором, выведенным на улицу проводом ("глаз" в дальнейшем), наблюдающий за уровнем освещённости и периодически посылающий сообщения о нём в сеть. Он ничего не будет принимать в целях экономии батареи.

Пример алгоритма работы при включении освещения выключателем:[*]Выключатель включился->"кнопка" послала сигнал->"люстра" его приняла->"люстра" вспомнила своё прошлое состояние (было включено 2 лампы)->"люстра" включила две лампы.[*]Через минуту выключатель отключился->"кнопка" послала сигнал->"люстра" приняла его к сведению и ждёт.[*]Через секунду выключатель включился->"кнопка" послала сигнал->"люстра" приняла его к сведению и ждёт.[*]Через 3 секунды "люстра" приняла решение выключить все лампы кроме одной (один раз выключить-включить выключатель - одна лампа, 2 раза - две и т.д., при этом лампы не выключаются поскольку "кнопка" и "люстра" не отключали их).[*]Через минуту выключатель отключился->"кнопка" послала сигнал->"люстра" приняла его к сведению и ждёт.[*]Через 3 секунды "люстра" приняла решение выключить все лампы, сохранила сведения о том, что в последний раз она включала одну лампу и выключила освещение.

Вопросы:

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

1. Какое оборудование лучше использовать? Симисторы или реле, какие контроллеры и обвязку лучше применить? Какие радиомодули?

Спасибо.