Exemplul xxx
list-menuFeedback?

În acest exemplu, dorim să vă arătăm cum să utilizați tastele unui dispozitiv de intrare USB terț (în acest caz o telecomandă) pentru a controla anumite funcții pe un dispozitiv Cisco.

Vă arătăm cum să utilizați butoanele de pe o telecomandă Bluetooth (conectată printr-un dongle USB) pentru a gestiona funcții precum modul standby, reglarea volumului și controlul unui dispozitiv cu cameră Cisco. Puteți dezvolta o macrocomandă care ascultă evenimentele relevante și execută acțiunile corespunzătoare prin intermediul API dispozitivului Cisco.

În exemplul următor, trebuie să introduceți textul care este scris cu font normal. Textul scris cu caractere cursive reprezintă răspunsul primit de la dispozitivul Cisco.

1

conectați-vă la dispozitivul Cisco pe SSH. Aveți nevoie de un utilizator administrator local .

2

Configurați dispozitivul pentru a permite utilizarea unei telecomenzi USB terțe.

 xConfiguration Peripherals InputDevice Mode: On ** end OK  

 

Puteți verifica dacă configurația este activată sau dezactivată utilizând această comandă:

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

Înregistrați-vă pentru feedback, astfel încât să fim informați când sunt apăsate și eliberate butoanele telecomenzii.

 xFeedback Înregistrare / eveniment / interfață utilizator / dispozitiv   de intrare ** sfârșit OK  

 

Puteți verifica pentru ce feedback-uri este înregistrat dispozitivul utilizând această comandă:

 xFeedback listă /eveniment/interfață utilizator/dispozitiv de intrare ** sfârșit OK  
4

Apăsați și eliberați un buton de pe telecomandă pentru a verifica dacă funcționează înregistrarea de feedback.

Această acțiune generează două evenimente: Apăsat și Eliberat. Dacă apăsați și mențineți apăsat un buton, vedeți evenimentul Apăsat până când eliberați butonul. Apoi este generat evenimentul Eliberat .

Aceste evenimente sunt generate atunci când apăsați și eliberați tasta 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

Scrieți o macrocomandă care ascultă evenimentele InputDevice relevante și efectuează acțiunile asociate utilizând API dispozitivului.

  • Aduceți la viață butoanele de standby, de creștere și de reducere a volumului. Când macrocomanda observă un eveniment care conține KEY_VOLUMEUP, KEY_VOLUMEDOWN sau KEY_SLEEP, execută comenzile corespunzătoare.

  • Creați o funcție de control al camerei pentru tastele săgeată. Vrem să continuăm să mișcăm camera atâta timp cât butonul este apăsat. Când butonul este eliberat, mișcarea camerei se oprește. Când macrocomanda observă un eveniment care conține KEY_LEFT, KEY_RIGHT, KEY_UP sau KEY_DOWN, execută comenzile corespunzătoare.

 const xapi = require('xapi'); funcția 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, durata: 3 }); } funcția cameraControl(motor, direcție, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [motor]: direcție }); } funcție init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = state. Stare === 'Off' ? fals: adevărat; }); xapi.status.on('Standby', stare => { standbyState = stare. Stare === 'Off' ? fals: adevărat; }); xapi.event.on('UserInterface InputDevice Key Action', apăsați => { if (apăsați. Tastați == "Apăsat") { comutator (apăsați. Key) { cazul "KEY_LEFT": cameraControl('Pan', 'Left'); break; case "KEY_RIGHT": cameraControl('Pan', 'Right'); break; cazul "KEY_UP": cameraControl('Tilt', 'Up'); break; cazul "KEY_DOWN": cameraControl('Tilt', 'Down'); break; default: break; }} altfel dacă (apăsați. Tastați == "Eliberat") { comutator (apăsați. Cheie) { cazul "KEY_LEFT": cameraControl('Pan', 'Stop'); pauză; cazul "KEY_RIGHT": cameraControl('Pan', 'Stop'); pauză; cazul "KEY_UP": cameraControl('Tilt', 'Stop'); pauză; cazul "KEY_DOWN": cameraControl('Tilt', 'Stop'); pauză; cazul 'KEY_VOLUMEUP': com('Creștere volum audio'); pauză; caz 'KEY_VOLUMEDOWN': com('Scădere volum audio'); pauză; caz 'KEY_SLEEP': com(standbyState? "Dezactivare în așteptare": "Activare în așteptare"); Pauză; implicit: pauză; } } }); } init(); 
A fost util acest articol?
A fost util acest articol?