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

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

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

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

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

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

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

  • Увеличете силата на звука на устройството Cisco, когато се натисне клавишът за увеличаване на звука.

  • Поставете устройството Cisco в режим на готовност при натискане на клавиша за заспиване.

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

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

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

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

 *e UserInterface InputDevice Key Action Key: <име на ключа> *e UserInterface InputDevice Key Action Code: <id на ключа> *e UserInterface InputDevice Key Action Type: Натиснат ** end *e UserInterface InputDevice Key Action Key: <име на ключа> *e UserInterface InputDevice Key Action Code: <id на ключа> *e UserInterface InputDevice Key Action Type: Освободен ** край 

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

 xFeedback Register /event/UserInterface/InputDevice ** end 

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

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

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

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

Пример

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

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

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

1

влезте в устройството Cisco на SSH. Имате нужда от локален администратор .

2

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

 xConfiguration Периферни устройства InputDevice Mode: Вкл .** край OK  

 

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

 xConfiguration Периферни устройства InputDevice Mode  *c xConfiguration Периферни устройства InputDevice Mode: On ** end OK  
3

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

 xFeedback Регистрация /събитие/потребителски интерфейс/входно устройство  ** край OK  

 

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

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

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

Това действие генерира две събития: Натиснат и Освободен. Ако натиснете и задържите бутон, ще видите събитието Натиснат , докато не освободите бутона. След това се генерира събитието Освободени .

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

  *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Натиснат ** end *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Освободен ** край  
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 }); } function cameraControl(motor, direction, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [motor]: direction }); } function init() { let standbyState; xapi.status.get('Standby').then(state) => {standbyState = state. Състояние === 'Изключено' ? false: true; }); xapi.status.on('В режим на готовност', държава => { standbyState = състояние. Състояние === 'Изключено' ? false: true; }); xapi.event.on('Действие на клавиша UserInterface InputDevice', натиснете => { if (натиснете. Type == "Натиснат") { превключвател (натиснете. 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; } } else if (press. Type == "Освободен") { switch (натиснете. 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('Audio Volume Increase'); break; case 'KEY_VOLUMEDOWN': com('Audio Volume Reduction'); break; case 'KEY_SLEEP': com(standbyState? "Дезактивиране в режим на готовност": "Активиране в режим на готовност"); чупя; по подразбиране: прекъсване; } } }); } init();