Как получать данные с инфракрасного ИК порта в Linux, подключенного через COM порт. Для получения данных, передаваемых по ИК каким нибудь устройством, например, пультом от телевизора, можно воспользоваться программой LIRC и обслуживающими ее модулями ядра. Ик Порт Универсальный Драйвер' title='Ик Порт Универсальный Драйвер' />
ИК порт был предназначен главным образом для передачи медиафайлов, а вот возможность использования его в качестве пульта дистанционного. Раздел Компьютер Linux IrDa Инфракрасный порт. Подключить драйверы ядра запустить lirc. Делаем depmod a Теперь делем irattach devttyS0 d tekram s В данном случае у меня ИКпорт сидит на COM1 ttyS0, подгружается драйвер для. Кстати, программа LIRC портирована под Windows и прекрасно в нем работает. Называется Win. LIRC. Приемник я собирал по следующей схеме Датчик IC1 марки TSOP 1. Вместо 7. 8L0. 5 IC2 можно взять советский аналог КР1. ЕН5 левый вывод вход, правый выход, средний заземляем. Диод D1 подойдет любой. Чтобы получить данные, передаваемые через самодельный ИК приемник, подключенный по COM порту, нужно сделать следующее. Порт IrDA позволяет устанавливать связь на коротком расстоянии до 1 метра. СОМпорта ПК, который использует универсальный асинхронный. Драйвер IrLAN обычно не модифицирует содержимое пакетов,. Установить пакет lirc. Подключить ИК приемник к COM порту. Ик Порт Универсальный Драйвер' title='Ик Порт Универсальный Драйвер' />Универсальный драйвер для пультов ДУ, позволяет декодировать и. Поддерживаются только пульты подключаемые к COM порту. В отличие от USB ИКпортов, установка драйверов для COM ИКпортов производится после подключения инфракрасного порта в разъм. В гонке технологий среди смартфонов в последнее время модно добавлять ИК порт, вроде как не особо нужная вещь, но для пунктика,. Дать команду освобождения COM порта setserial devtty. S0 uart none. 4. Подключить драйверы ядра запустить lirc. Проверить, загрузились ли драйверы ядра lsmod. После этих действий появится устройство devlirc. Проверить, передаются ли данные через это устройство. Для этого выполнить нижеследующую команду и направить ИК пульт на датчик, понажимать клавиши mode. В консоли будут видны всякие коды, передаваемые ИК устройством. Можно посмотреть сигнал в графическом виде xmode. Если этот шаг нормально выполнится, то отконфигурировать LIRC не представляет труда. Но если данных нет, LIRC трогать вообще бесполезно, так как это следующий уровень взаимодействия. Настроить LIRC согласно инструкциям из интернета Копия обсуждения на ЛОРе с выявлением подводных камней при конфигурировании LIRCОбсуждение происходило здесь https www. Самодельный IR приемник и LIRC. В Windows работает, в Linux нет. Здравствуйте Достал из своих загажников вот такой самодельный девайс http www. Через него видятся команды с пульта в винде через программу Win. LIRC. А вот в линухе Ubuntu 7. Делаю все вот по этому HOWTO https help. Install. LircFeisty. И уткнулся в то, что не могу сгенерировать lircd. В данный момент, при запуске компа, в логе видна надпись LIRC IS NOT CONFIGURED read usrsharedoclirchtmlconfigure. Если сразу после старта посмотреть dmesg. Так же, следущие команды lsmod lirc ps aux. Но после выполнения этого скрипта имеем dmesg. В интернете готового файла для моего девайса и управлялки не нашел. В HOWTO его предлагают сгенерировать через программу irrecord. Мой девайс подключен к COM1 devtty. S0. В HOWTO написано, что надо запускать команду irrecord d devlirc. В какой момент появился девайс devlirc. Это не ссылка, а файл устройства. То есть, доходим до диалога Now start pressing buttons on your remote control. Нажимаем Enter, потом начинаю давить на разные или на одну кнопки с продолжительностью 1 сек. Вроде как должны появляться точечки на каждое нажатие, но они не появляются. Через 1. 0 секунд появляется такое сообщение irrecord no data for 1. Если попытаться запустить эту команду с указанием COM1 от рута irrecord d devtty. S0 lircd. conf то в ответ получаю irrecord could not init hardware lircd running На файлы компортовОни у меня такие crw rw 1 root dialout 4, 6. База Данных Мотив подробнее. S0 crw rw 1 root dialout 4, 6. S1 но под рутом как бы неважно, доступ должен быть полным. Гдето то нашел рекомендацию, что надо вообще компорт проверить. Дать команду cat devtty. S0 и при нажатии кнопок на пульте, в консоль должен мусор сыпаться. Но у меня эта команда под рутом и от обычного пользователя тоже не выполняется cat devtty. S0 cat devtty. S0 Inputoutput error Вот. Не знаю больше куда рыть и что делать, чтобы считать хоть какой сигнал с компорта. Как же запустить это LIRC В Windows работает, в Linux нет. Судя по логам, прежде чем запустить, его нужно с начала сконфигурировать. В Windows работает, в Linux нет. Гдето то нашел рекомендацию, что надо вообще компорт проверить. Дать команду cat devtty. S0 и при нажатии кнопок на пульте, в консоль должен мусор сыпаться. Судя по схеме если ты ее правильно собрал Rx. D в воздухе болтается так что сомневаюсь в этом совете. В Windows работает, в Linux нет. S0 и при нажатии кнопок на пульте, в консоль должен мусор сыпаться. Да, наверно так и есть. Такая ошибка возникает после команды setserial devtty. S0 uart none А если дать команду setserial devtty. S0 uart 1. 65. 50. A то такой ошибки не возникает. Но и в консоль через cat ничего не сыпится, но это видимо из за однонаправленной схемы. В Windows работает, в Linux нет. Судя по логам, прежде чем запустить, его нужно с начала сконфигурировать. Чтобы запустить irrecord генератор конфига, надо этот конфиг уже иметьЧто то замкнутый круг получается. Кто нибудь может внятно сказать, какой файл девайса надо использовать при генерации конфига, если приемник подключен на COM1 В HOWTO написано irrecord d devlirc. А при попытке считывать с devtty. S0 irrecord d devtty. S0 lircd. conf процесс создания конфига вообще не запускается см. В Windows работает, в Linux нет. Возможно стоит поробовать загрузить все модули lirc. Re Самодельный IR приемник и LIRC. В Windows работает, в Linux нет. Еще можно поробовать почитать документацию по irrecord. Там например написано If the program fails to recognize the protocol of the remote control you should use the force option to at least create a config file in raw mode. Re Самодельный IR приемник и LIRC. В Windows работает, в Linux нет. Возможно стоит поробовать загрузить все модули lirc. Да, файл devlirc. Он появляется после команд setserial devtty. S0 uart none setserial devtty. S1 uart none modprobe lirc. Их я и загружаю. И irrecord работает, только не видит потока данных. Вот понять не могу, к какому порту привязывается devlirc. К тому, который указан в etclirclirc modules source. Содержимое этого файла у меня такое, может тут что не так В Windows работает, в Linux нет. Еще можно поробовать почитать документацию по irrecord. Там например написано If the program fails to recognize the protocol of the remote control you should use the force option to at least create a config file in raw mode. Результат тот же irrecord d devlirc. В Windows работает, в Linux нет. IR датчик слишком чувсивительный а возможно наоброт Попробуй ослабить сигнал заклей изолентой полукруглый выступ на датчике. Еще можно попробовать другой пульт главное чтобы у них разные протоколы были другой производитель. Теорию можно посмотреть тут http www. Когда то давно делал по этой схеме работало сразу, правда в linux не пробовал С повышенной чуствительностью встретился когда делал самодельный термометр на микроконтроллере с управлением с пульта ДУ от телика помехи постоянно шли особенно сильно влияют ртутные лампы лампы дневного света и просто обычный свет. Но скорей всего что то не так настраивал если в windows все работало. Tuk. В Windows работает, в Linux нет. Такс, ну вот новая порция информации. Оказывается, при конфигурировании была допущена ошибка. Хорошо, что ее заметил. По неизвестным причинам, порт COM1 у меня в системе занят. Пока еще не понял, чем он занят, но почему то считается занятым. В момент конфигурирования через команду dpkg reconfigure lirc modules source в генерируемом файле etclirclirc modules source. И этот порт COM2 В HOWTO про это ни слова, так что я недоглядел. Поэтому в файле lirc modules source. LIRC. После перезагрузки в dmesg вижу такое. В связи с этим два вопроса 1. Как увидеть лог консоли при загрузке системы Вроде на старых линухах можно было переключиться в первую консоль где шла загрузка, и кнопками ctrlPg. Up подняться вверх. Сейчас ни Pg. Up ни ctrlPg. Up ни shiftPg. Up ни altPg. Up не помогают. А инфа какая то важная там. Очень важный вопрос. Как определить, что удерживает COM1 на момент старта lirc В Windows работает, в Linux нет. В Windows работает, в Linux нет. В общем, да, порт не занят на самом деле. Его перед загрузкой модулей lirc надо загнать в none режим.