Подключение BroadLink без RM-brige и BroadlinkHTTPBrige
Добавлено: Чт окт 27, 2016 12:46 pm
Можно управлять устройствами через BroadLink, не используя дополнительно устройство на Android в качестве моста (модули BroadlinkHTTPBrige и RM-brige).
Не всегда удобно, что оно должно постоянно работать.
Нужно просто перехватить UDP пакеты от программы e-Control на IP-адрес BroadLinka.
1. Установить на Android программу e-Control https://play.google.com/store/apps/deta ... .rmt&hl=ru
2. Создать нужные пульты или отдельные нужные кнопки через приложение e-Control
3. Установить на Android программу Packet Capture https://play.google.com/store/apps/deta ... sslcapture
4. Запустить Packet Capture
5. Запустить e-Control и воспроизвести нужную команду
6. Остановить Packet Capture, и открыть список перехваченных пакетов
7. Найти пакет приложения unknown, с IP-адресом BroadLinka, портом 80 и типом UDP
8. Открыть пакет, переключиться в HEX, убедиться что upstream (<---) начинается с 5a a5 aa 55 5a a5 aa 55
9. Сохранить только upstream (<---)
10. Полученный файл вместе с программой BroadlinkCommand поместить в папку \htdocs
11. И теперь можно создать сценарий с командой exec("start BroadlinkCommand имя_файла_пакета");
Работает отлично. Проверено на RM 3 Mini, RM2-Pro.
__________________________________________________________________________________
А вот таким способом почему-то получается только 1 раз подряд отправить одну и ту же команду.
Если команды чередовать, то все нормально.
$ip = 'udp://192.168.1.60:80';
if($socket = stream_socket_client($ip, $errno, $errormsg)){
$data = file_get_contents($file_name);
fputs($socket, $data);
fclose($socket);
}
На авторство не претендую. Просто хочется чтобы вся информация по теме была в одном месте.
*** Сообщение запрещено. Сообщение похоже на спам. ***
Не всегда удобно, что оно должно постоянно работать.
Нужно просто перехватить UDP пакеты от программы e-Control на IP-адрес BroadLinka.
1. Установить на Android программу e-Control https://play.google.com/store/apps/deta ... .rmt&hl=ru
2. Создать нужные пульты или отдельные нужные кнопки через приложение e-Control
3. Установить на Android программу Packet Capture https://play.google.com/store/apps/deta ... sslcapture
4. Запустить Packet Capture
5. Запустить e-Control и воспроизвести нужную команду
6. Остановить Packet Capture, и открыть список перехваченных пакетов
7. Найти пакет приложения unknown, с IP-адресом BroadLinka, портом 80 и типом UDP
8. Открыть пакет, переключиться в HEX, убедиться что upstream (<---) начинается с 5a a5 aa 55 5a a5 aa 55
9. Сохранить только upstream (<---)
10. Полученный файл вместе с программой BroadlinkCommand поместить в папку \htdocs
11. И теперь можно создать сценарий с командой exec("start BroadlinkCommand имя_файла_пакета");
Работает отлично. Проверено на RM 3 Mini, RM2-Pro.
__________________________________________________________________________________
А вот таким способом почему-то получается только 1 раз подряд отправить одну и ту же команду.
Если команды чередовать, то все нормально.
$ip = 'udp://192.168.1.60:80';
if($socket = stream_socket_client($ip, $errno, $errormsg)){
$data = file_get_contents($file_name);
fputs($socket, $data);
fclose($socket);
}
На авторство не претендую. Просто хочется чтобы вся информация по теме была в одном месте.
*** Сообщение запрещено. Сообщение похоже на спам. ***