W tym artykule
Przykład
Korzystanie z urządzeń wejściowych USB innych firm z serią Board, Desk i Room
list-menuW tym artykule
list-menuOpinia?

Za pomocą urządzenia peryferyjnego USB innej firmy można sterować niektórymi funkcjami urządzenia, takimi jak klawiatura USB lub pilot zdalnego sterowania Bluetooth® z kluczem sprzętowym USB.

Funkcja ta ma na celu uzupełnienie funkcjonalności kontrolera dotykowego lub dotykowego interfejsu użytkownika. Nie ma na celu ich zastąpienia .

Przykłady zastosowań:

  • W salach lekcyjnych i podczas wykładów można użyć małego pilota do wybudzenia urządzenia z trybu gotowości. Wygodne może być również użycie pilota zdalnego sterowania, aby wybrać źródło wejściowe do prezentacji.

  • Sterowanie widokiem kamery (obrót, pochylenie i powiększenie) w sytuacjach, w których nie można używać kontrolera dotykowego. Na przykład na salach operacyjnych w szpitalu.

Przegląd funkcjonalności

Naciśnięcie przycisku na urządzeniu wejściowym USB wyzwala akcję w API urządzenia Cisco. Makra lub zewnętrzne urządzenia sterujące innych firm mogą być skonfigurowane tak, aby wykrywały te działania i odpowiednio reagowały. Ta funkcjonalność jest podobna do tego, jak zachowują się przyciski sterowania pokojowego. Ponadto możliwe jest monitorowanie tych działań za pomocą webhooków lub bezpośrednio w sesji SSH.

Istniejąca wcześniej biblioteka działań do wyboru nie jest dostępna. Należy zdefiniować i ustalić konkretne działania, które powinny wystąpić w odpowiedzi na zdarzenia. Na przykład:

  • Zwiększ głośność urządzenia Cisco po naciśnięciu klawisza zwiększania głośności.

  • PUT urządzenie Cisco w trybie czuwania po naciśnięciu klawisza uśpienia.

Konfiguracje, zdarzenia i stan

Konfiguracje i stany, o których mowa w tym artykule, są dostępne zarówno w lokalnym interfejsie internetowym urządzenia, jak i w interfejsach API. Przeczytaj artykuł Konfiguracje urządzeń, aby uzyskać informacje na temat uzyskiwania dostępu do interfejsu internetowego i korzystania z API.

Po otwarciu interfejsu internetowego urządzenia kliknij Ustawienia . W obszarze Configurations (Konfiguracje ) zmień ustawienie Peripherals> InputDevice Mode (Tryb urządzeń peryferyjnychInputDevice na Włączone). Obsługa urządzeń wejściowych USB innych firm jest domyślnie wyłączona.

Naciśnięcie i zwolnienie przycisku generuje zdarzenie Naciśnięte i zwolnione :

 *e UserInterface InputDevice Key Action Key: <nazwa klucza> *e UserInterface InputDevice Key Action Code: <ID klucza> *e UserInterface InputDevice Key Action Type: Pressed ** end *e UserInterface InputDevice Key Action Key: <nazwa klucza> *e UserInterface InputDevice Key Action Code: <ID klucza> *e UserInterface InputDevice Key Action Type: Zwolniony ** koniec 

Aby nasłuchiwać zdarzeń, należy zarejestrować informacje zwrotne ze zdarzeń urządzenia wejściowego :

 xFeedback Register /event/UserInterface/InputDevice ** end 

Gdy urządzenie Cisco wykryje urządzenie peryferyjne innej firmy, zostanie wyświetlone w obszarze Status (Stan ) i Peripherals > ConnectedDevice (Urządzenia peryferyjneConnectedDevice ). Urządzenie innej firmy może być zgłaszane jako wiele urządzeń.

Dalsze informacje

Więcej informacji na temat korzystania z urządzenia wejściowego innej firmy można znaleźć w Podręczniku dostosowywania. Wybierz najnowszą wersję.

Obsługa Cisco (TAC) nie obsługuje debugowania kodu innych firm, w tym makr. Sprawdź Cisco RoomOS for Collaboration Devices , jeśli potrzebujesz pomocy dotyczącej makr i kodu innych firm. Na tej stronie znajdziesz więcej przykładów makr i rozszerzeń.

Przykład

W tym przykładzie chcemy pokazać, jak używać klawiszy urządzenia wejściowego USB innej firmy (w tym przypadku pilota) do sterowania niektórymi funkcjami na urządzeniu Cisco.

Pokażemy, jak używać przycisków na pilocie zdalnego sterowania Bluetooth (podłączonym za pomocą klucza sprzętowego USB) do zarządzania funkcjami takimi jak tryb gotowości, regulacja głośności i sterowanie aparatem Cisco. Można opracować makro, które nasłuchuje odpowiednich zdarzeń i wykonuje odpowiednie akcje za pomocą API urządzenia Cisco.

W poniższym przykładzie należy wprowadzić tekst napisany normalną czcionką. Tekst pisany kursywą jest odpowiedzią otrzymaną z urządzenia Cisco.

1

Zaloguj się do urządzenia Cisco na SSH. Potrzebny jest administrator lokalny .

2

Skonfiguruj urządzenie tak, aby zezwalało na korzystanie z pilota zdalnego sterowania USB innej firmy.

 xConfiguration Peripherals InputDevice Mode: On ** end OK  

Za pomocą tego polecenia można sprawdzić, czy konfiguracja jest włączona czy wyłączona:

 xConfiguration Peripherals InputDevice Mode  *c xConfiguration Peripherals InputDevice Mode: On ** end OK  
3

Zarejestruj się, aby uzyskać informacje zwrotne, abyśmy zostali powiadomieni, gdy przyciski pilota zdalnego sterowania zostaną naciśnięte i zwolnione.

 xFeedback Register /event/userinterface/inputdevice  ** end OK  

Za pomocą tego polecenia można sprawdzić, dla których sprzężeń zwrotnych urządzenie jest zarejestrowane:

 xFeedback list /event/userinterface/inputdevice ** end OK  
4

Naciśnij i zwolnij przycisk na pilocie zdalnego sterowania, aby sprawdzić, czy rejestracja informacji zwrotnych działa.

Ta akcja generuje dwa zdarzenia: Naciśnięte i Zwolnione . Jeśli naciśniesz i przytrzymasz przycisk, zdarzenie Naciśnięto będzie widoczne do momentu jego zwolnienia. Następnie generowane jest zdarzenie Zwolnione .

Następujące zdarzenia są wyświetlane po naciśnięciu i zwolnieniu klawisza Enter:

  *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Pressed ** end *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Released ** end  
5

Napisz makro, które nasłuchuje odpowiednich zdarzeń InputDevice i wykonuje powiązane działania przy użyciu API urządzenia.

  • Ożyw przyciski czuwania, zwiększania i zmniejszania głośności. Gdy makro widzi zdarzenie zawierające KEY_VOLUMEUP, KEY_VOLUMEDOWN lub KEY_SLEEP, wykonuje powiązane polecenia.

  • Utwórz funkcję sterowania kamerą dla klawiszy strzałek. Chcemy poruszać kamerą tak długo, jak długo wciśnięty jest przycisk. Po zwolnieniu przycisku ruch kamery ustaje. Gdy makro widzi zdarzenie zawierające KEY_LEFT, KEY_RIGHT, KEY_UP lub KEY_DOWN, wykonuje powiązane polecenia.

 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. Stan === 'wyłączony' ? fałsz: prawda; }); xapi.status.on('Standby', state => { standbyState = state. Stan === 'wyłączony' ? fałsz: prawda; }); xapi.event.on('UserInterface InputDevice Key Action', press => { if (press. Type == "Pressed") { switch (naciśnij. 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 (naciśnij. Type == "Released") { switch (naciśnij. 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 Decline'); break; case 'KEY_SLEEP': com(standbyState? "Dezaktywacja w trybie czuwania": "Aktywacja w trybie czuwania"); Przerwy; Wartość domyślna: przerwa; } } }); } init(); 
Czy ten artykuł był pomocny?
Czy ten artykuł był pomocny?