Форум » » Ик код для кондиционера » Ответить

Ик код для кондиционера

cat1: Может у кого есть ИК код кондиционера GREE GWH09NA ? На http://www.remotecentral.c*m/ прошу не отправлять)) там нет.

Ответов - 9

p.vladi: В отличии от обычных пультов ИК, которые отправляют каждое нажатие кнопки, большинство пультов от кондиционеров отправляют целый пакет команд. Это очень просто определить - выйти в другую комнату, изменить режим кондиционера, изменить скорость вентилятора, температуру, позицию лопастей - затем вернуться в комнату, нажать любую кнопку, и кондиционер сразу примет все изменения. Сам пульт является контролером, не даром даже у самых дешевых моделях на пульте есть экран. Вот именно от этого и все проблемы - даже если и получиться считать пакет значений (вот эти ребята на выставке показывали свою читалку, даже утверждали что могут считывать сложный ИК, как у кондеров http://www.commandfusion.com/hardware/irlearner ) Допустим считали мы пакет - но мы считали пакет всех режимов? следовательно нужно как минимум считывать уйму возможных пакетов чтобы хоть как-то вменяемо управлять кондером, а именно: Режим холода, температура 17 Скорость вентилятора высокая Режим холода, температура 18 Скорость вентилятора высокая Режим холода, температура 19 Скорость вентилятора высокая Режим холода, температура 20 Скорость вентилятора высокая Режим холода, температура 21 Скорость вентилятора высокая Режим холода, температура 22 Скорость вентилятора высокая Режим холода, температура 17 Скорость вентилятора авто Режим холода, температура 18 Скорость вентилятора авто Режим холода, температура 19 Скорость вентилятора авто Режим холода, температура 20 Скорость вентилятора авто Режим холода, температура 21 Скорость вентилятора авто Режим холода, температура 22 Скорость вентилятора авто ну понятно, да? Чтобы нормально управлять кондиционером нужно самим формировать пакет данных, но как? даже если и есть протокол документ, который чётко опишет как сформировать пакет, какие биты где, в какой скорости их передавать, и как высчитать CRC - все равно, из Crestron нельзя конструировать ИК налету... Вот именно по этой причине для большинства нормальных кондиционеров есть всякие интерфейсы. BACnet, LON, MODBUS и так далее. И еще есть фирмы типа http://coolautomation.com/ которые убирают головную боль

Igor: cat1, я в Петербурге. Если вы поблизости, а штатный пульт кондиционера доступен, можно попробовать отсканить.

cat1: Спасибо Игорь, я в Одессе нахожусь)


Igor: cat1, тогда могу рекомендовать поискать в округе товарищей, работающих с оборудованием RTI или Global Caché - при помощи их сканнеров также можно получить ИК-коды в формате, поедаемом оборудованием Crestron.

cat1: спасибо буду искать. Отправил запрос производителю, если даст код то выложу здесь.

Вячеслав: p.vladi почти все правильно описал. Одно лишь примечание. С помощью GlobalCache устройств с Crestron и т.п. можно отправлять ИК код сформированный на лету. Потому как это по сути текстовая строка. Нам даже удалось частично декодировать код одного производителя разбором считанных тем же GC кодов. Потратили несколько дней. Хотя команда была всего лишь 3 байтная (правда были еще инверсные байты для каждого из 3), у других производителей она бывает и 25 байт, и такую команду даже не все лёнеры могут считать. А если уж вам производитель даст на них описание, то задача сильно упрощается (назовите мне производителя кондиционеров кто такую инфу дает?) Есть конечно одна вещь которую НАДО ЗНАТЬ про сам протокол ИК, без которой затея с декодировкой трата времени. Это: ИК команда состоит из набора тайм интервалов каждая пара которых обозначает не что иное как двоичную 1 или 0. (зажечь/ погасить светодиод эмиттера) Кроме того применительно к GC есть префикс определяющий частоту для передачи сигнала, порт устройства и т.п. и постфикс разделяющий повторяющиеся последовательности. Пример кода для GC устройств (считан в текстовый файл устройством GC-IRL IR Learner) : [POWER]sendir,1:1,1,38000,1,1,171,169,21,63,21,63,21,63,21,21,21,21,21,21,21,21,21,21,21,63,21,63,21,63,21,21,21,21,21,21,21,21,21,21,21,21,21,63,21,21,21,21,21,21,21,21,21,21,21,21,21,63,21,21,21,63,21,63,21,63,21,63,21,63,21,63,21,760 где [POWER] созданный вами описатель при считывании кода и его посылать в GC не надо sendir,1:1,1,38000,1,1,171,169 префикс, часть которого описана в мануале на GC Так 38000 это частота 38кГц посылок. Вторая 1 это номер порта на GC деавайсе к которому нужный эмиттер подключен 21,63 -длительности кодирующие двоичную 1 21,21 - длительности кодирующие двоичный 0 Восемь таких пар составляют 1 байт соответственно Если иногда встречается 21,62 например или 21,20 это не новый символ, это просто ошибки считывателя. Главное 2 сильно разные цифры это 1 , а две одинаковые это 0. Последняя не кратная байту пара 21,760 это разделитель посылок ИК В конце строки в текстовом файле создаваемым GC-IRL IR Learner присутствуют еще непечатные символы \x0D\x0D которые тоже надо послать в устройство Итого: Декодировав протокол кондиционера или получив его от производителя. Составляем команду пример из модуля SIMPL+ command_line="sendir,1:"+ITOA(portIR)+","+ITOA(fb_num)+",38000,1,1,171,169,"+converToIR(0x4D)+converToIR(speed_fan)+converToIR(mode_temp)+"21,780\x0d\x0d"; и посылаем ее устройству GC-100-06 на порт 4998 через TCP/client Функция convertToIR конвертирует байтовые значения в формат GC состоящий из битовых пар 21,63 21,21 и дополняет их такими же парами для инверсного значения этого же байта (таков протокол) Режим работы (авто, охлаждение, вентиляция, осушение) и температура как видно была в одном байте в старших и младших разрядах соответственно да еще и температура изменяется с определенным офсетом. Поэтому возьметесь декодировать декодируйте в HEX виде так нагляднее получается и смотрите разницу в коде близких значений иначе это просто "матрица". Команды включения и выключения мы скопировали как есть. Так же особняком команда управления закрылками. Вот такая вот сложная штука гибко управлять кондиционером по ИК.

cat1: Отдолжил у знакомого IR Leamer.Очень долго пытался его прикрутить к Device Learner через конвертер Ком-Юсб. Начитался форумов, ничего не помогло.Нашел прогу DEAL for Windows, все сразу заработало. Очень много раз считывал коды, одни работали,а вторые вообще не реагировали на команду. http://shot.qip.ru/00FHHJ-5krBdQRYx/ Если в поле Rept.Len устанавливается *1* то код работать не будет, так и ловил команды пока везде нолики не установил. Сейчас все работает т,е, кондиционер откликается на команды своим бипером. Вопрос к Вам, как сделать - после включения температура устанавливалась на 16 и после каждого клика temp_up поднималась на 1 до 30, На *объект* вывести это в виде числа? Как и обещал выкладываю сие творение)) http://www.ex.ua/741126391932 Прошу сильно не склонять меня тк это был мой фирст раз.

p.vladi: Никто мне не верит :-) Вячеслав описал костыль, который стоил много времени и очень тщательного и скрупулёзного подхода в вопросу. В случае с крестроновской читалкой это не прокатит. ну никак.

eoulianov: cat1, всё просто. Действительно, в Crestron нет динамической генерации IR, и все команды придётся заранее заучить в IR драйвер. Нет, есть тёмный путь - воспользоваться каким-нибудь C2N-IO и по Network Transmission посылать сгенерированные на S+ коды, но это точно довольно долгое развлечение, как минимум вам потребуется выяснить, как IR кодируется при пересылке по Cresnet. Команды кондеев, к сожалению, большие и представляют собой всё состояние, например "Включи-кондей + выбери режим охлажения + установи целевую температуру 18 градусов + выбери автоматическую мощность + установи направление потока на 15 градусов влево + медленно хлопай вертикальным забралом (ака "бриз")" Вам нужно методом насилия над пультом определить в каких режимах какие параметры изменяются, в каких границах и с каким шагом, потом вычислить общее количество разных команд, ужаснуться, решить сколько их вам понадобится по минимуму, прикинуть, как этот минимум вы представите в интерфейсе, определить, какие команды потребуются для этого интерфейса и выучить их все (у меня есть наборы и из двух и из тысячи команд), а потом уже логикой интерфейса вызывать нужные команды. Честно, там нет команды "temp_up". Но с каким-нибудь Analog Inrement вы сделаете настройку уставки при помощи кнопок temp_up и temp_down, а при изменении уставки - вызов соответствующей команды, в зависимости от состояния других режимов и параметров, удачи!



полная версия страницы