Автор | Сообщение |
|
Отправлено: 24.11.16 22:45. Заголовок: Уважаемые Форумчане, помогите с TCP/IP client
Всех приветствую! Я новичок в программировании. Поэтому сильно не пинайте. Есть задача, которую в данный момент решаю. Есть Kramer VP-729 который по Telnet команды принимает только с компьютера. Также есть Cypress CMSI-8D8DS который также по Telnet принимает команды только с компьютера. В программе сделал следующее: Добавил на порты контроллера CP3, интерфейсы TCP IP/Client двух устройств, Kramer и Cypress. Прописал им адреса и создал сигнал TX$ на входе TCP IP/Client. Скомпилировал и отправил программу. Через Simpl Debugger на сигнал TX$ хотел подать команду p0 которая говорит выключить коммутатор. И соответственно ничего не происходит. С telnet с компьютера все превосходно отправляется. Прошу Вас помогите что не так делаю. Может модуль какой то нужно сделать. Дело в том что я новичок а делать нужно по работе. Прошел первый курс обучения, но такого там не было. Приходится самому разбираться. Это только часть. Того что нужно сделать. Прошу помогите пожалуйста. Может примеры есть у Вас. Желательно без SIMPL+, потому как его я незнаю.
|
|
|
Ответов - 18
[только новые]
|
|
|
| постоянный участник
|
|
|
Отправлено: 24.11.16 22:59. Заголовок: Kelor, у вас, вероят..
Kelor, у вас, вероятнее всего нет символов окончания строки. При управлении с ПК (сеанс Telnet) вы видите только собственно команду, а эти символы перевода строки добавляются при нажатии Enter. Полностью строка, в итоге, будет условно выглядеть так: <command><перевод строки> В вашем случае нужно подавать и команду и перевод строки, т.к. у Crestron нет кнопки Enter. Вот так: p0\x0D\x0A Есть еще вариант: p0\x0D Надеюсь, это поможет решить текущую и предстоящие головоломки.
|
|
|
|
Отправлено: 24.11.16 23:21. Заголовок: Спасибо Игорь Вам. Б..
Спасибо Игорь Вам. Буду пробовать завтра. Я кстати пробовал подавать команды на Biamp без ихнего модуля через Дебаггер. У меня также ничего не вышло. Пример команды в телнете вводил Device RecallPresetid 1001. C компьютера получалось отправить команду. А вот с крестрона нет. В дебагере я вводил Device\x20RecallPresetid\x201001\x0d\x0a и ничего не выходило. также пробовал Device RecallPresetid 1001\x0d\x0a и Device RecallPresetid 1001\x0a. И только когда я взял модуль ихний biamp Tesira у меня что-то получилось отправить. Ведь я так понимаю в дебагере можно отправлять команды напрямую в устройство. Верно?
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 24.11.16 23:24. Заголовок: Рабочая команда вызо..
Да, можно напрямую отправлять команды. Рабочая команда вызова пресета 1001 для старых аудиопроцессоров Biamp (Audia, Nexia) при управлении по LAN: RECALL 0 PRESET 1001\n \n - сокращенная форма перевода строки \x0D\x0A \x20 в качестве пробела вводить не обязательно, захламляет.
|
|
|
|
Отправлено: 24.11.16 23:38. Заголовок: Так вот Игорь понима..
Так вот Игорь понимаете в Biamp Tesira не получалось отправить без ихнего модуля. Я тут встретил на форуме как Вы помогали человеку с JVC и говорили про Heartbeat с каким то интервалом например 5 секунд. Как это осуществляется на символе Serial i/O ? Вот тут не могло быть тоже самое. Потому что взяв готовый модуль. Пресеты работали. А напрямую команды не воспринимал. Часть ихнего модуля на SIMPL+ написана. Что я не понимаю. А настраивать мне придется и lifesize и Bosch и Epiphan. А у меня даже не получается справиться с этими устройствами. Завтра попробую. Создам новый проект, создам TCP IP/Client пропишу адрес и создам сигнал TX$. Если получится отправить из дебагера команды, значит дело сдвинется.
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 24.11.16 23:41. Заголовок: У Tesira для запуска..
У Tesira для запуска обмена данными необходимо отправить целый массив данных, это делает тот самый модуль. Это отдельная история. Heartbeat тут ни при чем.
|
|
|
|
Отправлено: 25.11.16 00:08. Заголовок: А из Telnet почему т..
А из Telnet почему тогда работает простой командой. Или это при помощи Wireshark смотреть нужно?
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 25.11.16 01:45. Заголовок: О работе с Telnet по..
О работе с Telnet пояснял выше. Wireshark не понадобится, протоколы обмена, в нашем случае, Kramer & Biamp хорошо документированы.
|
|
|
|
Отправлено: 25.11.16 21:30. Заголовок: Игорь, Добрый Вам ве..
Игорь, Добрый Вам вечер! Сегодня был на объекте, и смог наладить управление Kramer и другими устройствами. Спасибо за подсказку. Подскажите пожалуйста: Epiphan управляется через HTTP. Правильно ли я понимаю, что в SIMPL нужно создать TCP IP/ Client с портом 80. И отправлять также команды через Serial I/O ? Или же тут что-то другое нужно использовать?
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 25.11.16 21:34. Заголовок: Эта канадская штука ..
Эта канадская штука Epiphan управляется через RS232. Через переходник USB-Serial.
|
|
|
|
Отправлено: 25.11.16 21:40. Заголовок: А в документации гов..
А в документации говорят что можно и по HTTP отправлять команды. Был ли у Вас опыт управления Epiphan vgadvi-recorder.
|
|
|
|
Отправлено: 25.11.16 21:42. Заголовок: Вот такого вида можн..
|
|
|
|
|
Отправлено: 25.11.16 21:49. Заголовок: Подсмотрел на форуме..
Подсмотрел на форуме, как Вы уже говорили про авторизацию по HTTP. В LifeSize Room 220I я сегодня уже делал авторизацию правда по телнету. Приходил логин, отдавал логин, приходил пароль, пароль отдавал. И дальше авторизация пройдена. И ждет команд. А в Epiphan что-то вроде этого же нужно сделать ? Просто порт я так понимаю указать нужно 80. Верно?
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 25.11.16 22:19. Заголовок: Управляйте как получ..
Управляйте как получается, как удобно именно вам.
|
|
|
|
Отправлено: 26.11.16 01:45. Заголовок: Kelor пишет: wget -..
Kelor пишет: Это команда работает только из приложения wget и ничего общего с реальным видом команды не имеет. Посмотрите потом на неё в WireShark и почувствуйте разницу. Управление по http это гораздо более сложный вариант чем управление по 232 и требует достаточного опыта основанного на чужих реализациях такого типа управления. Если есть проблемы с пониманием делиметра, то http управление лучше пока отложить. Тем более есть вероятность что serial i/o с этой задачей не справится (например из за session id и т.п.) или справится достаточно топорно (т.е. любой новый параметр команды потребует создание уникальной последовательности сграбленной с Wireshark вместе с шифрованием и расчетом длины) Вот telnet это сетевой аналог 232 и если есть такая возможность управления, то лучше использовать её.
|
|
|
|
Отправлено: 26.11.16 14:16. Заголовок: Вы определились что ..
Вы определились что вам надо от Epiphan в конечном итоге? Только управление set_params.cgi или ещё и текущие параметры/состяния get_params.cgi? Если второе, то лучше сразу забудьте идею HTTP и смотрите в сторону RS232. даже если вы разберётесь с GET /admin/channel<N>/(set/get)_params.cgi?key=value и решите вопрос с Authorization ещё и без SIMPL+, у вас получится чтото очень запутанное и огромное.
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 26.11.16 14:18. Заголовок: Если нет времени зан..
Если нет времени заниматься, могу выложить свой отлаженный модуль. Управляет всеми режимами, следит за основными параметрами, остатком дискового пространства и тд.
|
|
|
|
Отправлено: 26.11.16 22:10. Заголовок: Вячеслав спасибо Вам..
Вячеслав спасибо Вам за ответ. Но отложить я не имею права. Это объект, который скоро необходимо будет сдавать. Можно конечно просто оставить кнопку красную позволяющую включить запись и выключить. А все остальное кто из эксплуатации будет, сам настроит из веб интерфейса. Игорь Вам отдельное спасибо. В понедельник постараюсь решить вопрос, что требуется от этого Epiphan.
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 28.11.16 12:39. Заголовок: Забирайте работоспос..
|
|
|
|