Черный ВОС
Дорогие читатели. Чтобы бороться с цензурой и ханжеством российского общества и отделить зерна от плевел, мы идем на очередной эксперимент и создаем хуторок свободы — «Черный ВОС». Здесь вас ждут мат, разврат, зависимости и отклонение от общепринятых норм. Доступ к бесстыдному контенту получат исключительные читатели. Помимо новой информации они смогут круглосуточно сидеть в чате, пользоваться секретными стикерами и получат звание боярина. Мы остаемся изданием о России, только теперь сможем рассказать и о самых темных ее сторонах.
Как попасть на «Черный ВОС»?
Инвайт получат друзья редакции, любимые читатели, те, кто поделится с нами своими секретами. Вы также можете оплатить подписку, но перед этим ознакомьтесь с правилами.
Я уже оплатил
Если у вас есть какие-то проблемы с подпиской, не волнуйтесь, все будет. Это кратковременные технические трудности. По всем вопросам пишите на info@w-o-s.ru, мы обязательно ответим.
Принцип работы ИК пульта управления
Большая часть современной бытовой электронной аппаратуры имеет пульт дистанционного управления, использующий инфракрасное (ИК) излучение в качестве способа передачи информации. ИК канал передачи данных используется в некоторых устройствах системы «умный дом», которую мы производим.
Принцип ИК передачи информации
Инфракрасное, или тепловое излучение — это электромагнитное излучение, которое испускает любое нагретое до определенной температуры тело. ИК диапазон лежит в ближайшей к видимому свету области спектра, в его длинноволновой части и занимает область приблизительно от 750 нм до 1000 мкм. Инфракрасное излучение составляет большую часть излучения ламп накаливания, около половины излучения Солнца. Оптические свойства веществ в инфракрасном излучении отличаются от их свойств в видимом свете. Например, некоторые стекла непрозрачны для инфракрасных лучей, а парафин, в отличие от видимого света, прозрачен для ИК излучения и используется для изготовления ИК линз. Для его регистрации используют тепловые и фотоэлектрические приемники и специальные фотоматериалы. Источником ИК лучей, кроме нагретых тел, наиболее часто используются твердотельные излучатели — инфракрасные светодиоды, ИК лазеры, для регистрации применяются фотодиоды, форотезисторы или болометры. Некоторые особенности инфракрасного излучения делают его удобным для применения в устройствах передачи данных:
- ИК твердотельные излучатели (ИК светодиоды) компактны, практически безинерционны, экономичны и недороги.
- ИК приемники малогабаритны и также недороги
- ИК лучи не отвлекают внимание человека в силу своей невидимости
- Несмотря на распространенность ИК лучей и высокий уровень «фона», источников импульсных помех в ИК области мало
- ИК излучение низкой мощности не сказывается на здоровье человека
- ИК лучи хорошо отражаются от большинства материалов (стен, мебели)
- ИК излучение не проникает сквозь стены и не мешает работе других аналогичных устройств
Все это позволяет с успехом использовать ИК способ передачи информации во многих устройствах. ИК передатчики и приемники находят применение в бытовой и промышленной электронике, компьютерной технике, охранных системах, системах передачи данных на большие расстояния по оптоволокну. Рассмотрим более подробно работу систем (пультов) управления бытовой электроники.
Пульт ИК управления при нажатии кнопки излучает кодированную посылку, а приемник, установленный в управляемом устройстве, принимает её и выполняет требуемые действия. Для того, чтобы передать логическую последовательность, пульт формирует импульсный пакет ИК лучей, информация в котором модулируется или кодируется длительностью или фазой составляющих пакет импульсов. В первых устройствах управления использовались последовательности коротких импульсов, каждый из которых представлял собою часть полезной информации. Однако в дальнейшем, стали использовать метод модулирования постоянной частоты логической последовательностью, в результате чего в пространство излучаются не одиночные импульсы, а пакеты импульсов определенной частоты. Данные уже передаются закодированными длительностью и положением этих частотных пакетов. ИК приемник принимает такую последовательность и выполняет демодулирование с получением огибающей. Такой метод передачи и приема отличается высокой помехозащищенностью, поскольку приемник, настроенный на частоту передатчика, уже не реагирует на помехи с другой частотой. Сегодня для приема ИК сигнала обычно применяется специальная микросхема, объединяющая фотоприемник, усилитель с полосовым фильтром, настроенным на определенную несущую частоту, усилитель с АРУ и детектор для получения огибающей сигнала. Кроме электрического фильтра, такая микросхема имеет в своем составе оптический фильтр, настроенный на частоту принимаемого ИК излучения, что позволяет в максимальной степени использовать преимущество светодиодного излучателя, спектр излучения которого имеет небольшую ширину. В результате таких технических решений, стало возможным принимать маломощный полезный сигнал на фоне ИК излучения других источников, бытовых приборов, радиаторов отопления и т.д. Работа современных устройств ИК управления достаточно надежна, а дальность составляет от нескольких метров до 40 и более метров, в зависимости от варианта реализации и уровня помех.
Передатчик ИК сигнала
Передатчик ИК сигнала, ИК пульт, чаще всего имеет питание от батарейки или аккумулятора. Следовательно его потребление должно быть максимально низким. С другой стороны, излучаемый сигнал должен быть значительной мощности для обеспечения большой дальности передачи. Такие противоположные по энергетическим затратам задачи успешно решаются способом передачи коротких импульсных кодированных пакетов. В промежутках между передачами пульт практически не потребляет энергии. Задача контроллера пульта — опрос кнопок клавиатуры, кодирование информации, модулирование опорной частоты и выдача сигнала на излучатель. Для изготовления пультов выпускаются различные специализированные микросхемы, однако для этих целей могут быть использованы и современные микроконтроллеры общего применения типа AVR или PIC. Основное требование к таким микроконтроллерам — это наличие режима сна с чрезвычайно низким потреблением и способность чувствовать нажатия кнопок в этом состоянии.
Излучатель ИК сигнала испускает инфракрасные лучи под действием тока возбуждения. Ток на излучатель обычно превышает возможности микроконтроллера, поэтому для формирования необходимого тока устанавливается простейший светодиодный драйвер на одном транзисторе. Для снижения потерь, при выборе транзистора необходимо обратить внимание на его коэффициент усиления тока — β или h21. Чем выше этот коэффициент, тем выше эффективность устройства. Современные передатчики используют полевые или CMOS транзистоы, эффективность которых на используемых частотах можно считать предельной.
Приведенная схема не лишена недостатков, в частности при снижении уровня заряда батареи, мощность излучения будет падать, что приведет к снижению дальности. Для снижения зависимости от напряжения питания, можно использовать простейший стабилизатор тока.
Большинство передатчиков работают на частоте 30 — 50 кГц. Такой диапазон частот был выбран исторически при создании первых подобных устройств. Была выбрана область с наименьшим уровнем помех. Кроме того, принимались в расчет ограничения на элементную базу. В дальнейшем, по мере стандартизации и распространения аппаратуры с таким способом управления, переход на другие частоты стал нецелесообразным.
В целях увеличения импульсной мощности передатчика, а соответственно и его дальности, сигнал основной частоты отличается от меандра и имеет скважность 3 — 6. Таким образом повышается импульсная мощность с сохранением или даже уменьшением средней мощности. Импульсный ток светодиода выбирается исходя из его паспортных значений и может достигать одного и более Ампер. Импульсный ток в большинстве пультов ИК не превышает 100 мА. При этом, поскольку и опорная частота имеет малый коэффициент заполнения и длительность кодированной посылки не превышает 20-30 мс, средний ток при нажатой кнопке не превышает одного миллиампера. Повышение импульсного тока светодиода сопряжено с снижением эффективности и уменьшением срока службы. Современные инфракрасные светодиоды имеют эффективность 100-200 мВт излучаемой энергии при токе 50 мА. Допустимый средний ток не должен превышать 10-20 мА. Питание светодиода должно иметь RC фильтр, который снижает воздействие импульсной помехи на питание микроконтроллера. Спектр применяемых светодиодов для ИК пультов большинства бытовой аппаратуры имеет максимум в области 940 нм.
Длительность единичного пакета опорной частоты для уверенного приема составляет не менее 12-15 и не более 200 периодов. При передаче кодированной посылки, передатчик формирует в начале преамбулу, которая представляет собой один или несколько пакетов опорной частоты и позволяет приемнику установить необходимый уровень усиления и фона. Данные в кодированной посылке передаются в виде нулей и единиц, которые определяются длительностью или фазой (расстоянием между соседними пакетами). Общая длительность кодированной посылки чаще всего составляет от нескольких бит до нескольких десятков байт. Порядок следования, признак начала и количество данных определяется форматом посылки.
Приемник ИК сигнала
Приемник ИК сигнала как правило имеет в своем составе собственно приемник ИК излучения и микроконтроллер. Микроконтроллер раскодирует принимаемый сигнал и выполняет требуемые действия. Поскольку приемник в большинстве случаев устанавливается в аппаратуре с сетевым питанием, его потребление не существенно. Микроконтроллер чаще всего выполняет и другие сервисные функции в устройстве и является его центральным логическим устройством.
Приемник ИК излучения чаще всего выполняется в виде отдельного интегрального модуля, который располагается за передней панелью управляемой аппаратуры. В передней панели имеется прозрачное для ИК лучей окошко. Как правило, такая микросхема имеет три вывода – питание, общий и выход сигнала. Производители электронных компонентов предлагают приемники ИК сигналов различного типа и исполнения. Однако, принцип их работы схож. Внутри такая микросхема имеет:
- фотоприемник — фотодиод
- интегрирующий усилитель, выделяющий полезный сигнал на уровне фона
- ограничитель, приводящий сигнал к логическому уровню
- полосовой фильтр, настроенный на частоту передатчика
- демодулятор — детектор, выделяющий огибающую полезного сигнала.
Корпус такого приемника выполняется из материала, выполняющего роль дополнительного фильтра, пропускающего ИК лучи определенной длины волны. Современные интегральные приемники позволяют принимать полезный сигнал на уровне фона, превышающего его в несколько десятков раз и при этом чувствовать посылки частоты, имеющие всего от 4 — 5 периодов.
Питание приемника излучения должно быть выполнено с RC фильтром для увеличения чувствительности. Микроконтроллер производит помеху широкого спектра на линиях питания, что может повлиять на работу приемника.
Форматы ИК передачи данных
Различные производители бытовой аппаратуры применяют в своих изделиях различные пульты ИК управления. Поскольку пульт должен общаться только с конкретным устройством, он формирует последовательность данных, уникальную для своего типа оборудования. Передаваемые данные содержат кроме собственно команды управления адрес устройства, проверочные данные и другую сервисную информацию. Более того, различные производители используют различные способы формирования последовательности данных и различные способы передачи логических состояний. Наиболее распространенные способы кодирования битов информации — это изменение длительности паузы между пакетами (метод интервалов) и кодирование сочетанием состояний (бифазный метод). Однако, встречаются способы кодирования бит информации длительностью, сочетанием длительности и паузы и т.д. Наиболее распространенные форматы передачи:
- RC5 протокол компании Philips
- NEC протокол одноименной компании
Форматы RC-5 и NEC используются многими производителями электроники. Некоторые производители разработали свой стандарт, но в основном используют его сами. Менее распространенные форматы пультов управления:
В отличие от пультов управления бытовой электроникой, которые передают только одну команду, соответствующую нажатой кнопке, пульты управления кондиционерами передают при каждом нажатии всю информацию о параметрах, выбранных пользователем на экране пульта, такие как температура, режим охлаждения, нагрева или вентиляции, мощность вентилятора и другие. В результате, посылка становится достаточно длительной. Например, пульт бытового кондиционера Daikin FTXG передает единовременно 35 байт информации, скомпонованной в трех последовательных посылках. Форматы пакетов ИК передачи кондиционеров:
Инфракрасные передатчики служат для синхронизации активных 3D очков затворного типа с телевизором.
Двунаправленная передача информации используется в некоторых мобильных устройствах: ноутбуках, телефонах, смартфонах, плеерах и т.д. Передача информации по протоколу IrDA основана на форматах асинхронной передачи данных, реализованных в COM портах компьютера.
Передача информации на большие расстояния не обходится сегодня без ИК излучения. Оптоволоконные линии связи используют ИК излучение ближней и средней области спектра (некоторые и видимого) для передачи данных.
- Волоконно-оптические линии связи (ВОЛС)
- Беспроводная передача данных в инфракрасном диапазоне
Часть информации о протоколах приведена в переводе с сайта sbprojects.com, другая часть — собственные исследования и анализ разрозненных данных из всемирной паутины.
Как работает инфракрасный пульт? Поясняем
Когда вы направляете пульт дистанционного управления на телевизор, чтобы посмотреть любимый фильм, и нажимаете кнопку на пульте, ИК-диод в пульте начинает излучать сигнал, и ИК-приемник на телевизоре принимает тот же сигнал.
ИК-диод — это просто лампочка, светящаяся в инфракрасном диапазоне невидимого для нас спектра. Поэтому для простоты описания представим ИК-диод, на котором находится пульт от кондиционера или телевизора просто мигающим светом.
Преобразование света в цифры
Но как включить телевизор с помощью ИК-лампы?
В пульте дистанционного управления телевизором находится передающий ИК-диод, а в самом телевизоре — инфракрасный приемник, который может считывать мигание ИК-диода в пульте.
Практически любая команда, передаваемая пультом ДУ, представляет собой набор двоичных данных — 1 и 0. Пульт ДУ посылает телевизору команду «включить» — телевизор включается, посылает команду увеличить громкость — телевизор увеличивает громкость.
Каждая такая команда — это просто набор 1 и 0. Каждый производитель сам определяет список команд, опираясь только на свое представление о том, как это должно быть. Тем не менее, существуют определенные стандарты, которым, по нашему опыту, мало кто следует.
Например, для большинства распространенных телевизоров Samsung код включения имеет вид 0xE0E040BF.
Это шестнадцатеричное представление команды. Если копнуть глубже, то команда выглядит как следующий набор 1 и 0:
Код выключения телевизора в шестнадцатиричной системе
Теперь посмотрим, как этот код выглядит на графике.
Красная кривая в верхней части — свет (ИК-диод в пульте ДУ телевизора Samsung) включен, красная линия в нижней части — свет выключен.
Рис. 1: Так выглядит на графике сигнал включения телевизора Samsung
Большинство вычислительных устройств работают с бинарной логикой в которой есть только 1 и 0.
Пожалуй, единственным надежным способом кодирования 1 и 0 при передаче по ИК-связи является их кодирование с помощью длительности свечения и паузы ИК-диода (нашей обычной лампочки) . Различают ИК-протоколы с ведущим нулем и ведущей единицей, но оставим это за скобками повествования.
Конкретно в этом протоколе (NECx2) для телевизоров Samsung 1 и 0 кодируются следующим образом:
- Импульс (свет включен) 600 мкс и затем пауза (свет выключен) в 600 мкс — это 1
- Импульс (свет включен) 600 мкс и затем пауза (свет выключен) в 1600 мкс — 0.
Умно, правда? Давайте еще раз посмотрим на наш график и отметим на нем 1 и 0:
Рис. 2: двоичные цифры в сигнале с телевизора Samsung
Резюме: 0 и 1 кодируются только тем, как долго горит ИК-диод (лампочка) и как долго не горит.Внимательный читатель спросит: «А что же тогда представляют собой эти странные всплески в левой части ИК-сигнала на рис. 1?». И тут мы закономерно переходим ко второй части повествования — к ИК-протоколам.
Удивительный мир ИК-протоколов
В мире ИК-технологий существует множество различных протоколов. Не ошибусь, если скажу, что самым распространенным ИК-протоколом является NEC. Почти со 100% вероятностью можно утверждать, что у вас дома есть пульт дистанционного управления, использующий этот протокол.
Но существуют десятки других протоколов, популярных у производителей бытовой техники.
Как их различить?
В этом помогает преамбула — начальный код, определяющий, какой ИК-протокол используется. Некая уникальная особенность протокола.
Увидев ее, приемник телевизора, Cable-Box или ресивера понимает — ага, сигнал, скорее всего, адресован мне, и начинает слушать.
Для семейства протоколов NEC преамбула состоит из периода 9000 мкс, когда ИК-диод включен, и паузы (ИК-диод выключен) 4500 мкс. Для сигнала от телевизора Samsung такой преамбулой является свечение ИК-диода длительностью 4500 мкс и затем такая же пауза.
Если сейчас начать описывать все существующие ИК-протоколы, то читатель быстро уснет, а я так и не закончу рассказ до глубокой старости. Поэтому для усвоения материала давайте вкратце рассмотрим семейство NEC.
Сначала был самый канонический ИК-протокол NEC (сейчас более известный как NEC1), и идея была хороша: в 32-битном ИК-сигнале расположение было следующим:
Рис. 3: ИК-протокол NEC1 (изображение с сайта Altium)
То есть первые 8 бит — это адрес, что-то вроде ID устройства, затем тот же адрес в инвертированном виде (для проверки).
Биты 16-24 — команда, затем она инвертируется.
Идея была хорошая и могла бы привести к стандартизации, Адрес, например, мог бы быть типом устройства — телевизор, Cable-Box или что-то еще, а команда могла бы быть действием, например, «Увеличить громкость» или «Включить». Но что-то пошло не так.
Сначала 256 возможных команд перестало хватать некоторым производителям, и появился протокол NEC1x
Рис. 4: ИК-протокол NEC1x (изображение с сайта Altium)
А потом адресов в 256 значений стало недостаточно, и стали появляться такие протоколы, как NECx2 (именно такой используется в некоторых моделях телевизоров Samsung, с которых мы начали этот рассказ) .
Существуют такие протоколы, как Denon, семейство протоколов Sony (часто они имеют особенность, заключающуюся в необходимости передачи одного сигнала не менее двух раз с заданной паузой), Kenwood типа NEC1 с дополнениями, RC5, RC6 и многие-многие другие…
Как записать ИК сигнал
Raw (сырые тайминги)
Поскольку ИК-передача — это просто «светится» и «не светится», то изначально самой простой и наглядной записью является запись в так называемом сыром виде. Положительные числа — ИК-диод светится, отрицательные — не светится.
Пример необработанной записи сигнала с pic1:
Пример необработанной записи сигнала с pic1
- 4570 -4420 — преамбула, идентификатор протокола
- 620 -1610 — двоичный разряд
- 0590 -1640 — двоичная цифра 1
- . -45000 — заключительная пауза, конец передачи.
Каждое следующее значение меняет свой знак на противоположный, что очень логично.
Но существуют и альтернативные распространенные способы записи, например, формат ProntoHEX, в котором тот же сигнал выглядит следующим образом:
Пример сигнала в формате ProntoHEX
Здесь все немного интереснее, так как первые 4 блока — служебные:
- 0000 — характеристика сигнала, 0000 — новый, 0001 — изученный;
- 006D — Несущая частота ИК-сигнала (подробнее об этом в следующей главе);
- 0022 — Длина одного временного всплеска (сигнал начального действия);
- 0000 — длина второго всплеска (повтор действия, при удержании кнопки)
И далее, блок за блоком, представлены сигнал начального действия и сигнал повторного действия, рассчитанные по специальной формуле.
Командная нотация
ИК-команда может быть записана так же, как и команда, которую она несет.Как в нашем примере с включением телевизора Samsung — 0xE0E040BF.В этом случае обязательно указывается протокол.
Альтернативные обозначения
Некоторые производители интеллектуальных пультов придумывают собственные схемы записи ИК-сигналов, но они весьма специфичны и не являются предметом рассмотрения в данной статье.
Характеристики ИК-сигналов
Инфракрасные приемники и передатчики имеют две очень важные характеристики это несущая частота и скважность:
Несущая частота
Несущая частотаИК-диод не просто светится сплошным светом, он постоянно включается и выключается, как, кстати, и светодиодная подсветка. Происходит это очень быстро. Одна из наиболее распространенных частот ИК-излучения — 38 кГц, что соответствует 38 000 миганий в секунду. Такая особенность работы позволяет ИК-приемнику отличать сигнал от пульта дистанционного управления от внешних ИК-шумов.
Наиболее распространенные частоты — 36 кГц, 38 кГц, 40 кГц. 56 кГц встречаются крайне редко. Есть и очень редкие, например, оборудование Bang & Olufsen работает на частоте 455 кГц.
Скважность (duty cycle)
Фактически под скважностью сигнала понимается отношение длительности свечения ИК-диода к паузе после него. Ведь помните, что он загорается несколько десятков тысяч раз в секунду? Обе эти характеристики важны для нормальной работы пульта ДУ вашего устройства. Когда мы говорим об универсальных пультах, то рабочий цикл и частота сигнала не всегда известны, поэтому они почти всегда работают несколько хуже. Например, у них меньше рабочий диапазон по сравнению с оригинальными пультами.
Пульты дистанционного управления кондиционерами
И если до этого все было довольно просто:
- нажимаешь кнопку «Включение» на пульте ДУ — телевизор включается.
- Нажимаешь кнопку переключения каналов — канал меняется на плюс или минус.
- Нажимаешь кнопку смены входа HDMI — меняется вход
В кондиционерах все сложнее…
В одном ИК-сигнале передаются сразу все данные — температура, режим работы, положение шторки, режим вентилятора, таймеры и многие другие служебные параметры.
Более того, нередко сигналы от кондиционеров разбиваются на несколько блоков с фиксированными паузами, а каждый блок ИК-сообщения подписывается с помощью CRC (опять же, для разных протоколов по-разному) .
Но это уже совсем другой удивительный мир.
Если вас заинтересовала эта публикация, то ставьте лайки, шеры, репосты, если статья наберет хороший отклик, то вскоре мы выпустим статью о том, как работает IR в пультах кондиционеров .
Спасибо за внимание. Напишите в комментариях, понравилась ли вам статья или она была не полезна, и дайте советы, что можно улучшить. Любая обратная связь будет оценена по достоинству.
А самое главное — что бы вы хотели узнать еще? )
CEO платформы LOOKin и умного пульта LOOKin Remote2
Детектирование включенного телевизора с помощью фотодиода
У меня есть телевизор, купленный 8 лет, НЕ смарт тв, в нем нет USB и Ethernet. Иногда я его включаю для просмотра телепередач. И часто бывает, начал смотреть передачу, как вдруг понадобилось выйти из дома, оделся, стоишь в ботинках в коридоре, а телевизор не выключен! Приходится снимать ботинки (негоже в ботинках по комнате ходить), заходишь в комнату, находишь на диване пульт, выключаешь телевизор, идешь по своим делам. Такая ситуация бывает часто, поэтому я решил положить этому конец и всё-таки сделать кнопку выключения телевизора в коридоре.
Оглавление:
- Описание используемой Z-Wave системы автоматизации
- Устройство детектирования включенного телевизора на базе фотодиода BPW34
- Внедрение фотодетектора в систему автоматизации Z-Way HA с помощью HTTP Device
Описание используемой Z-Wave системы автоматизации
Дом у меня частично автоматизирован Z-Wave устройствами, среди них несколько Z-Wave.Me Dimmer для плавного управления освещением, пара Fibaro Universal Sensor в качестве датчиков движения для включения света, выключатели на батарейках и еще несколько устройств. В коридоре около входной двери в стену вмонтирован iPhone, являющийся панелью управления Умным Домом. С этой панели можно посмотреть температуру в доме и на улице, влажность в комнате, пробки и выключить свет в комнатах.
Рис. 1 — Панель управления умным домом из iPhone 4
Для телевизора я собрал ИК-приёмопередатчик подключенный к Raspberry Pi. Благодаря этому устройству я могу управлять телевизором с помощью HTTP запросов: включать/выключать, переключать каналы, менять громкость и т.д. Но я никак не могу узнать включен или выключен телевизор.
Рис. 2 — ИК-приёмопередатчик для управления TV
Задача которую мне предстояло решить, это как узнать, что телевизор включен и как эту информацию передать на контроллер умного дома RaZberry, чтобы работать с ней уже в рамках моей домашней системы автоматизации. Коротко расскажу о моем контроллере домашней автоматизации.
Для коммуникации с Z-Wave устройствами я использую плату RaZberry установленную на Raspberry Pi.
Рис. 3 — Z-Wave плата RaZberry на Raspbberry Pi
В комлекте к плате идет софт для автоматизации — Z-Way. Z-Way имеет модульную структуру. Одна его часть — это проприетарная библиотека для работы с Z-Wave написанная на Си, вторая часть — это OpenSource движок автоматизации Z-Way Home Automation (Z-Way HA) написанный на JavaScript. Z-Way HA помимо Z-Wave устройств поддерживает еще и любые HTTP устройство, т.е. устройства с которыми можно общаться HTTP запросами. Для движка автоматизации Z-Wave устройства и HTTP устройства ничем не отличаются. Легко можно создать HTTP устройство, которое забирает погоду с OpenWeather, и создать правило автоматизации: Если на улице 30 °C, то включить Z-Wave реле, которое управляет электроприводом мансардного окна.
Рис. 4 — Правило автоматизации в системе Z-Way HA
- Современные умные телевизоры по Ethernet расскажут, что хочешь (У моего телека нет Ethernet)
- Многие телевизоры поддерживают CEC технологию по HDMI (Мой не поддерживает CEC)
- Некоторые телевизору в выключенном состоянии на USB выходе не имеют питания (У моего телека нет USB)
- Можно телевизор запитать через Fibaro Wall Plug — Z-Wave Розеточный Модуль с измерением энергопотребления. Самый удобный вариант для меня, так как я остаюсь в рамках системы Z-Wave. Легко устанавливать, легко детектировать состояние телека, есть энергопотребление — телек включен, нет энергопотребления — телек выключен (3000 р. за модуль)
- Детектировать состояние светодиода телевизора, который горит, когда телевизор выключен и не горит, когда телевизор включен (Мой выбор!)
Устройство детектирования включенного телевизора на базе фотодиода BPW34
Детектировать состояние телевизора я решил с помощью светодиода на нем. Около телевизора у меня стоит Raspberry Pi для просмотра кино, планировал, светодиод напрямую подключить к GPIO и тем самым узнавать состояние телевизора, но для этого нужно было снимать телевизор со стены, разбирать его. Я решил пойти другим путем.
Для детектирования, что светодиод горит я воспользовался фотодиодом BPW34, который работает, как фотодетектор. Для его подключения к Raspberry Pi, я сначала усилил сигнал с помощью Операционного Усилителя LM358 и затем сигнал с ОУ уже подал на GPIO. Схема получилась простая:
Рис. 5 — Схема фотодетектора с цифровым выходом
Рис. 6 — Фотодетектор подключаемый к Raspberry Pi
На Raspberry Pi у меня уже установлен ИК-приёмопередатчик и Датчик влажности с экраном, на экранчик прикрепил фотодетектор:
Рис. 7 — Установленный Фотодетектор на Raspberry Pi
ОУ отбирает примерно 1.5 В от питания 3.3 В. Когда светодиод горит, на выходе получается 2 В, когда не горит — 0 В. Raspberry Pi за логическую единицу принимает все, что больше 1 В, так что все работает как и планировалось. Подключил устройство к Raspberry Pi, а фотодиод прикрепил к телевизору с помощью двухсторонней черной ленты.
Рис. 8 — Фотодиод подключенный к телевизору
Внедрение фотодетектора в систему автоматизации с помощью HTTP Device
С помощью фотодетектора я могу узнать состояние телевизора, а с помощью ИК-приёмопередатчика могу им управлять. Для передачи статуса и управления телевизором я поднял Apache на Raspberry Pi и написал 2 маленьких cgi скрипта, один скрипт принимает команды по HTTP и перенаправляет их на ИК, другой скрипт возвращает состояние TV off или on:
xbian@xbian ~ $ cat /var/www/cgi-bin/tvstatus.cgi #!/bin/bash echo "Content-type: text/json" echo "" STATUS=`cat /sys/class/gpio/gpio27/value` if [ "$STATUS" -eq "1" ]; then echo "off" else echo "on" fi
В системе автоматизации Z-Way Home Automation я создал HTTP Device, который включает/выключает телевизор и реально показывает его состояние, т.е. если выключить телевизор с пульта или кнопкой на нем, то в Z-Way HA я увижу реальное состояние телевизора.
Рис. 9 — Создание HTTP Device в системе Z-Way HA
Рис. 10 — Виджет телевизора на Dashboard
К чему вообще нужно знать состояние телевизора? К тому что, для включения и выключения телевизора используется одна и та же ИК команда, а мне нужно с панели в коридоре отправлять только команду выключения, ведь если отправить телевизору команду, когда он выключен, то он включится.
Теперь, уходя из дома, я в коридоре нажимаю одну кнопку — «Выключить все», и команды расходятся по разным устройствам.