[Модуль] Broadlink (dev_broadlink)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Vital
Сообщения: 12
Зарегистрирован: Чт мар 11, 2021 9:46 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение Vital » Пт мар 12, 2021 10:18 pm

автоскан

..._1 <--Upstream
..._2 -->Downstream
Вложения
ff.png
ff.png (13.18 КБ) 3641 просмотр
scan.rar
(5.44 КБ) 139 скачиваний
Vital
Сообщения: 12
Зарегистрирован: Чт мар 11, 2021 9:46 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение Vital » Вт мар 16, 2021 9:03 pm

nick7zmail посмотрите пакеты ответа при сканировании частоты
Вложения
frequency.xlsx
(10.97 КБ) 135 скачиваний
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение nick7zmail » Ср мар 17, 2021 9:40 am

Vital писал(а):
Пт мар 12, 2021 10:18 pm
автоскан

..._1 <--Upstream
..._2 -->Downstream
Вот тут что то совсем не то...
Vital писал(а):
Вт мар 16, 2021 9:03 pm
nick7zmail посмотрите пакеты ответа при сканировании частоты
Вот это ближе к истине, но что то очень похоже на старый протокол...у вас какая моделька? Можно фото? РМ3 или РМ4? Потому что в пэйлодах отсутствуют байты, которые я специально для РМ4 вводил... Какую марку устройства показывает автопоиск в модуле? ...и ещё - понять бы как частоту декодировать из набора байт, которые вы прислали...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Vital
Сообщения: 12
Зарегистрирован: Чт мар 11, 2021 9:46 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение Vital » Ср мар 17, 2021 11:02 am

Устройство BroadLink BestCon RM4C Pro
Тип 6184 как в пакетах

RM4 pro 6026 и RM4C pro при IR обучении команды записывают без первых нулей, но не выполняются через getURL, хотя json =1.
Если вруную добавить впереди команды 0000, то выполняется.
С предыдущими файлами broadlink class и dev_broadlink class, до установки кнопки сканирования частоты, при IR обучении команды записывались с 0000 впереди, но выполнялись через getURL.
Получается протокол не совпадает.

А в старых моделях как частоту декодировали?
Может быть key и iv не совпадают с теми, что в broadlink class записаны?
Вложения
RM4Cpro.jpg
RM4Cpro.jpg (4.29 КБ) 3529 просмотров
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение nick7zmail » Ср мар 17, 2021 12:06 pm

Vital писал(а):
Ср мар 17, 2021 11:02 am
Устройство BroadLink BestCon RM4C Pro
Тип 6184 как в пакетах

RM4 pro 6026 и RM4C pro при IR обучении команды записывают без первых нулей, но не выполняются через getURL, хотя json =1.
Если вруную добавить впереди команды 0000, то выполняется.
С предыдущими файлами broadlink class и dev_broadlink class, до установки кнопки сканирования частоты, при IR обучении команды записывались с 0000 впереди, но выполнялись через getURL.
Получается протокол не совпадает.

А в старых моделях как частоту декодировали?
Может быть key и iv не совпадают с теми, что в broadlink class записаны?
Баг с 4 нулями я устранил...не факт что это в архив попало со сканом частоты....
Если выбрать тип устройства RM2/RM3/RM3mini - че нить со старым протоколом - работает?

В самых старых моделях - модели были с привязкой к частоте...т.е. при заказе выбирали 433 или 315 - и там без всяких сканирований работает...у меня как раз такая была версия...
Потом вышли универсальные пульты 0-1000 МГц - и там же появилась возможность сканирования частоты в sdk для андроида....но все меня убеждали что это какая то маркетинговая фишка, и если просто в режиме обучения подержать подольше кнопку - эффект будет тот же. Сперва частота определится, потом обучится сигналу...

Потом мне "собрали" на новый РМ4, и его поддержку я добавил (точнее добавил я до получения девайса на руки, просто выяснил тонкости и убедился что работает)...

А при выходе нового приложения - там прямо явным отдельным пунктом скан идёт. Я вроде как повторил с него набор байт, но какой ответ на него прилетает - всё никак не могу понять...никто до вас пакеты не кидал...а лично у меня где то просраны все пульты 433 мгц)) до сих пор ни одного не нашел...дак вот, а глядя на ваши пакеты - смотрю - вроде протокол старый...но сканирование частоты вроде как всё равно есть...короче, надо понять как из этого набора байт декодировать частоту. Вот то что первые 4 символа выделены - это чексумма. Далее - это как раз частота там зашита...надо бы понять как её вытащить.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Vital
Сообщения: 12
Зарегистрирован: Чт мар 11, 2021 9:46 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение Vital » Ср мар 17, 2021 10:23 pm

RM(1,2,Pro), RM3 mini, RM4 mini/RM4C - выбирал, марку оставлял 0x6026, всё тоже самое, светодиод загорается, но RF не слышит.

"ERR - Истекло время проверки частоты".

При обучении IR всё так же как и у RM4 pro 0x6026.

Будем ковырять дальше!
Vital
Сообщения: 12
Зарегистрирован: Чт мар 11, 2021 9:46 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение Vital » Вт мар 30, 2021 12:06 am

nick7zmail, вот payload decrypted:

433.93 -- 09 00 1a 00 00 00 01 0a 9f 06 -- 009 000 026 000 000 000 001 010 159 006
433.82 -- 09 00 1a 00 00 00 01 9c 9e 06 -- 009 000 026 000 000 000 001 156 158 006
433.84 -- 09 00 1a 00 00 00 01 b0 9e 06 -- 009 000 026 000 000 000 001 176 158 006
433.86 -- 09 00 1a 00 00 00 01 c4 9e 06 -- 009 000 026 000 000 000 001 196 158 006
433.94 -- 09 00 1a 00 00 00 01 14 9f 06 -- 009 000 026 000 000 000 001 020 159 006
433.95 -- 09 00 1a 00 00 00 01 1e 9f 06 -- 009 000 026 000 000 000 001 030 159 006
433.96 -- 09 00 1a 00 00 00 01 28 9f 06 -- 009 000 026 000 000 000 001 040 159 006
433.89 -- 09 00 1a 00 00 00 01 e2 9e 06 -- 009 000 026 000 000 000 001 226 158 006
433.90 -- 09 00 1a 00 00 00 01 ec 9e 06 -- 009 000 026 000 000 000 001 236 158 006
433.92 -- 09 00 1a 00 00 00 01 00 9f 06 -- 009 000 026 000 000 000 001 000 159 006
433.00 -- 09 00 1a 00 00 00 01 68 9b 06 -- 009 000 026 000 000 000 001 104 155 006
433.96 -- 09 00 1a 00 00 00 01 28 9f 06 -- 009 000 026 000 000 000 001 040 159 006

Частоту подсчитываю так:

Код: Выделить всё

    // 155024 -> 432920, точку отсчета выбрал 432,92
    $f=-1;
	for ($t=155; $t <= $payload[0x8]; $t++){
		for ($d=0; $d<=255; $d++){
			if($f==-1) {$d=24; $f++; continue;}
			$f ++;
			if($t==$payload[0x8] && $d==$payload[0x7]) break 2;
	    }
	}
    $fresult=(432920+$f)/1000;
Формула:

Код: Выделить всё

$f=($payload[0x8]-155)*256+$payload[0x7]-24;
$fresult=(432920+$f)/1000;
Ожидание сигнала: "ОК"
Вложения
fff.jpg
fff.jpg (80.83 КБ) 3383 просмотра
Последний раз редактировалось Vital Вт мар 30, 2021 7:50 am, всего редактировалось 2 раза.
Vital
Сообщения: 12
Зарегистрирован: Чт мар 11, 2021 9:46 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение Vital » Вт мар 30, 2021 12:16 am

Что делаем дальше?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение nick7zmail » Вт мар 30, 2021 8:26 pm

Vital писал(а):Что делаем дальше?
Ого. Отличная работа...я правильно понял, что вашу формулу вы подставили в мой код? Или код считывания частоты в модуле как то меняли?

Отправлено с моего Xperia XZ1 Compact через Tapatalk

Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Vital
Сообщения: 12
Зарегистрирован: Чт мар 11, 2021 9:46 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение Vital » Вт мар 30, 2021 8:41 pm

nick7zmail писал(а):
Вт мар 30, 2021 8:26 pm
Vital писал(а):Что делаем дальше?
Ого. Отличная работа...я правильно понял, что вашу формулу вы подставили в мой код? Или код считывания частоты в модуле как то меняли?

Отправлено с моего Xperia XZ1 Compact через Tapatalk
Формулу не подставлял в код, хотел бы чтобы вы подставили в правильное, запланированное место.

Дело в том, что пакеты из приложения идут с периодичностью 3 сек, но ответ частоты не раньше чем через 15 сек.
Поэтому изменил задержку, и вот он! Пакет с частотой пойман.

Код: Выделить всё

$rm->Sweep_freq_start();
        do {
        	sleep(15); 
        	$json['hex'] = $rm->Sweep_freq_result();
        } while((count($json['hex']) == 0) && ($i++ < 2));
Возможно, лучше будет так:

Код: Выделить всё

$rm->Sweep_freq_start();
	sleep(12);
        do {
        	sleep(3);
        	$json['hex'] = $rm->Sweep_freq_result();
        } while((count($json['hex']) == 0) && ($i++ < 6));
	if($json['hex'] ==1)
			addToOperationsQueue('br_sweep', 'ok', 'частота найдена');
		addToOperationsQueue('br_learn', 'error', 'Ошибка поиска частоты');
У меня работает и так, и так.

С более частыми запросами $rm->Sweep_freq_result(), пакет с частотой не приходит.
Ответить