Primjer
list-menuŽelite li poslati povratne informacije?

U ovom primjeru želimo vam pokazati kako pomoću tipki drugog proizvođača USB ulaznog uređaja (u ovom slučaju daljinskog upravljača) upravljati određenim funkcijama na Cisco uređaju.

Pokazujemo vam kako koristiti gumbe na Bluetooth daljinskom upravljaču (povezanom putem USB donglea) za upravljanje funkcijama kao što su stanje pripravnosti, podešavanje glasnoće i upravljanje uređajem Cisco kamere. Možete razviti makronaredbu koja sluša relevantne događaje i izvršava odgovarajuće akcije putem Cisco uređaja API.

U sljedećem primjeru morate unijeti tekst koji je napisan običnim fontom. Tekst u kurzivu odgovor je primljen s uređaja Cisco.

1

Prijavite se na Cisco uređaj na SSH-u. Potreban vam je lokalni administrator .

2

Konfigurirajte uređaj tako da dopušta korištenje USB daljinskog upravljača treće strane.

 xConfiguration Periferni uređaji Način rada InputDevice: Uključeno ** završi U redu  

 

Pomoću ove naredbe možete provjeriti je li konfiguracija uključena ili isključena:

 xConfiguration Periferni uređaji Način   rada InputDevice*c xConfiguration Periferni uređaji Način rada InputDevice: uključeno ** kraj U redu  
3

Registrirajte se za povratne informacije, tako da budemo obaviješteni kada se tipke daljinskog upravljača pritisnu i otpuste.

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

 

Pomoću ove naredbe možete provjeriti za koje je povratne informacije uređaj registriran:

 xFeedback popis /događaj/korisničko sučelje/inputdevice ** završi u redu  
4

Pritisnite i otpustite gumb na daljinskom upravljaču kako biste provjerili radi li registracija povratnih informacija.

Ova akcija generira dva događaja: Pritisnuto i Pušteno. Ako pritisnete i držite tipku, vidjet ćete događaj Pritisnuto dok ne otpustite gumb. Tada se generira događaj Oslobođeno .

Ti se događaji izdaju prilikom pritiska i otpuštanja tipke Enter:

  *e Korisničko sučelje Tipka za akciju InputDevice: KEY_ENTER *e Korisničko sučelje InputDevice Kôd akcije ključa: 28 *e Korisničko sučelje Tipka InputDevice Vrsta akcije: Pritisnuti ** kraj *e Korisničko sučelje Akcijski ključ tipke InputDevice: KEY_ENTER *e Korisničko sučelje InputDevice Kôd akcije ključa: 28 *e Korisničko sučelje InputDevice Vrsta akcije tipke: Izdano ** kraj  
5

Napišite makronaredbu koja osluškuje relevantne događaje InputDevice i izvodi povezane radnje pomoću pogreške API uređaja.

  • Oživite gumbe za stanje pripravnosti, pojačavanje glasnoće i smanjivanje glasnoće. Kada makronaredba vidi događaj koji sadrži KEY_VOLUMEUP, KEY_VOLUMEDOWN ili KEY_SLEEP, izvršava povezane naredbe.

  • Stvorite funkciju kontrole kamere za tipke sa strelicama. Želimo nastaviti pomicati kameru sve dok je tipka pritisnuta. Kada se gumb otpusti, kretanje kamere se zaustavlja. Kada makronaredba vidi događaj koji sadrži KEY_LEFT, KEY_RIGHT, KEY_UP ili KEY_DOWN, izvršava povezane naredbe.

 const xapi = require('xapi'); funkcija 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, smjer, kameraId='1') { com('Rampa kamere', { 'CameraId': cameraId, [motor]: smjer }); } function init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = state. Stanje === 'Isključeno' ? Netočno: istinito; }); xapi.status.on('Stanje pripravnosti', stanje => { standbyState = stanje. Stanje === 'Isključeno' ? Netočno: istinito; }); xapi.event.on('UserInterface InputDevice Key Action', pritisnite => { { if (pritisnite. Upišite == "Pritisnuto") { prekidač (pritisnite. Ključ) { slučaj "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; } } inače ako (pritisnite. Upišite == "Lansirano") { parametar (pritisnite. Ključ) { slučaj "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 Decut'); break; case 'KEY_SLEEP': com(standbyState? "Deaktiviraj stanje pripravnosti": "Aktiviraj stanje pripravnosti"); Slomiti; zadano: prijelom; } } }); } init(); 
Je li taj članak bio koristan?
Je li taj članak bio koristan?