Автор | Сообщение |
|
Отправлено: 08.04.20 19:29. Заголовок: Sony MCX-500
Добрый вечер, уважаемые форумчане! Очень прошу, направьте в здоровое русло)) Голову сломал... Я не прошу готового решения, просто направление (люблю сам ковыряться). Есть вышеназванная железка, добыл протокол, не могу правильно сформировать команду Работаю с ней по 80-му порту, ответ получает. Вопрос как правильно сформировать посыл. Нужно задействовать всего одну кнопку из Crestrона - запуск/остановка стрима. Может кто уже решал эту задачу. Имеется пример файл html, в нем вызов скрипта. Скрипты лежат рядом. Пример отрабатывает посыл команды, на железяке индикаторы меняются. Wiresharkom Попытался поймать запрос, не добавило понимания. В принципе, понимаю, что можно положить скрипты в контроллер скрипты и выполнять вызов из командной строки в виде POST /скрипт?что-то... дальше тупик. Куда их нужно закинуть? или можно без них? Простите за беспорядок мысли))
|
|
|
Ответов - 14
[только новые]
|
|
|
| администратор
|
|
|
Отправлено: 08.04.20 19:56. Заголовок: Выложите протокол, п..
Выложите протокол, пожалуйста.
|
|
|
|
Отправлено: 08.04.20 22:11. Заголовок: Выдаю)) click here..
|
|
|
|
Отправлено: 10.04.20 10:56. Заголовок: все сложно? ))..
все сложно? )) я уж грешным делом подумал, что я безнадежен)
|
|
|
|
Отправлено: 14.04.20 17:26. Заголовок: Даже немцы понятнее ..
Даже немцы понятнее пишут описания к своим протоколам )) Ни примеров, ни структуры команд ни портов. Видимо надо от Wireshark всё же отталкиваться и искать похожие слова в приложенном API. Для начала часть авторизации понять (BASIC или DIGEST) и пройти. Не слышал что можно js скрипты с крестрона запускать. Всё придется делать на более низком уровне.
|
|
|
|
Отправлено: 14.04.20 18:37. Заголовок: Вячеслав, спасибо за..
Вячеслав, спасибо за ответ)) А то уже руки опустились. Дааа... что уж говорить. С Wiresharkом как-то у меня не очень сложилось, да и все это уже на объекте стоит, а там такие вещи политикой запрещены. Только до проца добраться могу удаленно. А на более низком это в модуль переписывать логику js внедрять? И как назло, в этом примере не прописана та единственная функция, которая мне нужна - запуск трансляции с выбором профиля. В общем, засада какая-то( У меня тупик Вот, элементарно, понять бы как функция считывания состояния кнопок работает... а она работает.
|
|
|
|
Отправлено: 14.04.20 19:12. Заголовок: На более низком - им..
На более низком - имелось ввиду, что придется свои функции писать на s+ или s#, а не использовать описанные в скриптах. А на самом микшере нет WEB морды? Или софт родной. С них и надо попробовать перехватом что то получить. Но если доступа нет, то вариантов таких нет.
|
|
|
|
Отправлено: 15.04.20 09:17. Заголовок: web-морда есть. Я по..
web-морда есть. Я потому и говорю, что скрипт работает)) Открыл рядышком родную и скриптовую, жму в одной, в другой смотрю. А вот софта нет(( Ну, ладно, Вячеслав, не буду мучить... Я думал, что у кого-то был опыт работы с такой сонькой. Вариант: кнопка на панели, у оператора красная лампа в глаз бьет, а оператор врубает стрим Спасибо за поддержку
|
|
|
|
Отправлено: 17.04.20 16:24. Заголовок: Удалось раздобыть ло..
Удалось раздобыть логи wirwsharka. Один при работе через стандартный web-интерфейс, второй работа скрипта. Если интересно поковыряться https://cloud.mail.ru/public/3Aww/5PESFyMXz IP устройства 192.168.21.17 Первый раз это делаю. Вижу, что обычные GETы вытаскивают только картинки, дальше беда. Не пойму, как команды отрабатывают. Выполнил авторизацию и нажал кнопку записи. Видно, что команды, прописанные в протоколе отрабатывают, но формат строки остается для меня загадкой. знакомые буквы из описания протокола MENU_DISPª0x02060200ª0x00010001ª0x00010004ª0x00011001ª0x00011002ª0x00010102½rtmp://91.209.69.215:1935/zzp это нажатие на кнопку STREAM, вроде то, что нужно
|
|
|
|
Отправлено: 18.04.20 12:22. Заголовок: В общем, отправляю с..
В общем, отправляю строку через обычный Serial IO, чистый SIMPL. На мой посыл GET / HTTP/1.1\nHost: 192.168.21.17\n\n Скрытый текст Ответ: 485 ms HTTP/1.1 200 OK\x0D\x0AX-Frame-Options: DENY\x0D\x0AContent-Type: text/html; charset=utf-8\x0D\x0AAccept-Ranges: bytes\x0D\x0AETag: "292859627"\x0D\x0ALast-Modified: Thu, 06 Sep 2018 17:37:46 GMT\x0D\x0AContent-Length: 26928\x0D\x0ADate: Sun, 04 Jan 197(...)" STREAM_rx$
| по крайней мере, далеко не послал)) Так не работает, но это и понятно (на форуме уже обсуждалось) GET / HTTP/1.1\nHost: 192.168.21.17\n{method:'STREAMING_STATUS',params:'0x00000103'}\n\n выдает ответ: Скрытый текст Ответ: 63 ms HTTP/1.1 400 Bad Request\x0D\x0AContent-Type: text/html\x0D\x0AContent-Length: 349\x0D\x0AConnection: close\x0D\x0ADate: Sun, 04 Jan 1970 11:18:13 GMT\x0D\x0AServer: lighttpd/1.4.35-devel-lighttpd-1.4.35\x0D\x0A\x0D\x0A<?xml version="1.0" encoding="iso-(...)" STREAM_rx$
| Дальше на все мои посылы вида (в фигурных скобках различные варианты пробовал) GET / HTTP/1.0\nHost: 192.168.21.17\n\n{POLLING} GET / HTTP/1.1\nHost: 192.168.21.17\n\n{method:'STREAMING_STATUS',params:'0x00000103'} и.т.д. HTTP/1.1 200 OK и вываливает полный код страницы, реакции в веб-интерфейсе не наблюдается.
|
|
|
|
Отправлено: 18.04.20 17:51. Заголовок: Сквозь терни... Я по..
Сквозь терни... Я понял, что простой выдачей GET не пройти дальше)) Судя по всему, используется websocket, а это однозначно написание модуля. Изучаю данный вопрос, накачав моделей с маркет и git-хаба. Простите за оффтоп: Подскажите, как сюда картинку вставить и куда лучше загрузить?
|
|
|
|
Отправлено: 19.04.20 16:22. Заголовок: Картинки вставляются..
Картинки вставляются через .ОПУ. Сначала картинка с компьютера, потом закачав на сервер, кликаете по ней и копируете url адрес, а потом вставляете этот url уже через кнопку КАРТИНКА ИЗ ИНТЕРНЕТА (другого способа не знаю) WEBSOCKET (гиблое это дело) Если уж отправляете данные {....}, то нужно еще и поле Content-Length использовать. Вообще странно, что не ругнулся на авторизацию при запросе с crestron.
|
|
|
|
|
Отправлено: 19.04.20 18:04. Заголовок: Спасибо! Я так и пон..
Спасибо! Я так и понял про websocket... все нутро сопротивляется)) цитата: | Если уж отправляете данные {....}, то нужно еще и поле Content-Length использовать. Вообще странно, что не ругнулся на авторизацию при запросе с crestron. |
| Про Content-Length он мне четко дал понять, когда я запрос через POST отправлял) Система просто не видит все что после \n\n?
|
|
|
|
Отправлено: 03.05.20 00:51. Заголовок: Вячеслав, правильно ..
Вячеслав, правильно ли я допер, что мне надо сделать: 1. Переработать js, который имеется в протоколе и перевести его в C#Pro в VisalBasic 2. Закинуть эту библиотеку в контроллер 3. Подключить эту библиотеку в программе SIMPL+ ну и дальше, по ходу, пользовать ее?
|
|
|
|
Отправлено: 03.05.20 13:56. Заголовок: Нет, я такого не пис..
Нет, я такого не писал. ) C#Pro в VisalBasic это точно не в ту сторону. В логе Wireshark я и сам честно ничего не увидел над чем можно было бы подумать. Есть страшное для меня Websocket в абсолютно не читаемом hex виде из которого ничего понять нельзя. Есть тема про Websocket и LG на этом форуме, но она меня удручает полностью, тем более там разговор ведется с вполне читаемыми примерами сообщений, которых в данном случае в логе нет. Может там народ декодировал сообщения шифрованные в ssl хз. Но сочетание шифрования с использованием сертификатов +simpl# + websocket на данном этапе для меня похоже на кошмарный сон про crestron.
|
|
|
|