Esimerkki
list-menuOnko sinulla palautetta?

Tässä esimerkissä haluamme näyttää, miten kolmannen osapuolen USB-syötelaitteen (tässä tapauksessa kauko-ohjaimen) avaimia käytetään tiettyjen Cisco-laitteen toimintojen hallintaan.

Näytämme, miten Bluetooth-kauko-ohjaimen painikkeita (yhdistettynä USB-donglella) käytetään Cisco-kameralaitteen toimintojen, kuten valmiustilan, äänenvoimakkuuden säätämisen ja hallinnan, hallintaan. Voit kehittää makron, joka kuuntelee asianmukaisia tapahtumia ja suorittaa vastaavia toimintoja Cisco-laitteen API-toiminnoilla.

Seuraavassa esimerkissä on kirjoitettava normaalifonttinen teksti. Kursivoidun tekstin vastaus vastaanotettiin Cisco-laitteelta.

1

Kirjaudu SSH:n Cisco-laitteeseen. Tarvitset paikallisen järjestelmänvalvojan .

2

Määritä laite sallimaan kolmannen osapuolen USB -kauko-ohjaimen käyttö.

 xConfiguration Peripherals InputDevice -tila: On ** lopeta OK  

 

Voit tarkistaa, onko määritykset käytössä vai ei, seuraavalla komennolla:

 xConfiguration Peripherals InputDevice -tila  *c xConfiguration Peripherals InputDevice -tila: Käytössä ** lopeta OK  
3

Rekisteröidy palautteeseen, jotta saamme ilmoituksen, kun kauko-ohjainpainikkeita painetaan ja vapautetaan.

 xFeedback-rekisteröinti /tapahtuma/käyttäjänterface/inputdevice  ** loppu OK  

 

Voit tarkistaa, mitä palautetta laite on rekisteröity käyttämään tätä komentoa:

 xFeedback-luettelo /tapahtuma/käyttäjänterface/inputdevice ** päättyy OK  
4

Tarkista, että palautteen rekisteröinti toimii painamalla kauko-ohjaimen painiketta.

Tämä toiminto luo kaksi tapahtumaa: Painetut ja vapaut. Jos painat painiketta painettuna, näet Paina-tapahtuman , kunnes vapautat painikkeen. Sitten Vapautetaan-tapahtuma luodaan.

Nämä tapahtumat annetaan, kun painat Enter-näppäintä ja vapautat sen:

  *e UserInterface InputDevice -näppäimen toimintonäppäin: KEY_ENTER *e UserInterface InputDevice -näppäimen toimintokoodi: 28 *e UserInterface InputDevice -näppäimen toimintotyyppi: Painettu ** lopeta *e UserInterface InputDevice -näppäimen toimintonäppäin: KEY_ENTER *e UserInterface InputDevice -avaimen toimintokoodi: 28 *e UserInterface InputDevice-avaimen toimintotyyppi: Vapautettu **  
5

Kirjoita makro, joka kuuntelee asianmukaisia InputDevice-tapahtumia , ja suorittaa niihin liittyvät toiminnot laitteen API-toiminnolla.

  • Herätä valmiustila, äänenvoimakkuus ylös ja äänenvoimakkuuden painikkeet elämään. Kun makro näkee tapahtuman, joka sisältää KEY_VOLUMEUP, KEY_VOLUMEDOWN tai KEY_SLEEP, se suorittaa vastaavat komennot.

  • Luo nuolinäppäimille kameran ohjaustoiminto. Haluamme jatkaa kameran liikuttamista niin kauan kuin painiketta painetaan. Kun painike vapautuu, kameran liike loppuu. Kun makro näkee tapahtuman, joka sisältää KEY_LEFT, KEY_RIGHT, KEY_UP tai KEY_DOWN, se suorittaa vastaavat komennot.

 yht.xapi = vaatia('xapi'); funktio com(komento, args='') { xapi.command(command, args), loki (komento + ' ' + JSON.stringify(args)); } toimintoloki(tapahtuma) { console.log(tapahtuma); } toimintoilmoitus(viesti) { xapi.command('UserInterface Message TextLine Display', { Teksti: viesti, kesto: 3 }); } toimintakameran hallinta (moottori, suunta, cameraId='1') { com('Camera Markkina", { 'CameraId': cameraId, [moottori]: suunta }); } toiminta init() { anna valmiustilan; xapi.status.get('valmiustila').sitten(tila) => {standbyState = tila. Tila === "Ei käytössä" ? epätosi: tosi; }); xapi.status.on('Valmiustila', tila => { standbyState = tila. Tila === "Ei käytössä" ? epätosi: tosi; }); xapi.event.on('UserInterface InputDevice Key Action', paina => { jos (paina. Tyyppi == "Painettu") { kytkin (paina. Avain) { tapaus "KEY_LEFT": cameraControl('Pan', 'Vasen'), tapaus "KEY_RIGHT": cameraControl('Pan', 'Oikea'), rikkoa; case "KEY_UP": cameraControl('Tilt', 'Up'); break; case "KEY_DOWN": cameraControl('Tilt', 'Down'); break; oletus: break; } muussa jos (paina. Tyyppi == "Vapautettu") { kytkin (paina. Avain) { case "KEY_LEFT": cameraControl('Pan', 'Stop'); break; case "KEY_RIGHT": cameraControl('Pan', "Pysäytä"); rikkoa; tapaus "KEY_UP": cameraControl('Tilt', 'Stop'), case "KEY_DOWN": cameraControl('Tilt', 'Stop'), rikkoa; tapaus 'KEY_VOLUMEUP': com('Äänen voimakkuuden lisäys'), rikkoa; tapaus 'KEY_VOLUMEDOWN': com('Äänen voimakkuuden vähentyminen'); rikkoa; tapaus 'KEY_SLEEP': com(standbyState? "Valmiustilan aktivoinnin poisto" : "Valmiustila aktivoitu"); Tauko; oletus: rikkoa; } } }); } init(); 
Oliko tästä artikkelista apua?
Oliko tästä artikkelista apua?