Конвертировать ИК сигнал HEX формата в RAW
- Войдите на сайт для отправки комментариев
Пт, 29/05/2020 - 10:29
Всем привет. Как можно конвертировать HEX формат полученные ИК приемником (библиотекой IRremote) в RAW?
Например ардуина получила сигнал от пульта SAMSUNG E0E040BF
Этот же самый сигнал, но в формате RAW выглядит так 4550,4400,600,1650,550,1650,600,1650,550,550,600,500,600,550,550,550,600,500,600,1650,600,1600,600,1650,550,550,600,500,600,550,600,500,600,500,650,450,650,1600,600,500,650,450,650,500,600,500,600,500,600,550,600,1600,600,500,650,1600,650,1550,650,1600,650,1550,650,1600,650,1600,600
Есть ли конвернет или можно ли в ручную это сделать?
Нет таких форматов Hex и Raw - это просто способы написания, как арабские и римские цифры, например 4 и IV. Поэтому никакой конвертер для них не нужен
Выложите код, который вам выдает HEX или RAW сигнал с приемника
А HEX как выглядит?
Речь сейчас я веду о кнопке включения телевизора SAMSUNG, просто взял ее для опытов.
Этим кодом (это код примера из библиотеки IRremote) я получаю сигнал от пульта телевизора и он расшифровывается как E0E040BF
Для отправки я пытался использовать вот этот код (из примеров библиотеки IRremote)
Но на этот код телевизор ни как не реагирует.
И потом я совершенно случайно увидел в инете сигнал RAW этой кнопки он выглядит так:
Следовательно для отправки RAW нужно использовать другой скетч, я использовал вот этот (из примеров библиотеки IRremote), тут я уже вставил значения RAW своей кнопки включения:
И о боги телевизор откликается!
Теперь у меня только варианта
1. Сделать так чтобы самый первый код как я его назвал "HEX" работал с моим телеком.
2. Преобразовать все известные мне HEX в RAW
Вот такой способ шифровки E0E040BF вроде как называется HEX, но это не точно)))
Ещё я нашёл вот это. https://www.techdesign.be/projects/011/011_waves.htm возможно это может помочь сделать обратное преобразование?
Вы просто посылаете разные коды, а не один и тот же в разных форматах. Вы определитесь с самим посылаемым кодом и не пудрите себе и нам мозг форматами.
rybafoso, коды
и 0xE0E040BF не имеют ничего общего.
Для справки 0xE0E040BF = 3772793023 в десятичном формате, а вовсе не эта длиннющая пачка цифр. что выше
Я хочу зная код от пульта вот такого типа шифрования E0E040BF отправить его на телевизор SAMSUNG, вот этим скетчем:
Но телевизор SAMSUNG на него не реагирует.
Я хочу зная код от пульта вот такого типа шифрования E0E040BF отправить его на телевизор SAMSUNG
Но он телевизор SAMSUNG на него не реагирует.
отправляете правильно. Видимо код не подходит
Но этот код я снял с пульта телевизора ИК приемником и его же посылаю 0_о. p.s. в инете много раз встречал что код E0E040BF включения и выключения для телевизоров самсунг.
про RAW формат вот что написано в библиотеке:
Normally you would obtain the contents of rawbuf and rawlen by using the receiver many times and averaging the results. Some adjustments may be necessary for best performance. The frequency is the expected bandpass filter frequency at the receiver, where 38 is the most commonly used.
То есть чтобы получить сигналы пульта не HEX, а в RAW - вам надо считать коды реального пульта при помощи метода results.rawbuf. Желательно сделать это несколько раз для каждого кода и потом усреднить
Проблема в том что у меня нет пульта, но у меня есть набор команд HEX
Проблема в том что у меня нет пульта, но у меня есть набор команд HEX
Смотрите - библиотека в любом случае принимает коды в формате RAW, а потом переводит в HEX. Так что вам надо открыть функцию приема кода в библиотеке и разобраться. как коды конвертируются между форматами.
Или поискать в гугле, например:
https://stackoverflow.com/questions/25771333/ir-hex-to-raw-ir-code-conversion
а вот тут вроде даже полноценная программа для перевода, но "очень многа букв" - глубоко не вникал
http://www.harctoolbox.org/IrScrutinizer.html
Я не знаю как это работает, но на англоязычном ресурсе нашел этот код:
Он работает!
Вопрос закрыт.
Открылся новый вопрос почему этот код работает, а предыдущий нет))
Патамушто 3 раза нужно не всем слать. Соньке, по-моему, и ещё кому-то.
Можете сказать что дописать чтобы можно было отправить в монитор порта код (например E0E040BF), а он уже ардуиной воспроизводился бы?
Я не знаю как это работает, но на англоязычном ресурсе нашел этот код:
какой вы код нашли? - IR код-то тот же
Или вы код программирования имеете в виду? - я думал вы его сами пишете или хотя бы понимаете... а вы просто его копипастите как обезьянка...
Можете сказать что дописать чтобы можно было отправить в монитор порта код (например E0E040BF), а он уже ардуиной воспроизводился бы?
а зачем с практической точки зрения это надо? будете каждый раз, когда надо телик включить или громкость добавить - HEX коды в консоли набирать? :)))
У меня просто появилась задача, а путь решения я нашел через ардуино. Пошел купил, вот сижу уже второй день, затянуло.
У меня есть пульт он запоминает команды, ему нужно показать команды по ик. Что воспроизодить я нашел в инетрнете, другого пульта с которого можно скопировать команды нету.
Это разовая акция))))
Вопрос опять открыт. Работает вообще не стабильно. То работает, то нет. Работать не возможно. При этом через RAW работает просто отлично...
Вопрос опять открыт. Работает вообще не стабильно. То работает, то нет. Работать не возможно. При этом через RAW работает просто отлично...
тут столько вариантов - неправильный код. неверный монтаж, помехи. засветки...
тут вам вряд ли кто поможет, телевизор то у вас
При отправке RAW отклик телевизора 100%. Это исключает -Плохой монтаж, -Помехи, -Засветки.
Скорее всего проблема в библиотеке IRremote, а именно в работе с самсунг.
Скорее всего проблема в библиотеке IRremote, а именно в работе с самсунг.
это вряд ли. Библиотека настолько активно используется. что все существенные баги из нее наверняка давно выпилили. Куда более вероятно, что ваши RAW и HEX просто разные коды.
Я вам дал ссылки по конвертированию одного в другое - вы для начала сравните, один это код или разные
Уже пытаюсь разбираться.
Сколько я искал в инете рус, англ везде пишут что самсунг работает только с RAW, может я не там ищу.
везде пишут что самсунг работает только с RAW
это бессмысленная фраза, примерно как сказать что "десять" и "10" - это разные числа
Если IR-светик засунут прямо в Ардуину, то всяких спецэффектов ожидать следует. Для нормальной работы его через транзистор раскачивают.
Через транзистор подключал, разницы не увидел, может на дальность влияет, не проверял
так и есть((
и 0xE0E040BF не имеют ничего общего.
Для справки 0xE0E040BF = 3772793023 в десятичном формате, а вовсе не эта длиннющая пачка цифр. что выше
707-й, держал лы ты хоть раз в руках цифровую зеркалку?
При чем тут десятичный формат? E0E0F00F - это команда в шестнадцатеричной системе счисления, а вот эти цифры:
1
4550,4400,600,1650,550,1650,600,1650,550,550,600,500,600,550,
2
550,550,600,500,600,1650,600,1600,600,1650,550,550,600,500,600,
3
550,600,500,600,500,650,450,650,1600,600,500,650,450,650,500,600,
4
500,600,500,600,550,600,1600,600,500,650,1600,650,1550,650,1600,
5
650,1550,650,1600,650,1600,600
как я понял это интервалы времени
Да, ты всё прально панимашь. И ежли взглянуть на стартовую пачку от твоего самсумга - старт там выглядит именно одним полным периодом какрас 4550 и 4400 с погрешностями на измерение.
А мессага моя 707-му она должна была этим описанием и окончицца, но вишь ты опередил его.
Ты можешь мне подсказать, зная вот это https://www.techdesign.be/projects/011/011_waves.htm я могу преобразовать HEX в тайминги?
это всё зависит от твоего уровня как программера. яж низнаю какой ты программер...пральна?
Ты можешь мне подсказать, зная вот это https://www.techdesign.be/projects/011/011_waves.htm я могу преобразовать HEX в тайминги?
"зная это" - не уверен, но библиотека без проблем преобразует RAW в HEX, так что в ее исходниках есть метод перевода, как я тебе написал выше
зная вот это https://www.techdesign.be/projects/011/011_waves.htm я могу преобразовать HEX в тайминги?
rybafoso, коды
и 0xE0E040BF не имеют ничего общего.
Для справки 0xE0E040BF = 3772793023 в десятичном формате, а вовсе не эта длиннющая пачка цифр. что выше
Тайминги в списке и код 0xE0E040BF, равный 0b11100000111000000100000010111111 - одно и то же со стартовым импульсом по 4.5 мс в кодировке Самсунг. (600+600) =0, (600+1600) =1. Тайминги сняты (вероятно) Ардуинкой, поэтому они плавают от 550 до 650 и от 1550 до 1650 - соответственно.
Ты можешь мне подсказать, зная вот это https://www.techdesign.be/projects/011/011_waves.htm я могу преобразовать HEX в тайминги?
да. Преобразуешь 16ричный формат в двоичный и спокойно пишешь: первые два числа 4500, 4500. А потом 600, 1600 - пару чисел вместо 1 и 600,600 - вместо 0. Для каждого из 32 битов.
Это если Самсунг.
Спасибо! Всё работает. Если кому надо, написал Конвертер NEC в RAW (только для Samsung). Поменяйте расширение с png на xlsx и пользуйтесь.
Скачать можно по ссылке - http://arduino.ru/sites/default/files/u55504/konverter_nec_v_raw_tolko_dlya_samsung.png
Впереди уже замаячил образ светлого пост-техногенного будущего =)
Фундамент жреческого клана повелителей Самсунгов только что был заложен.
Фигня энто фсё. Дауным дауно есть в сельмагах т.н. универсальные пульты. А вспомните первые смартфоны с ИК-портом? То-же теликами могли управлять. Ну и счас с ведроида тож можно управлять. Так-що фигня энта ваша заливная рыба.