В этой статье
Пример
Использование сторонних устройств ввода USB с сериями Board, настольными и комнатными
list-menuВ этой статье
list-menuОтправить обратную связь?

Для управления некоторыми функциями своего устройства, такими как клавиатура USB или пульт ДУ Bluetooth с ключом USB, можно использовать стороннюю периферийную систему USB®.

Данная функция призвана дополнить функциональные возможности сенсорного контроллера или пользовательского интерфейса touch. Он не должен их заменить .

Примеры приложений:

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

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

Обзор функциональных возможностей

Когда на устройстве ввода USB нажата кнопка, она инициирует действие в API устройства Cisco. Можно настроить макросы или внешние устройства управления от третьих сторон для обнаружения этих действий и соответствующего реагирования. Эта функциональность аналогична поведению кнопок управления комнатой. Кроме того, целесообразно отслеживать эти действия с помощью веб-трубки или непосредственно в рамках сеанса SSH.

Ранее существующая библиотека действий на выбор не предоставляется. От вас требуется определить и определить конкретные действия, которые должны произойти в ответ на эти события. Пример:

  • Увеличить громкость устройства Cisco при нажатии клавиши увеличения громкости.

  • PUT устройство Cisco при нажатии клавиши спящего режима в режиме ожидания.

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

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

Когда веб-интерфейс устройства открыт, щелкните « Настройки ». В разделе « Конфигурации » измените режим периферийных шлюзов > на «Вкл .» Поддержка сторонних устройств ввода USB по умолчанию отключена.

Нажатие и освобождение кнопки приводит к возникновению события нажатой и освобождении :

 *e UserInterface InputDevice клавиша действия клавиши: <назм ключа> *e UserInterface inputDevice Код действия клавиши: <ID клавиши> *e UserInterface InputDevice Тип действия клавиши: нажмите ** окончание *e UserInterface InputDevice ключ действия клавиши: < имя ключа> *e UserInterface inputDevice Код действия клавиши: <ID ключа> *e UserInterface inputDevice Тип действия клавиши: Освобождено ** на конце 

Чтобы прослушать события, необходимо зарегистрировать обратную связь от событий InputDevice :

 Регистрация xFeedback /событие/UserInterface/InputDevice ** заканчивается 

Когда Cisco устройство обнаруживает периферийное устройство стороннего производителя, оно будет указано в разделе « Состояние » и в разделе «Периферийные устройства> ConnectedDevice . О устройстве стороннего производителя могут сообщаться как несколько устройств.

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

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

Поддержка Cisco (TAC) не поддерживает отладку кода сторонних разработчиков, включая макросы. Проверьте Cisco RoomOS для устройств для совместной работы, если вам нужна помощь с макросами и кодом сторонних разработчиков. Просмотрите эту страницу для получения дополнительных примеров макросов и добавок.

Пример

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

Мы показываем вам, как пользоваться кнопками на пульте ДУ Bluetooth (подключенном через аппаратный ключ USB) для управления такими функциями, как резервный режим, регулировка громкости и управление устройством камеры Cisco. С помощью API устройства Cisco можно разработать макрос, который прослушивает соответствующие события и выполняет соответствующие действия.

В следующем примере необходимо ввести текст, написанный обычным шрифтом. Текст курсивом — это ответ, полученный от устройства Cisco.

1

выполните вход на устройство Cisco по SSH. Вам нужен локальный администратор .

2

Настройте устройство так, чтобы можно было использовать пульт дистанционного управления USB стороннего производителя.

 Режим ввода периферийных шлюзов xConfiguration: вкл .** на конце OK  

Проверить включение или выключение конфигурации можно с помощью следующей команды:

 Режим   ввода периферийных устройств xConfiguration Периферийные шлюзы Режим ввода* c Режим ввода конфигурации периферийных шлюзов: на конце ** на конце OK  
3

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

 Регистрация xFeedback /событие/userinterface/inputdevice  ** заканчивается ОК  

Вы можете проверить, для каких отзывов зарегистрировано устройство, используя следующую команду:

 список  xFeedback/событие/userinterface/inputdevice ** заканчивается ОК  
4

Нажмите и отпустите кнопку на пульте ДУ, чтобы проверить, работает ли регистрация обратной связи.

Это действие вызывает два события: «Нажато » и «Освобождено». Если вы нажмете и удерживаете кнопку, то будете отображаться событие « Нажато », пока вы не отпустите кнопку. Затем создается событие выпуска .

При нажатии и освобождении клавиши Enter выдаются следующие события:

  *e UserInterface InputDevice Клавиша действия клавиши нажатия клавиши: KEY_ENTER *e UserInterface inputDevice Код действия ключа: 28 *e UserInterface inputDevice Тип действия клавиши: нажатая конец ** конец *e UserFace InputDevice ключ действия клавиши: KEY_ENTER *e UserInterface inputDevice Код действия клавиши: 28 *е UserInterface inputDevice Тип действия ключа: освобожден *конец **  
5

Составьте макрос, который прослушивает соответствующие события InputDevice и выполняет связанные с ними действия с помощью API устройства.

  • Оживите кнопки ожидания, увеличения громкости и уменьшения громкости. Когда макрос видит событие, содержащее KEY_VOLUMEUP, KEY_VOLUMEDOWN или KEY_SLEEP, он выполняет соответствующие команды.

  • создать функцию управления камерой для клавиш со стрелками. Мы хотим двигать камеру до тех пор, пока нажата кнопка. Когда кнопка отпущена, движение камеры прекращается. Когда макрос видит событие, содержащее KEY_LEFT, KEY_RIGHT, KEY_UP или KEY_DOWN, он выполняет соответствующие команды.

 const копипи = require('копипи'); функция com(command, args=') { 4pi.command(command, args); log(command + ' ' + '+ API.stringify(args)); } function log(event) { console.log(event); } function notify(message) { 9pi.command('UserInterface Message Message Display', { Текст: сообщение, длительность: 3 }); } функция cameraControl(двигатель, направление, cameraId='1') { com('Camera Ramp', { 'CameraId:cameraId: cameraId, [motor]: направление }); } function init() { let standbyState; statpi.status.get('Standby').then(state) => {standbyState = state. Состояние === 'Выкл'? false: истина; }); xapi.status.on('Standby', state => { standbyState = state. Состояние === 'Выкл'? false: истина; }); жатая.event.on('UserInterface InputDevice Key Action', нажмите => { if (нажмите. Type == "Pressed") { переключатель (нажмите. Ключ) { случай "KEY_LEFT": cameraControl('Pan', 'Влево'); перерыв; случай "KEY_RIGHT": cameraControl('Pan', 'Right'); перерыв; случай "KEY_UP": cameraControl('Наклон,'Вверх'); перерыв; случай "KEY_DOWN": cameraControl('Наклон,'Вниз);перерыв; по умолчанию: перерыв; } else если (нажмите. Type == "Освобожден") { переключатель (нажмите. Ключ) { случай "KEY_LEFT": cameraControl('Pan', 'Стоп'); перерыв; случай "KEY_RIGHT": cameraControl('Панорама', 'Stop'); перерыв; случай "KEY_UP": cameraControl('Tilt,'Stop'; перерыв; случай "KEY_DOWN": cameraControl('Tilt,'Stop'); перерыв; случай 'KEY_VOLUMEUP': com('Увеличение громкости аудио); перерыв; случай "KEY_VOLUMEDOWN': com('Уменьшение громкости аудио); перерыв; случай "KEY_SLEEP:com(standbyState? «Деактивация режима ожидания»: «Активация режима ожидания»); Перерыв; значение по умолчанию: перерыв; } } }); } init(); 
Была ли статья полезной?
Была ли статья полезной?