Например TDA7294

Форум РадиоКот • Просмотр темы - Кодировка ИК пульта сплит-системы
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср дек 31, 2025 04:11:47

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Сб окт 01, 2016 14:11:32 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
Добрый день!
Помогите разобраться с кодами ИК пульта от сплит-системы Samsung. Хочу дальше ей управлять по ИК со своего ус-ва. Взял банально ардуину + приемник типа TSOP1736. У ардуины в библиотеках есть IRRemote, где есть пример разбора приходящих кодов. Поковырял его чуть-чуть, чтобы на другую ногу/прерывание перекинуть (мне подключиться так удобнее было), да размер буффера увеличил (по умолчанию не вмещалось, у меня путь чуть длиннее пакет формирует). Ну и по-записывал разные команды/режимы с пульта, каждый по 3 раза для исключения ошибок считывания. Результат тут: http://pastebin.com/kisrK5xw
Пример одного пакета дам сразу тут:
Код:
Encoding  : SANYO
Code      : FFFFFFFF (0 bits)
Timing[115]:
     + 550, - 400     + 600, -1400     + 600, - 400     + 550, - 450
     + 550, - 450     + 550, - 400     + 600, - 400     + 600, - 400
     + 600, - 400     + 600, -1400     + 550, - 400     + 600, - 400
     + 600, -1400     + 550, - 450     + 550, - 450     + 550, -1400
     + 600, -1400     + 550, -1400     + 600, -1400     + 550, -1400
     + 600, - 400     + 600, - 400     + 600, - 400     + 550, - 450
     + 550, - 450     + 550, - 450     + 550, - 400     + 600, - 400
     + 600, - 400     + 600, - 400     + 600, - 400     + 550, - 450
     + 550, - 450     + 550, - 400     + 600, - 400     + 600, - 400
     + 600, - 400     + 600, - 400     + 550, - 450     + 550, - 450
     + 550, - 400     + 600, - 400     + 600, - 400     + 600, - 400
     + 600, - 400     + 550, - 450     + 550, - 450     + 550, - 450
     + 550, - 400     + 600, - 400     + 600, - 400     + 600, - 400
     + 550, -1450     + 550, -1400     + 600, -1400     + 550, -1400
     + 600, -1900     +3050
unsigned int  rawData[115] = {550,400, 600,1400, 600,400, 550,450, 550,450, 550,400, 600,400, 600,400, 600,400, 600,1400, 550,400, 600,400, 600,1400, 550,450, 550,450, 550,1400, 600,1400, 550,1400, 600,1400, 550,1400, 600,400, 600,400, 600,400, 550,450, 550,450, 550,450, 550,400, 600,400, 600,400, 600,400, 600,400, 550,450, 550,450, 550,400, 600,400, 600,400, 600,400, 600,400, 550,450, 550,450, 550,400, 600,400, 600,400, 600,400, 600,400, 550,450, 550,450, 550,450, 550,400, 600,400, 600,400, 600,400, 550,1450, 550,1400, 600,1400, 550,1400, 600,1900, 3050};  // SANYO FFFFFFFF

Понятное дело цифры не точные, их надо нормализовать еще. Но да и так видно, что похоже всегда + пульс приходит всегда по ~600, а затем "-" пульс формирует 0 или 1 в зависимости от длины ~ -400 или -1400. Что из этого 0, а что 1 еще бы понять. Да и с концовкой не понятно. Почему в конце "+ 600, -1900 +3050" пульс со знаком минус от -1800 до - 2800 скачет? Это просто широкий диапазон или есть какой-то смысл в его длине? И ~+3000 в конце это видимо признак конца пакета?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Сб окт 01, 2016 19:18:11 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8893
Откуда: .ru
Рейтинг сообщения: 0
тут ссылка на все коды и исходники... http://radioparty.ru/index.php/datashee ... ?showall=1

Уже всё подробно разобрали... :tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Вс окт 02, 2016 13:01:36 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
roman.com, там ни слова про протокол Sanyo вообще. Тем более у меня как я понимаю какая-то его модификация, т.к. размер пакета нестандартный, а значит и другие параметры могут отличаться. Ссылка к сожалению никак не помогает.
Вот тут как бы речь идет про аналогичную вещь: https://www.analysir.com/joomla/IRforum ... ?f=5&t=527
Но решение там тупо считывать и повторять последовательность RAW кодов, храня их на флэшке МК. Я же хочу "разобрать" протокол и формировать значения нормально, а не тупо хранить несколько десятков копий всего массива данных, где каждый раз пару бит меняется только.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Вс окт 02, 2016 14:57:23 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8893
Откуда: .ru
Рейтинг сообщения: 0
NStorm писал(а):
Я же хочу "разобрать" протокол и формировать значения нормально...

Ну так а в чём проблема ? Записали и разобрали код любого пульта...

Я тут как то тоже решил помотреть коды всех пультов в доме)) У всех пультов принцип работы одинаоквый - передаётся адрес, и команда. У некоторых с повтором адреса и команды... у некоторых с инверсией адреса и команды...

Подключил TSOP и простейший индикатор к ATmega8. Нажимаю кнопки... на индикаторе смотрю коды всех кнопок...

Вот пример что я делал:

Отличия всех моих ИК пультов только в длительности преамбулы...

1- Значит мой пульт LG от кондиционера использует протокол NEC:
(показания индикатора - 00000000~11111111 01101000~10010111), т.е. (адрес, ~ иверсия адреса, команда, ~ инверсия команды).
Адрес для всех кнопок - одинаковый. Меняются только последнии биты:
-00000001 кнопка "1"
-00000010 кнопка "2"
-00000011 кнопка "3"
...
...
...
Всё ясно.)) При передачи/приёма кнопок пишу/читаю номер кнопки... Всё, с кнопками разобрались))

Дальше считал все остальные кнопки... У них другой адрес.

Всё. С пультом LG от кондиционера разобрался за пол часа)))
----------

A пульт SAMSUNG от телевизора использует протокол SAMSUNG:

(показания индикатора - 11100000=11100000 01001000~10110111), т.е. (адрес, адреса, команда, ~ инверсия команды).
Адрес для всех кнопок - одинаковый.
Только SAMSUNG у меня в качестве повтора использует повтор всего пакета...

Всё. С пультом SAMSUNG от телевизора разобрался тоже за пол часа)))
----------

Ещё... для интереса записал на компьютер сигнал от радиопультов. Вот например радиоуправляемая игрушка и автосигнализация... 433 Мгц ...
Вложение:
7_1.jpg [187.14 KiB]
Скачиваний: 353


Тоже самое за пол часа разобрались со всеми кнопками)))

Не знаю... в чем проблема?
:tea:


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Вс окт 02, 2016 15:03:01 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
У моего кондиционера, как и большинства нет "кнопки". Он сразу передает все настройки в одном пакете. С этим и хочу разобраться. Что именно непонятно я написал прям в своем первом посте. Я не могу перевести в код это пока, у меня записаны длительности импульсуов. А радио мышка тут вообще не при чем.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Вс окт 02, 2016 15:16:07 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8893
Откуда: .ru
Рейтинг сообщения: 0
Ну можно записать на компьютер весь код настройки кондиционера... целиком)) Только разобраться будет чуть дольше...

В кондиционере много функций? )) несколько режимов... температура.. что там ещё есть?)) Не знаю.. я бы записал на комп несколько режимов и сравнил бы их... думаю я бы быстро бы нашёл где там что... )) А может чуть повозиться... ))

не знаю... может конечно поковыряться в интернете и зная модель конциционера... можно найти протокол на пульт... Но помоему быстрее записать код и разобрать его самому))

А причём тут радио мышка ... я не понял... Код радиомышки я ещё не смотрел))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Вс окт 02, 2016 15:58:59 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8893
Откуда: .ru
Рейтинг сообщения: 0
NStorm писал(а):
видно, что похоже всегда + пульс приходит всегда по ~600, а затем "-" пульс формирует 0 или 1 в зависимости от длины ~ -400 или -1400. Что из этого 0, а что 1 еще бы понять.

Это обычный манчестер.

+600, -400 = 10

+600, -1400 = 100


550,400, 600,1400, 600,400, 550,450, 550,450, 550,400, 600,400, 600,400, 600,400, 600,1400,... = 1010010101010101010100...

http://radioparty.ru/index.php/datashee ... ?showall=1
Вложение:
1.jpg [36.47 KiB]
Скачиваний: 585


Только импульсы по идеи должны быть все одинаковой длительности.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Пн окт 03, 2016 10:25:41 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
roman.com писал(а):
Это обычный манчестер.
...
Только импульсы по идеи должны быть все одинаковой длительности.

Не похоже, если я правильно понял. В википедии написано, что кодировка там переходами с уровня на уровень кодируется бит. А значит длительность может быть некое T или 2T. А у меня все импульсы с + лишь Т по длительности, не бывают длительностью 2Т, как тут: https://upload.wikimedia.org/wikipedia/ ... ntions.svg


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Пн окт 03, 2016 11:05:01 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
roman.com писал(а):
Ну можно записать на компьютер весь код настройки кондиционера... целиком)) Только разобраться будет чуть дольше...

В кондиционере много функций? )) несколько режимов... температура.. что там ещё есть?)) Не знаю.. я бы записал на комп несколько режимов и сравнил бы их... думаю я бы быстро бы нашёл где там что... )) А может чуть повозиться... ))

Так я их и записал, в 1ом посте ссылка на pastebin, там полный дамп с переключением всех возможных режимов по одному. Я пока не разобрался с ними, поэтому и вопросы задаю тут.

Цитата:
А причём тут радио мышка ... я не понял... Код радиомышки я ещё не смотрел))

Радио игрушку имел в виду, почему-то мышка мне почудилась.

Мне тут с analysir.com подсказали, что либа IRRemote под ардуину может неправильно работать с пакетной передачей от кондеров и отображать не весь пакет данных, а обрезать его. Посоветовали попробовать их прошивку для дампа кодов. Собираюсь опробовать чуть позже.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Пн окт 03, 2016 18:05:25 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8893
Откуда: .ru
Рейтинг сообщения: 0
NStorm писал(а):
длительность может быть некое T или 2T. А у меня все импульсы с + лишь Т по длительности, не бывают длительностью 2Т, как тут: https://upload.wikimedia.org/wikipedia/ ... ntions.svg


+ 550, - 400 + 600, -1400 + 600, - 400 + 550, - 450

Это что? Всё импульсы должны быть или Т или 2Т .... это похоже на ошибку измерения. Ну не может пульт выдавать все импульсы разной длительности. Я таких пультов ещё не встречал)))

По идеи должно быть так:

+ 500, - 500 + 500, -1000 + 500, - 500 + 500, - 500 ...

Я с IRRemote никогда не работал... сказать ничего не могу. Запишите на компе и посмотрите реальный сигнал пульта... Помоему у вас просто ошибка измерения длительности импульсов...

Вот же ссылка http://radioparty.ru/index.php/datashee ... ?showall=1

Там же подробно нарисовали... что логический "1" и логический "0" могут кодироваться разными способами... манчестером или длительность (ШИМ), но всегда длительность импульсов постоянная.

Например Протокол SONY:
+1200 - 600 = 1
+600 - 600 = 0

и т.д....

+ 550, - 400 + 600, -1400 + 600, - 400 + 550, - 450 - так быть не может.


+ 600, - 400 + 600, -1400 + 600, - 400 + 600, - 400 - так может быть.
Вложение:
1.jpg [91.8 KiB]
Скачиваний: 554


Значит у вас так:
+ 550, - 400 + 600, -1400 + 600, - 400 + 550, - 450 = 0100
+ 550, - 450 + 550, - 400 + 600, - 400 + 600, - 400 = 0000
+ 600, - 400 + 600, -1400 + 550, - 400 + 600, - 400 = 0100
+ 600, -1400 + 550, - 450 + 550, - 450 + 550, -1400 = 1001
...

Вообщем ясно))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Пн окт 03, 2016 18:48:02 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
Ну понятное дело, что есть погрешность. Я же писал - надо нормализовать просто. Т.е. округлить все значения до +550, -400 и -1400. И да, получается он не все T и 2Т. Поэтому я и говорю, что кодировка другая. Пульсы все примерно одинаковые в пределах +500-+600. А "пробелы" либо -400, либо -1400 - и я думаю именно длинной пробела в данном случае 0 или 1 кодируется.
Если без библиотеки IRRemote, просто подвесить на ногу прерывание и по нему без обработки считывать, вот что получается:
Код:
3088, -8912, 580, -448, 556, -1420, 576, -448, 556, -448, 556, -448, 552, -448, 556, -448, 556, -448, 556, -444, 556, -1420, 580, -448, 552, -448, 556, -1420, 580, -448, 552, -448, 556, -1420, 580, -1420, 576, -1420, 580, -1420, 576, -1420, 580, -448, 552, -448, 556, -448, 556, -448, 552, -448, 556, -448, 556, -448, 556, -448, 556, -444, 556, -448, 556, -448, 556, -448, 552, -448, 556, -448, 556, -448, 556, -448, 556, -444, 580, -424, 580, -424, 580, -424, 580, -420, 584, -420, 580, -424, 580, -420, 584, -420, 580, -424, 580, -424, 580, -420, 584, -420, 580, -424, 580, -424, 580, -420, 584, -1392, 604, -1392, 608, -1392, 604, -1392, 608, -1896, 3080, -8888, 604, -1396, 604, -420, 584, -420, 580, -424, 580, -420, 584, -420, 584, -420, 580, -424, 580, -420, 584, -1392, 604, -424, 580, -420, 584, -1396, 600, -424, 580, -1396, 604, -1392, 604, -420, 584, -1392, 604, -1392, 608, -1392, 604, -1392, 604, -1396, 604, -1396, 600, -1396, 604, -1392, 604, -424, 580, -424, 580, -424, 584, -1388, 604, -1392, 608, -1392, 604, -424, 580, -420, 584, -420, 580, -424, 580, -420, 584, -420, 584, -420, 580, -424, 580, -420, 584, -1392, 604, -1420, 580, -420, 584, -1416, 580, -1420, 580, -420, 580, -424, 580, -420, 584, -420, 584, -420, 580, -424, 580, -420, 584, -1416, 580, -1420, 580, -1420, 576, -1420, 580

Явно IRRemote не весь пакет показывает просто. А вот эта кодировка с AnalysIR сказали "Vestel AC".

EDIT: Говорят приемник-то у меня на 36 кГц, а пульт на 38 кГц несущие. Вот и "пляшут" цифры так прилично. Но не беда, всё-равно прекрасно видно что и где и можно нормализовать (округлить).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Пн окт 03, 2016 19:37:18 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
roman.com писал(а):
Значит у вас так:
+ 550, - 400 + 600, -1400 + 600, - 400 + 550, - 450 = 0100
+ 550, - 450 + 550, - 400 + 600, - 400 + 600, - 400 = 0000
+ 600, - 400 + 600, -1400 + 550, - 400 + 600, - 400 = 0100
+ 600, -1400 + 550, - 450 + 550, - 450 + 550, -1400 = 1001
...

Вообщем ясно))

Ну я про это, про необходимость нормализовать и про то, что длина паузы 0 или 1 задает еще в 1ом посте сразу и высказался.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодировка ИК пульта сплит-системы
СообщениеДобавлено: Пн окт 03, 2016 21:09:10 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8893
Откуда: .ru
Рейтинг сообщения: 0
NStorm писал(а):
Говорят приемник-то у меня на 36 кГц, а пульт на 38 кГц несущие. Вот и "пляшут" цифры так прилично. Но не беда, всё-равно прекрасно видно что и где и можно нормализовать (округлить).

каких только глупостей не наслушаешься в интернете)))

Киким образом переменные значения длительности импульсов могут зависить от частоты приёмника ???

+ 550, - 400 + 600, -1400 + 600, - 400 + 550, - 450... ???

Передатчик выдаёт чёткие импульсы с заданной длительностью. Точность импульсов определяется стабильностью керамического резонатора пульта. Т.е. стабильность высокая:

+ 600, - 400 + 600, -1400 + 600, - 400 + 600, - 400

Частота приёмника 36 кГц, вместо 38 кГц может влиять только на максимальную дальность связи.

Если в массиве получаем разную длительность импульсов, то это значит так фигово работает обработчик прерываний. Я без понятия кто писал эти библиотеки... Я обычно не пользуюсь всякими библиотеками ... Насмотрелся в протеусе как они работают коряво...))

Нормализовать в приёмнике можно всё. Проблемы могут возникнуть в передатчике. Мы же хотим не просто расшифровать код, а его транслировать с помощью самодельного передатчика. Поэтому желательно поточней знать длительность импульсов и придерживаться этих длительностей в самодельном передатчике.

И что имеем...

+3088, -8912, - это преамбула 1...

580, -448, 556, -1420, 576, -448, 556, -448, 556, -448, 552, -448, 556, -448, 556, -448,
0100 0000

556, -444, 556, -1420, 580, -448, 552, -448, 556, -1420, 580, -448, 552, -448, 556, -1420,
0100 1000

580, -1420, 576, -1420, 580, -1420, 576, -1420, 580, -448, 552, -448, 556, -448, 556, -448,
1111 0000

552, -448, 556, -448, 556, -448, 556, -448, 556, -444, 556, -448, 556, -448, 556, -448,
0000 0001

552, -448, 556, -448, 556, -448, 556, -448, 556, -444, 580, -424, 580, -424, 580, -424,
0000 0000

580, -420, 584, -420, 580, -424, 580, -420, 584, -420, 580, -424, 580, -424, 580, -420,
0000 0000

584, -420, 580, -424, 580, -424, 580, -420, 584, -1392, 604, -1392, 608, -1392, 604, -1392,
0000 1110

608, -1896
1
это что? стоп бит чтоли..)))


3080, -8888, - это преамбула 2... второй пакет пошёл...
----------
итого... Есть закономерность? ))

0100 0000 0100 1000 1111 0000 0000 0001 0000 0000 0000 0000 0000 1110 1

Мдя... )))


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y