Давно вынашивал в планах написать статью на тему ИК управления. После прочтения https://habr.com/ru/companies/flipperdevices/articles/566148/ собрал необходимый материал. В этой статье я задавал вопросы разработчикам Flipper об используемых ими методах копирования и воспроизведения ИК посылок их устройством. На некоторые вопросы я так и не получил ответа, а другие по информативности были близки к описанию в стиле Ардуино.
О чем эта статья? Прежде всего о двух методах копирования и воспроизведения ИК команд управления. Поэтому я не буду останавливаться на описании протоколов передачи различных пультов ИК управления, так как они достаточно хорошо описаны. В одном из разработанных устройств управления по инфракрасному каналу (далее просто ИК), решили использовать один нечасто используемый метод считывания и генерации ИК команд управления различным оборудованием. Нельзя сказать, что это что-то совсем необычное. Такой подход используется к примеру в оборудовании Global Cash для управления по ИК.
В данной статье хочу более подробно остановиться на принципе копирования команд ИК пультов для последующего управления в различных системах типа «умный дом». В сложившейся ситуации применение этого устройства выглядит отличной заменой оборудования Global Cash по причине максимальной совместимости и возможности использования их обширной кодовой базы ИК пультов.
В начале немного общей информации, которая и так хорошо знакома.
Инфракрасное дистанционное управление (ИК ДУ) применяется практически во всей бытовой электронной аппаратуре. Хотя в последнее время появляются системы, основанные на радиосвязи, которые возможно, в будущем станут преобладать над ИК-системами, но в настоящее время ИК управление оказалось самым надежным, и что самое важное – самым дешевым видом беспроводной односторонней связи на короткие расстояния в пределах одного помещения. Ведь прежде всего оно начало использоваться в бытовых телевизорах. Наиболее массово ИК используется и поныне. Это большой зоопарк – каждая фирма разрабатывала свои собственные протоколы и работала на разных частотах модуляции. В результате мы имеем около 2-х десятков(!) совершенно несовместимых между собою систем, из которых наиболее массово, к счастью, используются 6-7.
Как и всякий свет, ИК свет распространяется по прямой, т.е. не огибает предметы, не проходит через непрозрачные объекты, но в той или иной степени от них отражается. Поэтому расстояние, на котором можно уверенно принимать сигнал зависит от мощности источника и чувствительности приемника, плюс несколько побочных факторов.
Для излучения используются ИК-светодиоды, работающие в импульсном режиме, а для приема – фотодиоды с усилителями. В последнее время все чаще используются интегральные ИК приемники различных производителей. ИК приемники как правило, в аппаратуре закрываются ИК-фильтрами (на практике – красным или дымчатым пластиком) для снижения чувствительности к обычному солнечному или свету осветительных приборов. Как всякий фильтр, он частично задерживает и полезное ИК излучение, поэтому от фильтра также зависит дальность работы ИК ДУ.
А теперь приступим к рассмотрению сути метода копирования ИК посылок и затем их воспроизведения.
Но сначала посмотрим, как это делает большинство разработчиков подобного оборудования. Они используют простой подход - измеряют длительности вспышек ИК диодов и пауз в миллисекундах, подобно тому, как это делается в современных цифровых осциллографах, а затем воспроизводят с одной и той же несущей частотой. Поясняющий рисунок.
Большинство ИК приемников имеют выход с открытым коллектором, поэтому сигнал нарисован инверсным.
Как вы уже, наверное, заметили, этот метод имеет недостаток в том, что мы не точно копируем команду оригинального пульта. И хотя можно настраивать частоту ИК сигнала во время передачи, это все равно не устраняет полностью проблем такого метода копирования команд.
Вместо этого используется другой метод, который заключается в измерении несущей частоты ИК излучения, а затем кодирования длительностей вспышек и пауз в периодах несущей частоты ИК излучения. Почему этот метод более точный? Потому что пульты ИК ДУ изначально строились на простых микросхемах: логических элементах, триггерах и счетчиках. Все тактирование осуществлялось несущей частотой, а затем при помощи счетчиков и логики формировались временные диаграммы посылки ИК команды. Позже вся эта логика помещалась в одну специализированную микросхему. Вот структурная схема ИС SAA3010.
А теперь перейдем к описанию другого метода. Что бы лучше понять принцип работы, приведу поясняющую временную диаграмму.
ИК-сигнал представляет собой последовательность состояний ВКЛ и ВЫКЛ, модулированных несущей частотой (ƒ) во время состояния ВКЛ. Большинство устройств ИК-пульта дистанционного управления работают на частотах около 40 кГц, чаще всего на частоте 36 кГц, а некоторые устройства работают на частотах до 500 кГц. Время включения и выключения измеряется в периодах (τ) несущей частоты, где τ = 1/ƒ.
Согласитесь, этот метод позволяет более точно копировать команды ИК пультов. Но тут возникает одна проблема – необходимость использовать ИК приемник, который выделяет как несущую частоту ИК сигнала, так и демодулированный сигнал. Это ведет к усложнению схемы приемника ИК сигнала. Вот поэтому этот метод не используется в Flipper.
В принципе для автономного использования скопированной команды, как это делается во Flipper метод копирования и воспроизведения команд не очень важен. Но если мы начинаем заниматься интегрированием разных систем управления, то тут возникает вопрос обмена информацией между различными системами управления. Обычно модуль управления по локальной сети используется в качестве ИК шлюза управления различным оборудованием. Он преобразует команды, поступающие по сети LAN в ИК команды, которые затем принимаются оборудованием, например, телевизором, а ИК команды, поступающие от пультов, преобразуются в ASCII последовательность и передаются на центральный контроллер управления.
Когда поняли суть данного метода копирования ИК команд перейдем к описанию кодирования считанных ИК команд. Здесь нет ничего сложного, все предельно просто. Запись скопированной команды в символьном виде очень лаконичная, но, с другой стороны, очень полно описывает ИК команду.
Вот пример команды одного из пультов считанный разработанным устройством.
Команды легко редактируются. Зная особенности того или иного формата команд пульта ИК ДУ можно редактировать целенаправленно. Если кто в теме, тот сразу заметил, что приведена команда пульта ИК ДУ формата NEC.
Любая система имеет как свои положительные, так и отрицательные стороны. Плюсы данной системы:
более точное автоматическое определение параметров команды
распространенный метод копирования и записи команд
большая база кодов пультов, например Global Cash
легко конвертировать в другие форматы
возможность использования как интегральных, так и специальных ИК приемников. При применении широко распространённых интегральных ИК приемников частота излучения может задаваться в ручном режиме.
Из недостатков:
незначительное усложнение аппаратной части из-за необходимости использовать специальные ИК приемники.
Зная эту информацию, интеграторам будет проще определиться при подборе оборудования для ИК управления. Эта концепция автоматизированного управления, позволяет ИК-устройствам, таким как пульты дистанционного управления, выступать в качестве цифровых устройств ввода в сетевой среде. Благодаря преобразованию ИК команды последовательный ASCII текст, ИК можно рассматривать как метод ввода для оборудования с цифровым управлением. А также преобразовывая текстовые команды снова в ИК последовательности мы можем управлять оборудование, которое до сих пор управляется по ИК.
Спасибо за внимание.