Bu makalede
Örnek
Board, Masa ve Oda Serisi ile üçüncü taraf USB giriş cihazlarının kullanımı
list-menuBu makalede
list-menuGeri Bildirim?

Cihazınızdaki USB klavye veya USB dongle ile Bluetooth uzaktan kontrol gibi belirli işlevleri kontrol etmek için üçüncü taraf bir® USB periferi kullanabilirsiniz.

Bu özellik, dokunma denetleyicisinin veya dokunmatik kullanıcı arabiriminin işlevlerini tamamlamak içindir . Bu onların yerine geçecek bir şey değil.

Uygulama örnekleri:

  • Dersliklerde ve ders saatleri sırasında, bir cihazı bekleme modundan uyandırmak için küçük bir uzaktan kontrol kullanılabilir. ayrıca, hangi giriş kaynağının sunileceğini seçmek için uzaktan kontrol kullanmak da uygun olabilir.

  • Dokunma kontrolörü kullanma izninizin olmadığı durumlarda kamera görünümünü (kaydırma, eğme ve yakınlaştırma) kontrol etme. Örneğin, bir hastanedeki ameliyathanelerde.

İşleve genel bakış

USB giriş aygıtında bir düğmeye basıldığında, Cisco aygıtının API içinde bir eylem tetikler. Üçüncü taraflardan gelen makrolar veya harici kontrol cihazları, bu eylemleri algılamak ve buna göre tepki vermek üzere ayarlanabilir. Bu işlev, Oda İçi Kontrol düğmelerinin davranış şekline benzer. Ayrıca, bu eylemleri web kancaları üzerinden veya doğrudan bir SSH oturumu içinde izlemek de mümkündür.

Seçilecek eylemlerle ilgili önceden mevcut bir kitaplık sağlanmaz. Olaylara yanıt olarak gerçekleşmesi gereken belirli eylemleri tanımlamanız ve belirlemeniz gerekir. Örnek:

  • Ses Düzeyi Artırma tuşuna basıldığında Cisco aygıtının ses düzeyini artırma.

  • Uyku tuşuna basıldığında Cisco aygıtını bekleme modunda PUT.

Yapılandırmalar, Olaylar ve Durum

Bu makalede başvurulan yapılandırmalar ve durum, hem aygıtın yerel web arabiriminden hem de API'lerden kullanılabilir. Web arabirimine erişme ve API kullanma hakkında bilgi için Aygıt yapılandırmaları makalesini okuyun.

Aygıtın web arabirimi açıldığında, Ayarlar'ı tıklayın. Yapılandırmalar altında , Periferler > InputDevice Modunu Açık olarak değiştirin . Üçüncü taraf USB giriş cihazları desteği varsayılan olarak devre dışıdır.

Bir düğmeye basılması ve serbest bırakılması, Basılmış ve Serbest Bırakılmış olayı oluşturur:

 *e UserInterface InputDevice Anahtar Eylem Tuşu: anahtarın <adı> *UserInterface InputDevice Anahtar Eylem Kodu: anahtarın <ID> *e UserInterface InputDevice Anahtar Eylem Türü: Basıldı ** end *e UserInterface InputDevice Key Action Key: anahtarın <adı> *e UserInterface InputDevice Anahtar Eylem Kodu: anahtarın <ID> *e UserInterface InputDevice Anahtar Eylem Türü: Serbest Bırakıldı ** bitiş 

Olayları dinlemek için InputDevice olaylarından geri bildirimi kaydetmeniz gerekir:

 xFeedback Register /event/UserInterface/InputDevice ** bitiş 

Cisco aygıtı üçüncü taraf periferi algıladığında, Durum altında ve Periferlerde > ConnectedDevice içinde listelenir. Üçüncü taraf cihaz birden çok cihaz olarak raporlanabilir.

Daha fazla bilgi

Özelleştirme kılavuzunda üçüncü taraf giriş aygıtı kullanımı hakkında daha fazla bilgi bulabilirsiniz. En son sürümü seçin.

Cisco desteği (TAC), makrolar dahil olmak üzere üçüncü taraf kodun hata ayıklamasını desteklemez. Makrolar ve üçüncü taraf kodu ile ilgili yardıma gereksinim duyarsanız lütfen Cisco RoomOS for Collaboration Devices'a bakın . Daha fazla makro ve dahili hat örneği için bu sayfayı işaretleyin .

Örnek

Bu örnekte, bir Cisco aygıtındaki belirli işlevleri kontrol etmek için üçüncü taraf bir USB giriş cihazının (bu durumda uzaktan kontrol) anahtarlarının nasıl kullanılacağını göstermek istiyoruz.

Bekleme, ses düzeyi ayarlama ve Cisco kamera cihazının kontrolü gibi işlevleri yönetmek için Bluetooth uzaktan kontroldeki (USB dongle'a bağlı) düğmelerin nasıl kullanılacağını gösteririz. İlgili olayları dinleyen ve ilgili eylemleri Cisco aygıtın API aracılığıyla yürüten bir makro geliştirebilirsiniz.

Aşağıdaki örnekte, normal yazı tipiyle yazılmış metni girmeniz gerekir. Italik metin, Cisco aygıtından alınan yanıttır.

1

SSH'de Cisco aygıtında oturum açın. Bir yerel yönetici kullanıcıya ihtiyacınız vardır.

2

Aygıtı, üçüncü taraf bir USB uzaktan kontrol kullanımına izin verecek şekilde yapılandırın.

 xConfiguration Periferler Giriş Hizmeti Modu: Açık ** bitiş Tamam  

Bu komutu kullanarak yapılandırmanın Açık veya Kapalı olup olmadığını kontrol edebilirsiniz:

 xConfiguration Periferler GirişDevice Modu  *c xConfiguration Periferler GirişDevice Modu: Açık ** uç Tamam  
3

Uzaktan kontrol düğmelerine basıldığında ve serbest bırakıldığında bildirim alabilmeniz için geri bildirim için kaydolun.

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

Bu komutu kullanarak cihazın kayıtlı olduğu geri bildirimleri kontrol edebilirsiniz:

 xFeedback listesi /olay/userinterface/inputdevice ** bitiş Tamam  
4

Geri bildirim kaydının çalışıp çalışmadığını kontrol etmek için uzaktan kontroldeki bir düğmeye basın ve bırakın.

Bu eylem iki olay oluşturur: Basılmış ve Serbest Bırakılmış. Bir düğmeye basılı tutunsanız, düğmeyi serbest bırakıncaya kadar Basılan olayı görürsünüz. Sonra Serbest Bırakıldı olayı oluşturulur.

Bu olaylar Enter tuşuna basıldığında ve serbest bırakıldığında verilir:

  *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Pressed ** end *UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Anahtar Eylem Kodu: 28 *e KullanıcıInterface InputDevice Anahtar Eylem Türü: Serbest ** bitiş  
5

İlgili InputDevice olaylarını dinleyen ve aygıtın API öğesini kullanarak ilişkili eylemleri gerçekleştiren bir makro yazın.

  • Bekleme, ses artırma ve ses azaltma düğmelerini hayata getirin. Makro KEY_VOLUMEUP, KEY_VOLUMEDOWN veya KEY_SLEEP içeren bir olay gördüğü zaman, ilgili komutları yürütür.

  • Ok tuşları için bir kamera kontrol işlevi oluşturun. Düğmeye basıldığı sürece kamerayı hareket ettirmeye devam etmek istiyoruz. Düğme serbest bırakıldığında kamera hareketi durur. Makro KEY_LEFT, KEY_RIGHT, KEY_UP veya KEY_DOWN içeren bir olay görürse, ilgili komutları çalıştırır.

 const xapi = require('xapi'); function com(command, args=') { xapi.command(command, args), log(command + ' ' + JSON.stringify(args)); } işlev günlüğü(olay) { console.log(olay), } function notify(message) { xapi.command('UserInterface Message TextLine Display', { Metin: mesaj, süre: 3 }); } işlev cameraControl(motor, yön, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [motor]: direction }); function init() { let standbyState; xapi.status.get('Standby').then(state) => {standbyState = durum. Durum === 'Kapalı' mı? yanlış: doğru; }); xapi.status.on('Beklemede', durum => { bekleme Durumu = durum. Durum === 'Kapalı' mı? yanlış: doğru; }); xapi.event.on('UserInterface InputDevice Tuş Eylemi', => { tuşuna basın (basın. Tür == "Basıldı") { anahtar (basın. Anahtar) { case "KEY_LEFT": cameraControl('Pan', 'Sol'); break; case "KEY_RIGHT": cameraControl('Pan', 'Sağ'); break; case "KEY_UP": cameraControl('Tilt', 'Up'); break; case "KEY_DOWN": cameraControl('Tilt', 'Down'); break; varsayılan: break; } } } değilse (basın. Tür == "Serbest Bırakıldı") { anahtar (basın. Anahtar) { case "KEY_LEFT": cameraControl('Pan', 'Stop'); break; case "KEY_RIGHT": cameraControl('Pan', 'Durdur'), "KEY_UP": cameraControl('Tilt', 'Stop'); break; case "KEY_DOWN": cameraControl('Tilt', 'Stop'); break; case 'KEY_VOLUMEUP': com('Ses Ses Düzeyi Artışı'); 'KEY_VOLUMEDOWN': com('Ses Düzeyi Azaltma'); break; case 'KEY_SLEEP': com(standbyState? 'Beklemede Devre Dışı Bırak' : 'Yedek Etkinleştirme'); Mola; varsayılan: kesme; } } }); } init(); 
Bu makale yararlı oldu mu?
Bu makale yararlı oldu mu?