Форум » » Sony MCX-500 » Ответить

Sony MCX-500

sytyj: Добрый вечер, уважаемые форумчане! Очень прошу, направьте в здоровое русло)) Голову сломал... Я не прошу готового решения, просто направление (люблю сам ковыряться). Есть вышеназванная железка, добыл протокол, не могу правильно сформировать команду Работаю с ней по 80-му порту, ответ получает. Вопрос как правильно сформировать посыл. Нужно задействовать всего одну кнопку из Crestrона - запуск/остановка стрима. Может кто уже решал эту задачу. Имеется пример файл html, в нем вызов скрипта. Скрипты лежат рядом. Пример отрабатывает посыл команды, на железяке индикаторы меняются. Wiresharkom Попытался поймать запрос, не добавило понимания. В принципе, понимаю, что можно положить скрипты в контроллер скрипты и выполнять вызов из командной строки в виде POST /скрипт?что-то... дальше тупик. Куда их нужно закинуть? или можно без них? Простите за беспорядок мысли))

Ответов - 14

Admin: Выложите протокол, пожалуйста.

sytyj: Выдаю)) click here

sytyj: все сложно? )) я уж грешным делом подумал, что я безнадежен)


Вячеслав: Даже немцы понятнее пишут описания к своим протоколам )) Ни примеров, ни структуры команд ни портов. Видимо надо от Wireshark всё же отталкиваться и искать похожие слова в приложенном API. Для начала часть авторизации понять (BASIC или DIGEST) и пройти. Не слышал что можно js скрипты с крестрона запускать. Всё придется делать на более низком уровне.

sytyj: Вячеслав, спасибо за ответ)) А то уже руки опустились. Дааа... что уж говорить. С Wiresharkом как-то у меня не очень сложилось, да и все это уже на объекте стоит, а там такие вещи политикой запрещены. Только до проца добраться могу удаленно. А на более низком это в модуль переписывать логику js внедрять? И как назло, в этом примере не прописана та единственная функция, которая мне нужна - запуск трансляции с выбором профиля. В общем, засада какая-то( У меня тупик Вот, элементарно, понять бы как функция считывания состояния кнопок работает... а она работает.

Вячеслав: На более низком - имелось ввиду, что придется свои функции писать на s+ или s#, а не использовать описанные в скриптах. А на самом микшере нет WEB морды? Или софт родной. С них и надо попробовать перехватом что то получить. Но если доступа нет, то вариантов таких нет.

sytyj: web-морда есть. Я потому и говорю, что скрипт работает)) Открыл рядышком родную и скриптовую, жму в одной, в другой смотрю. А вот софта нет(( Ну, ладно, Вячеслав, не буду мучить... Я думал, что у кого-то был опыт работы с такой сонькой. Вариант: кнопка на панели, у оператора красная лампа в глаз бьет, а оператор врубает стрим Спасибо за поддержку

sytyj: Удалось раздобыть логи 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, вроде то, что нужно

sytyj: В общем, отправляю строку через обычный 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 и вываливает полный код страницы, реакции в веб-интерфейсе не наблюдается.

sytyj: Сквозь терни... Я понял, что простой выдачей GET не пройти дальше)) Судя по всему, используется websocket, а это однозначно написание модуля. Изучаю данный вопрос, накачав моделей с маркет и git-хаба. Простите за оффтоп: Подскажите, как сюда картинку вставить и куда лучше загрузить?

Вячеслав: Картинки вставляются через .ОПУ. Сначала картинка с компьютера, потом закачав на сервер, кликаете по ней и копируете url адрес, а потом вставляете этот url уже через кнопку КАРТИНКА ИЗ ИНТЕРНЕТА (другого способа не знаю) WEBSOCKET (гиблое это дело) Если уж отправляете данные {....}, то нужно еще и поле Content-Length использовать. Вообще странно, что не ругнулся на авторизацию при запросе с crestron.

sytyj: Спасибо! Я так и понял про websocket... все нутро сопротивляется)) Если уж отправляете данные {....}, то нужно еще и поле Content-Length использовать. Вообще странно, что не ругнулся на авторизацию при запросе с crestron. Про Content-Length он мне четко дал понять, когда я запрос через POST отправлял) Система просто не видит все что после \n\n?

sytyj: Вячеслав, правильно ли я допер, что мне надо сделать: 1. Переработать js, который имеется в протоколе и перевести его в C#Pro в VisalBasic 2. Закинуть эту библиотеку в контроллер 3. Подключить эту библиотеку в программе SIMPL+ ну и дальше, по ходу, пользовать ее?

Вячеслав: Нет, я такого не писал. ) C#Pro в VisalBasic это точно не в ту сторону. В логе Wireshark я и сам честно ничего не увидел над чем можно было бы подумать. Есть страшное для меня Websocket в абсолютно не читаемом hex виде из которого ничего понять нельзя. Есть тема про Websocket и LG на этом форуме, но она меня удручает полностью, тем более там разговор ведется с вполне читаемыми примерами сообщений, которых в данном случае в логе нет. Может там народ декодировал сообщения шифрованные в ssl хз. Но сочетание шифрования с использованием сертификатов +simpl# + websocket на данном этапе для меня похоже на кошмарный сон про crestron.



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