Компьютер управляет устройствами с помощью ИК сигналов

Было разработано устройство управления различными устройствами по ИК каналу связи. Подключается к компьютеру через COM-порт. Обмен данными между компьютером и изделием производится по каналу RS-232 (можно сделать на RS-485). Изделие имеет шесть независимых ИК-передатчиков. Также изделие позволяет получить данные нажатой кнопки пульта ДУ (три разных типа пультов ДУ).

Подготовка к работе
Подключите устройство к компьютеру, используя нуль-модемный кабель. Расположите ИК-диоды передатчиков в необходимом месте. Подайте питание 8-15 Вольт на вход изделия. При успешном запуске устройства на его плате несколько раз мигнет светодиод. Когда устройство инициализируется и будет готово к приему команд от компьютера, на плате загорится светодиод.

Работа с устройством. Описание протокола управления
В управляющей программе откройте необходимый порт для обмена данными. Параметры связи: 9600, N, 8, 1 (стандартные параметры для большинства средств разработки). Управление работой устройства осуществляется путем передачи ему 9 байт. В случае успешного приема данных мигнет светодиод на плате изделия.

Первый байт посылки является указанием номера канала, по которому необходимо передать команду — следующие 8 байт. Номер канала должен быть в пределах 1-18. Если номер канала будет больше или меньше указанного предела, то принятые данные будут проигнорированы и устройство перейдет в режим приема данных от компьютера.
Для передачи данных в стандарте RC5 (одиночная посылка, 4 байта данных) необходимо адресовать эти 4 байта данных к каналам 1-6. Пример: 1, 08, 16, 245, 22. Остальные 4 байта устройство игнорирует.
Для передачи данных в стандарте RC5 «расширенный» (две посылки, 8 байта данных) необходимо адресовать эти 8 байта данных к каналам 7-12. Пример: 7, 08, 16, 245, 22, 44, 23, 11, 99
Для передачи данных в стандарте «Kramer» (укороченная посылка, 2 байта данных) необходимо адресовать эти 4 байта данных к каналам 13-18. Пример: 13, 2, 55. Остальные 6 байт устройство игнорирует.

Для того чтобы получить данные о необходимой кнопке пульта ДУ, необходимо перевести изделие в режим приема данных. Для этого необходимо передать ему специальную команду: первый байт должен быть «99», остальные байты не анализируются. Т.е., достаточно передать 99, 255, 255, 255, 255, 255, 255, 255, 255.

Получаемые по ИК-каналу данные от пульта ДУ будут передаваться в компьютер в виде посылки из 9 байт. Первый байт указывает тип принятого сигнала (стандарт пульта ДУ): 1 — пульт стандарта NEC с 4 байтами данных; 2 — расширенный NEC с двумя посылками и 8 байтами данных (пульт Pioner BD); 3 — пульт «Kramer» с фирменным стандартом, передается два байта данных. Последующие восемь байт являются данными. (После передачи полученных данных в бинарном виде они повторно выводятся в формате ASCII в виде символов). Каждое успешное распознавание нажатой кнопки пульта индицируется миганием светодиода на плате изделия.
Для выхода из режима приема необходимо отключить изделие на 5-10 секунд.


Примечание
Работой устройства можно управлять из любой терминальной программы. В окно терминала также выводятся все необходимые данные. В приложении показано окно терминальной программы.
В момент включения устройства в порт выдаются данные автора, затем приглашение к вводу команды. Ниже в строке передается курсор («>» и «пробел»). По наличию этого курсора программист может контролировать факт готовности устройства к приему следующей посылки данных. Если нет желания контролировать, то достаточно выдерживать между посылками данных временной интервал около 0.5 секунды.
Если номер канала будет больше или меньше указанного предела, то принятые данные будут проигнорированы и отобразится сообщение об ошибке. Если команда верна, то отобразится соответствующее сообщение. В режиме приема данных от ИК-пультов ДУ все получаемые данные отображаются в терминале в наглядной форме.

Если у Вас есть вопросы - пишите. Мой E-mail на главной страничке. Удачи!
Александр. 8-12-2011


Компьютер заменяет несколько пультов ДУ на ИК
Схема устройства