Príklad
list-menuSpätná väzba?

V tomto príklade vám chceme ukázať, ako používať klávesy vstupného zariadenia USB tretej strany (v tomto prípade diaľkového ovládača) na ovládanie určitých funkcií na zariadení Cisco.

Ukážeme vám, ako používať tlačidlá na diaľkovom ovládači Bluetooth (pripojenom cez hardvérový kľúč USB) na správu funkcií, ako je pohotovostný režim, nastavenie hlasitosti a ovládanie kamerového zariadenia Cisco. Môžete vytvoriť makro, ktoré počúva relevantné udalosti a vykonáva príslušné akcie prostredníctvom API zariadenia Cisco.

V nasledujúcom príklade musíte zadať text, ktorý je napísaný normálnym písmom. Text napísaný kurzívou predstavuje odpoveď prijatú zo zariadenia Cisco.

1

Prihláste sa do zariadenia Cisco na SSH. Potrebujete lokálneho správcu .

2

Nakonfigurujte zariadenie tak, aby umožňovalo používanie diaľkového ovládača USB tretej strany.

 xConfiguration Peripherals InputDevice Mode: Zapnuté ** koniec OK  

 

Pomocou tohto príkazu môžete skontrolovať, či je konfigurácia zapnutá alebo vypnutá:

 xKonfigurácia Periférne zariadenia Režim vstupného zariadenia  *c xKonfigurácia Periférie Režim vstupného zariadenia: Zapnuté ** koniec OK  
3

Zaregistrujte sa na spätnú väzbu, aby sme boli upozornení na stlačenie a uvoľnenie tlačidiel diaľkového ovládača.

 xFeedback Registrácia /udalosť/používateľské rozhranie/inputdevice  ** koniec OK  

 

Pomocou tohto príkazu môžete skontrolovať, pre ktoré spätné väzby je zariadenie zaregistrované:

 xZoznam  spätnej väzby/udalosť/používateľské rozhranie/vstupné zariadenie ** koniec OK  
4

Stlačte a uvoľnite tlačidlo na diaľkovom ovládači, aby ste skontrolovali, či registrácia spätnej väzby funguje.

Táto akcia generuje dve udalosti: Stlačené a Uvoľnené. Ak stlačíte a podržíte tlačidlo, bude sa tlačidlo Stlačená udalosť zobrazovať , kým tlačidlo neuvoľníte. Potom sa vygeneruje udalosť Uvoľnené .

Tieto udalosti sa vydávajú pri stlačení a uvoľnení klávesu Enter:

  *e Používateľské rozhranie InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Typ akcie: Stlačené ** koniec *e Používateľské rozhranie InputDevice Key Action Key: KEY_ENTER *e Používateľské rozhranie InputDevice Key Kód akcie: 28 *e UserInterface InputDevice Key Typ akcie: Uvoľnený ** koniec  
5

Napíšte makro, ktoré počúva príslušné udalosti InputDevice a vykonáva súvisiace akcie pomocou API zariadenia.

  • Oživte pohotovostný režim, tlačidlá na zvýšenie a zníženie hlasitosti. Keď makro vidí udalosť obsahujúcu KEY_VOLUMEUP, KEY_VOLUMEDOWN alebo KEY_SLEEP, vykoná súvisiace príkazy.

  • Vytvorte funkciu ovládania fotoaparátu pre klávesy so šípkami. Chceme pokračovať v pohybe fotoaparátu, pokiaľ je stlačené tlačidlo. Po uvoľnení tlačidla sa pohyb kamery zastaví. Keď makro vidí udalosť obsahujúcu KEY_LEFT, KEY_RIGHT, KEY_UP alebo KEY_DOWN, vykoná súvisiace príkazy.

 const xapi = require('xapi'); funkcia 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. Stav === 'Vypnuté' ? nepravda: pravda; }); xapi.status.on('Pohotovostný režim', stav => { standbyState = stav. Stav === 'Vypnuté' ? nepravda: pravda; }); xapi.event.on('Akcia kľúča kľúča InputDevice používateľského rozhrania', stlačte => { if (stlač. Zadajte == "Stlačené") { prepínač (stlač. Kláves) { prípad "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; } } inak ak (stlačte. Zadajte == "Uvoľnené") { prepínač (stlač. 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? "deaktivácia pohotovostného režimu": "aktivácia pohotovostného režimu"); Prestávke; predvolené: prestávka; } } }); } init(); 
Bol tento článok užitočný?
Bol tento článok užitočný?