[Из песочницы] Туннель Wi-fi -> RcSwitch для управления светом
Предыстория
Довольно часто в наших домах стали появляться люстры, управляемые с использованием беспроводного пульта, который работает на частоте 433\315 mhz.
В моей квартире первой появилась такая люстра в комнате. Позже, когда наше семейство пополнилось двумя детьми, я был вытеснен «жить» на кухню, и беспроводного управления светом в моем новом жилище стало катастрофически не хватать. В связи с чем с небезызвестного всем сайта был заказан 4-х канальный беспроводной модуль.
И начался процесс «тюнинга» кухонной люстры. Для создания режима ночника была наклеена светодиодная лента и повешена на первый канал блока.
Остальные каналы блока используются для управления штатными лампами люстры. Один канал, правда, остался свободным. Блок питания для ленты уместился в чаше люстры, а вот запихнуть туда сам блок не получилось, пришлось вынести его наружу.
Жить стало легче. Но не знаю как у остальных, но у меня эти самые пульты стали постоянно теряться. Пришлось что-то с этим делать.
Железная часть
На базе известного микроконтроллера esp8266, с использованием прошивки с сайта homes-smart.ru мной был собран простой шлюз, а именно к модулю был подключен передатчик с частотой управления люстрами. С помощью Arduino я снял коды кнопок пультов «комнаты» и «кухни».
Сам модуль с ESP распаян на самодельном адаптере, с обратной стороны которого установлен стабилизатор напряжения 3,3 вольта и небольшой конденсатор, чтобы не заботиться о питании модуля. ESP соединяется с передатчиком через переходной адаптер.
Программная часть
Все бы хорошо, но возникла проблема, у используемой мной прошивки не было как такого пользовательского web-интерфейса. Поэтому выполнять команды можно было только через http запрос.
Для решения этой проблемы были написаны клиенты под windows phone и android (находится в состоянии альфа версии). Для написания приложения под windows использовал Visual Studio 2015 RС. Это было мое первое знакомство с программированием под эту платформу. Хочу заметить, что в сравнение с программированием для Android эта платформа не вызвала никаких трудностей. Все работало сразу из коробки.
Дальше пришло время клиента под Android и тут начались трудности. Ранее я пробовал программировать для Android в среде Eclipse и вроде у меня все получалось. Но повторно установить эту среду у меня почему то получилось. Обратил внимание на то, что в новой Visual Studio появилась возможность создания проектов для Android, но и это направление у меня не пошло. В итоге был выбран более легкий путь с использованием замечательного ресурса appinventor.mit.edu. Быстренько накидал проект, залил его в телефон, и все заработало.
Однако довести его до конца так и не успел. Детишки не дают и шага без них шагнуть, поэтому личного времени совсем нет.
P.S. Это моя первая статья на Хабре, сильно не судите, постарался как можно полно описать, насколько это позволили моя грамотность и мои дети, не дававшие покою на протяжении всего повествования. Так что на этом я заканчиваю. Пора идти развлекать детей.
Надеюсь моя идея будет кому то полезна.
Упомянутые и используемые материалы
Прошивка: http://homes-smart.ru/
Клиент под Windows Phone: yadi.sk/d/53y6SsmljZGpm
Клиент под Android (не доделан до конца): ai2.appinventor.mit.edu/#6244931076096000