Форум » » Televic D-Cerno CUR » Ответить

Televic D-Cerno CUR

vtsay: Всем доброе утро. Реализовываю наведение камеры на активный пульт. Контроллер D-Cerno CUR может только отправлять фидбеки по UDP. Послать на контроллер команды для получения информации об активных пультах, очереди и т. д. нельзя. В настройках количество пультов 2. Активация пульта 1: {"serial":"102046ba","status":1,"totalMicOn":1,"totalMicReq":0} Активация пульта 2: {"serial":"102045dd","status":1,"totalMicOn":2,"totalMicReq":0} Активация пульта 3: {"serial":"1020469b","status":2,"totalMicOn":2,"totalMicReq":1} При включении пульта 3 видим, что он попал в список Request. Если, допустим, выключить пульт 1, то наблюдается следующая картина: Выключение пульта 1: {"serial":"102046ba","status":0,"totalMicOn":1,"totalMicReq":1} {"serial":"1020469b","status":0,"totalMicOn":1,"totalMicReq":0} {"serial":"1020469b","status":1,"totalMicOn":2,"totalMicReq":0} Сначала пульт 1 удаляется из списка активных пультов, затем пульт из списка Request удаляется из своего списка, и, наконец, этот пульт активируется и попадает в список активных пультов. Первые 2 посылки дают нам информацию для изменения списков пультов. Информацию о последнем активном пульте содержится в последней посылке. После этого должна формироваться команда на срабатывание нужного пресета. Как это сделать? Эти 3 посылки укладываются в очень короткий временной промежуток. Думаю задействовать функцию GETHSECONDS(). При простом выключении пульта (очереди нет) с телевика приходит одна команда. На основании разницы во времени между предыдущим событием можно отследить это действие и активировать пресет на предыдущий пульт. В случае, когда приходит последовательность посылок пока не знаю как обработать. Есть идеи?

Ответов - 45, стр: 1 2 3 All

PG: Вячеслав, тоже частенько добрым словом поминаю протокол управления последних DIS. Недавно имел радость управлять Confidea WCAP G3 (без центрального блока управления) - вот ведь фантазия у их программистов... Система управляется по http (и только на эту часть есть мануал), фидбэки об изменениях статусов микрофонов шлет через отдельное соединение по udp, а если нужны фидбэки по настройкам системы или, к примеру, первоначальный статус микрофоном опросить, то это снова http, но непременно тоже отдельным от управления соединением.

vtsay: Farikar пишет: Варианты управления: протокол - UDP, порт - назначается в самом устройстве. Функционал - только отлавливать статусы с микрофонов. протокол TCP порт 5011. Функционал полный, согласно мануалу https://yadi.sk/i/XoVzeTu93ZGtyP. За исключением команд hlp и dis ('это то что я нашел как не работающие и производитель подтвердил) На текущий момент dis работает: \x0202:dis0000029O00000C00000000000000:{"id":"01","inf":"System shutting down","svr":0}\x03. На всякий случай версия протокола D-Cerno 1.5 https://disk.yandex.ru/i/jtmQg9dLqOjBmQ.

vtsay: Farikar пишет: Варианты управления: протокол - UDP, порт - назначается в самом устройстве. Функционал - только отлавливать статусы с микрофонов. протокол TCP порт 5011. Функционал полный, согласно мануалу https://yadi.sk/i/XoVzeTu93ZGtyP. За исключением команд hlp и dis ('это то что я нашел как не работающие и производитель подтвердил) На текущий момент dis работает: \x0202:dis0000029O00000C00000000000000:{"id":"01","inf":"System shutting down","svr":0}\x03. На всякий случай версия протокола D-Cerno 1.5 https://disk.yandex.ru/i/jtmQg9dLqOjBmQ.


Courag1k: А как включить этот протокол по TCP по порту 5011? Ломился на него, не подключалось. Прошивка какая-то особенная? Пробовал на последней с офф сайта

vtsay: Просто открываете соединение на порту 5011. Для установки связи нужно отправить команду '\x0202:con0000020O00000C00000000000000:{"typ":"Application","nam":"DU","ver":"1.01","inf":"0","svr":0,"tim":""}\x03'. connect_command = '\x0202:con0000020O00000C00000000000000:{"typ":"Application","nam":"DU","ver":"1.01","inf":"0","svr":0,"tim":""}\x03' disconnect_command = '\x0202:dis0000020O00000C00000000000000:{"id":"01","inf":"System shutting down","svr":0}\x03' get_command = '\x0202:get0000020O00000C00000000000000:{"nam":"gunits"}\x03' get_mic_status = '\x0202:get0000020O00000C00000000000000:{"nam":"gmicstat","uid":"15104121"}\x03' lifecheck = '\x0202:lfc0000020O00000C00000000000000:\x03' Включение микрофона - '\x0202:set0000029O00000C00000000000000:{"nam":"smicstat","uid":"' + str(list_Mics[num]) + '","stat":"1"}\x03' Выключение микрофона - '\x0202:set0000029O00000C00000000000000:{"nam":"smicstat","uid":"' + str(list_Mics[num]) + '","stat":"0"}\x03' list_Mics[num] - это список микрофонов. Выдрал из Скриптера



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