Русский
Русский
English
Статистика
Реклама

Nrf24le1

Удобное DIY управление светом

01.12.2020 10:20:26 | Автор: admin
Как и многих гаджетоманов, меня не обошел тренд домашней автоматизации. Будучи автоматчиком по образованию и призванию, я постоянно возвращаюсь к работе с микроконтроллерами в качестве хобби.
Проживая в трехкомнатной квартире, со временем все больше и больше места стали занимать члены моей семьи, и все меньше нетронутых заповедных уголков оставалось мне для просмотра телевизора или работы на ноутбуке. Каждый член семьи непременно должен был что-то поискать в комнате при свете, и независимо от исхода поисков, уйти не погасив свет. Социальная инженерия не помогала, и было принято волевое решение свой досуг потратить на данную задачу. А конкретно, было решено сделать дистанционное отключение света.
Уважая время читателей Хабра, сообщу, что содержание поста для узкой аудитории тех, у кого чешутся DIY руки, и он не содержит познавательного контента в других областях.
image


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

Путем анализа возможных комплектующих и выбора доступной номенклатуры, были выбраны дешевые микроконтроллеры NRF24le1 со встроенным проприетарным радиоинтерфейсом. Несмотря на частоту 2.4.ГГц, они были несовместимы ни с WiFi ни с Bluetooth.

Первые же эксперименты показали, что потребление контроллера превышает токи утечки через нагрузку типа лампы накаливания и тем более светодиодной лампы. Лампы загорались.
Я ходил в раздумьях о решении данной задачи пару недель, как М.Фарадей, носивший моток проволоки и магнит в кармане, пока не открыл явление электромагнитной индукции.
Одновременно решался вопрос способа питания от 220В. Так как контролер однозначно располагался в чашке люстры, то емкостной параметрический источник питания был признан достаточно простым и безопасным для применения. Вчитываясь в даташит на NRF24le1 была подмечена возможность котроллера работать в большом диапазоне напряжений при этом с шагом 0,2В определять текущее напряжение питания, а также ФОРМИРОВАТЬ прерывание по программному порогу при изменении напряжения на входе. Это сейчас, по прошествии значительного времени, мне кажется, что 2+2 сложились, а тогда мне пришлось еще ночь переспать, пока решение мне не приснилось.
Как водиться, утром мне пришла идея: что если дернуть напряжением на входе контроллера, чтобы сообщить ему активность на выключателе в стене. При этом параметрический емкостной делить спокойно транслировал изменение напряжения на своем входе на выход к контролеру, Стабилитрон обрезал только то, что превышало допустимое значение по даташиту контроллера, а в снижение не вмешивался.
Проведя дополнительные эксперименты, было определено, что уверенное и достаточное изменение напряжения на выходе делителя происходит при удвоении емкости. Далее тут же было решено питание на контроллер подавать непрерывно, выключатель должен быть в состоянии нормально замкнут, а кратковременное размыкание направляло ток через дополнительную к делителю емкость, тем самым снижая напряжение на время размыкания выключателя.
На КДПВ приведена итоговая схема работы для проводки с одним некоммутируемым проводом питания на люстре.
Под качель выключателя была подложена пружинка из шариковой ручки, возвращающая выключатель в положение включено. По непонятной причине кнопки отсутствовали в продаже, а заказные были неадекватно дороги.
Все, что описано выше, само по себе еще ни привело, ни к какому удобству, но открыло путь к автоматизации света. Так как контроллер теперь был постоянно запитан, а управление по месту сохранено.
Далее, в микроконтроллер была залита программа, которая обучала его кнопке с ИК-пульта телевизора. Мне понравилась зеленая кнопка телетекста спокойный цвет, легко ищется в темноте на ощупь, и не используется в большинстве режимов работы ТВ.
На базе примера протокола производителя описанного в nan-18 был разработан свой расширенный протокол.
nAN-18 Application Note.fm Nordic Infocenter
Расширенный протокол предоставлял возможность построения домашней сети с выделенным концентратором и шлюзом в сеть WiFi (связка NRF-ESP). Доработанное ПО снабдило контроллер в люстре следующими функциями:
обновление прошивки по воздуху;
Plug&Play новых клиентов в сети, а также восстановление работоспособности клиентов при нештатном отключении питания и последующем включении;
инвертирование состояния нагрузки с выключателя (удержание до 3 с) и кнопки ИК-пульта;
обучение кнопке ИК-пульта;
ввод идентификационной строки в конфиг клиента по воздуху (типа свет в зале, свет в спальне и т.д.). Потребовалось из-за специфики работы P&P, построенного на выделении динамических адресов новым клиентам. Поэтому клиент впоследствии должен был сам представляться где он/что он;
вход в режим обучение с кнопки пульта по удержанию выключателя от 3-6 с
вход в режим программирования по воздуху по удержанию выключателя от 6-9 с);
перезагрузка с выключателя при удержании более 9 с;
Индикация реакций на срабатывание служебных режимов выполняется путем моргания люстрой.
Также была разработана служебная программа на Csharp для отладки и ввода наименований клиентов по мере их установки в разных комнатах.
Была успешная попытка управлять голосом через Siri посредством проекта HAP-NodeJS.
Все работало. Система в эксплуатации семьи уже более 5 лет. Но, управление с компьютера или Siri сошло на нет, практически, после первых показательных выступление перед домочадцами и друзьями. После пусконаладки под нагрузкой, в течении недели, перепрошивка по воздуху также перестала быть востребованной. Работоспособность клиента от выключателя и пульта ИК не зависит от наличия концентратора в сети и вхождения клиента в сеть.

Следует отметить, что решение на ESP перенести не удалось, т.к. емкостной параметрический делитель не тянет пиковые токи ESP (до 300мА).
ПО не выкладываю в массы, так как оно не содержит ничего интересного, перегружено избыточной функциональность, которая на практике используется только на 20%. По требованию, могу индивидуально передать по принципу как есть, а также дополнительные фотоматериалы по компоновке элементов на плате с контроллером (придется разобрать люстру).
Основной презентацией статьи можно считать принцип интерфейса между выключателем и контроллером NRF по линии питания.

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

На этом всё! Всем добра!
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru