在本例中,我們將向您展示如何使用第三方 USB 輸入裝置的按鍵 (在本例中為遙控器) 來控制 Cisco 裝置上的某些功能。
我們將向您展示如何使用 Bluetooth 遙控器上的按鈕 (通過 USB 加密狗連接) 來管理待機、音量調節和 Cisco 相機設備的控制等功能。 您可以開發一個巨集,該偵聽相關事件並通過 Cisco 設備的 API 執行相應的操作。
在下列範例中,您必須輸入以一般字型寫入的文字。 斜體文字是從 Cisco 裝置收到的回應。
| 1 |
在 SSH 上登入 Cisco 裝置。 您需要一個本地 管理員 使用者。
|
| 2 |
將設備配置為允許使用第三方 USB 遙控器。
xConfiguration 周邊設備輸入裝置模式:開 ** 結束 OK
 |
您可以使用以下命令檢查設定是開還是關:
x 組態周邊設備輸入裝置模式 *c x 組態周邊設備輸入裝置模式:開 ** 端確定
|
|
| 3 |
註冊以獲取反饋,以便在按下和鬆開遙控器按鈕時通知我們。
x 反饋寄存器 /事件/使用者介面/輸入設備 ** 結束確定
 |
可以使用以下命令檢查裝置註冊了哪些反饋:
x 反饋清單 /事件/使用者介面/輸入裝置 ** 結束確定
|
|
| 4 |
按下並釋放遙控器上的按鈕,以檢查反饋註冊是否正常工作。
此操作將生成兩個事件:「 按下」和 「已釋放 」。 如果按住某個按鈕,則會看到 Pressed 事件,直到您鬆開該按鈕。 然後生成已發佈 事件。
按下並放開 Enter 鍵時,會發出這些事件:
*e 使用者介面輸入設備鍵操作鍵:KEY_ENTER *e 使用者介面輸入設備鍵操作代碼:28 *e 使用者介面輸入設備鍵操作類型:按下**結束 *e 使用者介面輸入設備鍵操作鍵:KEY_ENTER *e 使用者介面輸入設備鍵操作代碼:28 *e 使用者介面輸入設備鍵操作類型:已發佈**結束
|
| 5 |
編寫偵聽相關 InputDevice 事件的巨集,並使用設備的 API 執行關聯的操作。
常量 xapi = require ('xapi');function 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.狀態 === '關閉'?假:真;});xapi.status.on ('Standby',state => { standbyState = state.狀態 === '關閉'?假:真;});xapi.event.on('UserInterface InputDevice Key Action',按 => { if(press.鍵入 ==“按下”){ 開關 (按。鍵){ 案例“KEY_LEFT”:cameraControl ('平移','左'); 中斷; 案例“KEY_RIGHT”:cameraControl ('平移','右'); 中斷; 案例“KEY_UP”:cameraControl ('傾斜','向上'); 中斷; 案例“KEY_DOWN”:cameraControl ('Tilt','Down'); 中斷; 預設:中斷; } }否則如果 (按。類型 ==“已釋放”){ 開關 (按。key){ 案例“KEY_LEFT”:cameraControl ('平移','停止'); 中斷; 案例“KEY_RIGHT”:cameraControl ('平移','停止'); 中斷; 案例“KEY_UP”:cameraControl ('傾斜','停止'); 中斷; 案例“KEY_DOWN”:cameraControl ('傾斜','停止'); 中斷; 案例 'KEY_VOLUMEUP':com ('音訊音量增加'); 中斷; 案例 'KEY_VOLUMEDOWN':com ('音訊音量降低'); 中斷; 案例 'KEY_SLEEP':com(standbyState? “待機停用”:“待機啟動”);休息;默認值:中斷;} } });} 初始化();
|