Информация о WinLIRCWinLIRC - это программа, предназначенная для отслеживания сигналов от пульта дистанционного управления. WinLIRC расшифровывается как Windows Linux Infrared Remote Control. То есть впервые она была создана на Linux, а позже перенесена на платформу Windows.Программа создаёт на компьютере сервер и при получении сигналов от ПДУ через COM-порт, передаёт данные всем подключенным программам. qshKeyCommander как раз является такой программой и может обрабатывать эти данные, выполняя действие, которое было сопоставлено с нажатой кнопкой. Ниже приведена схема, которую можно спаять самому(ой), не испытывая каких-либо трудностей: ![]() Стоимость всей схемы обойдётся менее, чем в 50 рублей (зима 2004г. в Екатеринбурге), причём пульт должен иметь несущую частоту 30-40 кГц (мои подопытные пульты - Samsung AA59-00332A и Samsung AA59-00332D). DA1 и DA2 могут быть заменёны на какие-либо аналоги. В моём случае нужного фотоприёмника в магазине не оказалось, хотя это и самый большой магазин в городе с огромным выбором деталей. После некоторого раздумья был взят фотоприёмник ???-1836, просто из-за того, что совпали цифры с TSOP 1836. DA2 - 78L05 тоже найти не получилось, пришлось воспользоваться его массивным отечественным аналогом КРЕН5А. Ниже представлены обозначения выходов к деталям, с которыми я работал: ![]() Если использовать стабилизатор 78L05, то сама схема получится очень маленькой и удобной для того, чтобы её где-нибудь незаметно закрепить и она не будет бросаться в глаза. Печатная плата со стабилизатором КРЕН5А: winlirc_plate.zip (11 Кб) После того как схема собрана, вам потребуется программа-сервер WinLIRC: http://winlirc.sourceforge.net/ Теперь необходимо настроить программу (можно оставить настройки по умолчанию, где должен стоять тип приёмника DCD) и обучить её кнопкам пульта управления, так как ПДУ подаёт не однозначно определяемый сигнал и поэтому для отслеживания каждой кнопки записывается 64 его состояния. Хотя есть способ проще: можно просто скачать файл конфигурации своего пульта (http://lirc.sourceforge.net/remotes/), но не факт, что он там окажется... Если конфигурационный файл пульта не был найден, то начнём обучение, тем более не такое оно уж и сложное: 1) В конфигурационном окне нужно вписать новый файл конфигурации, например, "Remote_Control.cf", или можно ввести название пульта. 2) Перед самим обучением можно удостовериться, что всё работает, зайдя в "Raw Codes" (там должны отображаться цифры). Если всё нормально, то переходим к самому обучению - "Learn". 3) Открылся диалог, в котором находится следующий текст: This will record the signals from your remote control and create a config file for WinLIRC. Please enter a name for this remote. Здесь необходимо ввести имя пульта и нажать Enter. Имена желательно задавать латинскими буквами, но это не строго. Строго только то, что имя не должно содержать пробелов, так как пробел используется как разделитель при передаче данных на сервер. 4) Далее будет выведено: When learning and analyzing signals, a margin of error is used in order to handle the normal variations in the received signal. The margin of error ranges from 1% to 99%. The default is 25%, but larger values might be necessary depending on your hardware and software. If you are having trouble using your remote, try increasing this value. You may enter the allowable margin of error now, or press ENTER to use the default. Desired margin of error for this remote? (1-99, enter=25) Здесь говорится про какие-то ошибки, как их будет обрабатывать программа, лучше оставить всё по умолчанию, просто нажав Enter. 5) Первый шаг: Step One: Determine signal gap, signal length, and repeat codes. You will be asked to press an arbitrary button a number of times. Please hold it in for at least one s second each time, and wait at least one second between keypresses. If you want to manually enter a signal gap and signal length, you may do so now (ie, "31000 52"). Otherwise, just hit ENTER. Gap and length? Что-то очень страшное про длину сигнала и повторение кодов :) - просто нажимаем Enter. 6) Инициализация: Press a button. Please wait a second and press it again. Необходимо нажать кнопку, подождать секунду и снова нажать ту же самую кнопку (как с мышкой ;), после чего будет выведено следующее сообщение: Baseline initialized. Всё просто отлично! Теперь следует поупражняться с нажатием той же самой кнопки около десяти раз, пока не будет выведено сообщение: "Press a button." 7) Теперь самое интересное: This is a signal-repeating remote with no special repeat code. Holding down the button can quickly yield many copies of that button's code. Therefore, 64 samples of each button will be taken. You will be prompted to enter each button's name in turn. To finish recording buttons, enter a blank button name. Будет задан вопрос об имени кнопки 1 "Button 1 name?", нужно ввести имя кнопки (желательно латинскими буквами, но БЕЗ пробелов). Затем будет произведён процесс записи 64 состояний устанавливаемой кнопки, будет выводиться: matches=#, faults=# Для того, чтобы запись прошла успешно, необходимо, чтобы "matches" дошло до значения 64, а "faults" было как можно меньшим. Таким образом записываем остальные кнопки. Для того, чтобы закончить запись, нужно оставить поле ввода пустым и нажать Enter. Будет выведено сообщение о том, что запись прошла успешно. 8) Теперь заходим в диалог "Analyze", где должны получить подтверждение, что произведённые действия были правильными, после чего окно WinLIRC нужно спрятать и перейти в окно настройки кнопок WinLIRC в qshKeyCommander, где никаких проблем уже не будет :). |