Управление техникой по ИК каналу

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Andrey_B
Администратор
Сообщения: 4034
Зарегистрирован: 18 мар 2011, 12:06

Re: Управление техникой по ИК каналу

Сообщение Andrey_B » 06 май 2019, 12:25

ИК-управление - непростая тема, потому что никакого жесткого стандарта нет. Каждый производитель волен делать так, как ему вздумается.
ir-decode.php - это не панацея на все случаи жизни, не plug & play. Это попытка лишь немного облегчить жизнь в каких-то простых ситуациях. От этого скрипта не следует ждать гарантированного результата.
Контроллер предоставляет "низкий уровень" (параметры "irp"), возможность генерировать (не записывать и воспроизводить, а именно генерировать) кодовые последовательности, основанные на протоколе NEC. Если не заработало сразу, нужно вдумчиво анализировать ситуацию. И далеко не факт, что попытка в итоге увенчается успехом.

Например, скрипт ir-decode.php показывает, что ИК-сообщение с оригинального пульта состоит как бы из двух блоков.
В одном блоке передается "0c0e3f"
В другом блоке передается "040d35"
Параметр "irp5" предназначен для повторения передачи одной и той же информации (так делают некоторые кондиционеры) и в данном случае не подходит.
Здесь нужно попытаться отправить две независимые команды
ir=0c0e3f&irp0=4000&irp1=3950&irp2=548&irp3=950&irp4=1877
ir=040d35&irp0=4000&irp1=3950&irp2=548&irp3=950&irp4=1877
Сработает или нет - очень большой вопрос. Потому что в оригинальной посылке пауза между двумя командами 8300, а при отправке двух команд последовательно она будет существенно длиннее.

empenoso
Сообщения: 949
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Управление техникой по ИК каналу

Сообщение empenoso » 06 май 2019, 14:19

А если брать значения из базы lirc, например: http://lirc.sourceforge.net/remotes/thomson/RCT3004
Каким-то образом можно эти значения в формат меги преобразовать?

Andrey_B
Администратор
Сообщения: 4034
Зарегистрирован: 18 мар 2011, 12:06

Re: Управление техникой по ИК каналу

Сообщение Andrey_B » 06 май 2019, 18:52

Если вы имеете ввиду, существует ли какая-то программа или скрипт, преобразующий файл из базы lirc в команду для контроллера, то нет, не существует.

zevplus
Сообщения: 1
Зарегистрирован: 07 май 2019, 14:21

Re: Управление техникой по ИК каналу

Сообщение zevplus » 15 май 2019, 16:48

Всем доброго времени суток.

Поделюсь своим опытом настройки контроллера MegaD на отсылку ИК команд по протоколу NEC.

1. Я столкнулся с проблемой, что отдельный экземпляр контроллера, купленный мною, плохо формировал "ступеньку" и приемники сигнал не могли "расшифровать". Проблема решилась заменой контроллера.

2. Если используется протокол NEC, то параметры ir0, ir1, ir2, ir3, ir4 должны ему соответствовать а именно:

irp0 - длительность первого импульса для инициализации = 9000
irp1 - длительность паузы после первого импульса = 4500
irp2 - длительность свечения диода, после которого пойдет пауза, определяющая 0 или 1 = 560
irp3 - длительность паузы для 1 = 2250-560 = 1690
irp4 - длительность паузы для 0 = 1120-560 = 560

Информация взята из интернета (например: https://radioparty.ru/manuals/encyclope ... ol?start=1)

3. Для пульта из базы lirc можно взять недостающую информацию для ir:

а. pre_data
б. код команды

т.е. для пульта LG (http://lirc.sourceforge.net/remotes/lg/42H3000)
pre_data_bits 16
pre_data 0x20DF
KEY_POWER 0x10EF

тогда ir будет иметь значение 20DF10EF (подробнее здесь https://www.ab-log.ru/forum/viewtopic.p ... 180#p19817)

4. Пользоваться значениями header, one и zero из lirc для протокола NEC я не рекомендую.

5. можно ли пользоваться параметром repeat_bit из lirc я не знаю - надо проверять.
6. Если нет файла в базе lirc, то pre_data и код команды могут быть рассчитаны анализом результата работы команды mode2, как описывает Андрей. Могу скинуть программку на Excel, которая делает расчет pre_data и код команды аналогично скрипту ir-decode.php Андрея.

7. Андрею спасибо за титанический труд.

8. Я иногда делаю ошибки - поэтому критически относитесь к написанному выше. Проверяйте и делитесь соображениями.

Всем удачи!

Ответить