В тази статия
Пример
Използване на външни устройства за въвеждане USB с Board, Desk и Room Series
list-menuВ тази статия
list-menuОбратна връзка?

Можете да използвате периферно устройство на трета страна USB, за да управлявате определени функции на устройството си, като клавиатура USB или дистанционно Bluetooth® с USB донгъл.

Тази функция е предназначена да допълни функционалностите на сензорния контролер или потребителския интерфейс с тъч. Тя не е предназначена да ги замени .

Примери за приложения:

  • В класните стаи и по време на лекции може да се използва малко дистанционно управление, за да се събуди устройство от режим на готовност. Може също да е удобно да използвате дистанционно управление, за да изберете кой входен източник да се представи.

  • Управление на изглед от камерата (панорамиране, накланяне и увеличение) в ситуации, в които не е позволено да използвате тъч контролера. Например, в операционни в болница.

Функционален преглед

Когато бутон се натисне на входното устройство USB, това задейства действие в Cisco устройството API. Макроси или външни контролни устройства от трети страни могат да бъдат настроени, за да откриват тези действия и да реагират съответно. Тази функционалност е подобна на начина, по който се държат бутоните In-Room Control. Освен това е възможно да се наблюдават тези действия чрез webhooks или директно в SSH сесия.

Не е предоставена предварително съществуваща библиотека с действия за избор. Трябва да дефинирате и установите конкретните действия, които трябва да се извършват в отговор на събитията. Например:

  • Увеличете звука на устройството Cisco при натискане на бутона Volume Up.

  • PUT устройството Cisco в режим на готовност, когато се натисне клавишът Sleep.

Конфигурации, събития и статус

Конфигурациите и статусите, споменати в тази статия, са достъпни както от локалния уеб интерфейс на устройството, така и от API-тата. Прочетете статията "Конфигурации на устройства" за информация как да достъпите уеб интерфейса и да използвате API.

Когато уеб интерфейсът на устройството се отвори, кликнете върху Настройки . В раздел Конфигурации променете режима Peripherals > InputDevice на On . Поддръжката на външни устройства USB е деактивирана по подразбиране.

Натискането и освобождаването на бутон генерира събитие Натиснато и Освободено :

 *e Потребителски интерфейс ВходКлюч за действие на устройството: <име на ключа> *e Потребителски интерфейс Вход Устройство Код на действие на клавиша: <ID на клавиша> *e Потребителски интерфейс Вход Устройство Тип действие Клавиш: Натиснат ** край *e Потребителски интерфейс Вход Ключ за устройство Клавиш за действие: <име на ключа> *e Потребителски интерфейс Вход Устройство Код на действие на клавиш: <ID на ключа> *e Потребителски интерфейс Вход Устройство Тип действие на клавиш: Пуснат ** край 

За да слушате събитията, трябва да регистрирате обратна връзка от събитията в InputDevice :

 xОбратна връзка Регистър /събитие/Потребителски интерфейс/Входно устройство ** край 

Когато устройството Cisco засече периферното устройство на трета страна, то ще бъде посочено под Статус и в Периферни устройства> СвързаниУстройство . Устройството на трета страна може да бъде докладвано като множество устройства.

Допълнителна информация

Намерете повече информация за използването на входно устройство от трета страна в ръководството за персонализация. Изберете най-новата версия.

Cisco поддръжка (TAC) не поддържа дебъгване на код на трети страни, включително макроси. Моля, проверете Cisco RoomOS за устройства за сътрудничество, ако имате нужда от помощ с макроси и код на трети страни. Вижте тази страница за още примери за макроси и разширения.

Пример

В този пример искаме да ви покажем как да използвате клавишите на входно устройство на трета страна USB (в случая дистанционно управление), за да управлявате определени функции на устройство Cisco.

Показваме ви как да използвате бутоните на дистанционно управление Bluetooth (свързано чрез USB донгъл) за управление на функции като режим на готовност, регулиране на звука и управление на камера Cisco. Можете да разработите макрос, който слуша съответните събития и изпълнява съответните действия чрез API на устройството Cisco.

В следващия пример трябва да въведете текста, написан с нормален шрифт. Текстът, написан в курсив, е отговорът, получен от устройството Cisco.

1

Влезте в устройството Cisco на SSH. Трябва ти локален администратор .

2

Конфигурирайте устройството така, че да позволява използването на дистанционно управление USB на трета страна.

 xConfiguration Peripherals InputDevice Mode: On ** end OK  

Можете да проверите дали конфигурацията е включена или изключена, като използвате тази команда:

 xКонфигурация Периферни устройства ВходУстройство Режим  *c xКонфигурация Периферни устройства ВходРежим на устройството: На ** край OK  
3

Регистрирайте се за обратна връзка, за да бъдем уведомени, когато бутоните за дистанционно управление бъдат натиснати и освободени.

 xFeedback Register /event/userinterface/inputdevice  ** край OK  

Можете да проверите за кои обратни връзки устройството е регистрирано чрез тази команда:

 xСписък /събития/потребителски интерфейс/входно устройство ** край ОК  
4

Натиснете и пуснете бутон на дистанционното, за да проверите дали регистрацията за обратна връзка работи.

Това действие генерира две събития: Пресовано и Пуснато. Ако натиснете и задържите бутон, виждате събитието Pressed , докато не го пуснете. След това се генерира събитието Released .

Тези събития се изпълняват при натискане и освобождаване на клавиша Enter:

  *e Потребителски интерфейс Вход Ключ за устройство Клавиш за действие: KEY_ENTER *e Потребителски интерфейс Вход Код за действие на ключ на устройство: 28 *e Вход за потребителски интерфейс Клавиш на устройството Тип действие на устройство: Натиснат ** край * e Потребителски интерфейс Вход Ключ за устройство Действие Клавиш: KEY_ENTER *e Потребителски интерфейс Вход Устройство Код на действие: 28 *e Потребителски интерфейс Вход Устройство Тип действие на устройство: Освободен ** край  
5

Напишете макрос, който слуша съответните събития на InputDevice и изпълнява съответните действия, използвайки API на устройството.

  • Активирайте бутоните за готовност, увеличаване на звука и намаляване на звука. Когато макросът види събитие, съдържащо KEY_VOLUMEUP, KEY_VOLUMEDOWN или KEY_SLEEP, той изпълнява съответните команди.

  • Създайте функция за контрол на камерата за стрелките. Искаме да движим камерата, докато бутонът е натиснат. Когато бутонът се освободи, движението на камерата спира. Когато макросът види събитие, съдържащо KEY_LEFT, KEY_RIGHT, KEY_UP или KEY_DOWN, той изпълнява съответните команди.

 const xapi = require('xapi'); function com(command, args='') { xapi.command(command, args); log(command + ' ' + JSON.stringify(args)); } function log(event) { console.log(event); } function notify(message) { xapi.command('UserInterface Message TextLine Display', { Text: message, duration: 3 }); } функция cameraControl(мотор, посока, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [motor]: direction }); } function init() { let standbyState; xapi.status.get('Standby').then((състояние) => {standbyState = състояние. Състояние === 'Изключено'? невярно: вярно; }); xapi.status.on('Standby', състояние => { standbyState = състояние. Състояние === 'Изключено'? невярно: вярно; }); xapi.event.on('UserInterface InputDevice Key Action', натиснете => { if (press. Type == "Pressed") { switch (press. Key) { case "KEY_LEFT": cameraControl('Pan', 'Left'); break; case "KEY_RIGHT": cameraControl('Pan', 'Right'); break; case "KEY_UP": cameraControl('Tilt', 'Up'); break; case "KEY_DOWN": cameraControl('Tilt', 'Down'); break; default: break; } } Иначе ако (натиснете. Тип == "Освободено") { превключвател (натисни. Key) { case "KEY_LEFT": cameraControl('Pan', 'Stop'); break; case "KEY_RIGHT": cameraControl('Pan', 'Stop'); break; case "KEY_UP": cameraControl('Tilt', 'Stop'); break; case "KEY_DOWN": cameraControl('Tilt', 'Stop'); break; case 'KEY_VOLUMEUP': com('Увеличаване на звука на звука'); break; case 'KEY_VOLUMEDOWN': com('Намаляване на звука'); break; case 'KEY_SLEEP': com(standbyСъстояние? 'Деактивирай в готовността' : 'Активирай в готовността'); прекъсване; по подразбиране: прекъсване; } } }); } init(); 
Беше ли полезна тази статия?
Беше ли полезна тази статия?