У цій статті
Приклад
Використання сторонніх пристроїв введення USB з серіями Board, Desk і Room
list-menuУ цій статті
list-menuНадіслати відгук?

Ви можете використовувати сторонній периферійний пристрій USB для керування певними функціями на вашому пристрої, наприклад, клавіатурою USB або пультом Bluetooth® з донглом USB.

Ця функція має доповнювати функціональність сенсорного контролера або сенсорного інтерфейсу користувача. Вона не призначена для їх заміни .

Приклади застосувань:

  • У класах і під час лекцій невеликий пульт дистанційного керування можна використати, щоб розбудити пристрій з режиму очікування. Також може бути зручно використовувати пульт дистанційного керування для вибору, яке джерело введення подати.

  • Керування видом камери (панорамування, нахил і зум) у ситуаціях, коли не можна користуватися сенсорним контролером. Наприклад, у операційних лікарні.

Функціональний огляд

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

Попередня бібліотека дій для вибору не надається. Ви зобов'язані визначити та встановити конкретні дії, які мають відбутися у відповідь на ці події. Наприклад:

  • Збільшуйте гучність пристрою Cisco при натисканні клавіші Volume Up.

  • PUT пристрій Cisco у режимі очікування, коли натискається клавіша сну.

Конфігурації, події та статус

Конфігурації та статус, про які йдеться в цій статті, доступні як через локальний веб-інтерфейс пристрою, так і через API. Прочитайте статтю «Конфігурації пристроїв», щоб дізнатися, як отримати доступ до веб-інтерфейсу та використовувати API.

Коли відкрито веб-інтерфейс пристрою, натисніть на Налаштування . У розділі Конфігурації змініть режим Peripherals > InputDevice на On. Підтримка сторонніх пристроїв USB за замовчуванням вимкнена.

Натискання та відпускання кнопки генерує подію Pressed і Release :

 *e Вхід інтерфейсу користувачаКлюч дії ключа пристрою: <ім'я ключа> *e Вхід інтерфейсу користувача Код дії клавіші пристрою: <ID клавіші> * e Вхід інтерфейсу користувача Тип дії клавіші пристрою: Натиснуто ** кінець * e Вхід інтерфейсу користувача Ключ пристрою Клавіша дії: <ім'я ключа> *e Інтерфейс користувача Вхід Ключ пристрою Код дії: <ID клавіші> *e Вхід інтерфейсу користувача Тип дії ключа пристрою: Випущено ** кінець 

Щоб слухати події, потрібно зареєструвати відгуки з подій InputDevice :

 xFeedback Register /event/UserInterface/InputDevice ** кінець 

Коли пристрій Cisco виявляє сторонній периферійний пристрій, він буде вказаний у розділі Статус і в Периферії > З'єднаний пристрій . Сторонній пристрій може бути вказаний як кілька пристроїв.

Додаткова інформація

Дізнайтеся більше про використання стороннього пристрою введення у посібнику з налаштування. Виберіть останню версію.

Cisco підтримка (TAC) не підтримує налагодження стороннього коду, включно з макросами. Будь ласка, перевірте RoomOSCisco для пристроїв для співпраці, якщо вам потрібна допомога з макросами та стороннім кодом. Перегляньте цю сторінку для додаткових прикладів макросів і розширень.

Приклад

У цьому прикладі ми хочемо показати, як використовувати ключі стороннього пристрою введення USB (у цьому випадку пульта дистанційного керування) для керування певними функціями на пристрої Cisco.

Ми показуємо, як користуватися кнопками пульта Bluetooth (підключеного через USB донгл) для керування функціями, такими як режим очікування, регулювання гучності та керування камерою Cisco. Ви можете розробити макрос, який слухає релевантні події та виконує відповідні дії через API пристрою Cisco.

У наступному прикладі потрібно ввести текст, написаний звичайним шрифтом. Текст, виділений курсивом, — це відповідь, отримана з пристрою Cisco.

1

увійти на пристрій Cisco через SSH. Потрібен місцевий адміністратор .

2

Налаштуйте пристрій так, щоб він дозволяв використання стороннього пульта USB.

 xКонфігурація периферійних пристроїв ВхідРежим пристрою: On ** end OK  

Ви можете перевірити, чи конфігурація увімкнена або вимкнена, використовуючи цю команду:

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

Зареєструйтеся для отримання зворотного зв'язку, щоб ми отримували сповіщення, коли кнопки дистанційного керування натискаються і відпускаються.

 xFeedback Register /event/userinterface/inputdevice  ** кінець OK  

Ви можете перевірити, для яких зворотних зв'язків пристрій зареєстрований, використовуючи цю команду:

 xСписок  зворотного зв'язку/події/інтерфейсу користувача/вхідного пристрою ** кінець OK  
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 }); } function cameraControl(motor, direction, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [motor]: direction }); } function init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = стан. Стан === 'Вимкнено'? неправда: правда; }); xapi.status.on('Standby', state => { standbyState = стан. Стан === 'Вимкнено'? неправда: правда; }); xapi.event.on('Дія клавіші UserInterface InputDevice', натисніть => { 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(standbyState? 'Деактивація в режимі очікування' : 'Активація в режимі очікування'); перерва; за замовчуванням: розрив; } } }); } init(); 
Чи була ця стаття корисною?
Чи була ця стаття корисною?