在此文章中
範例
將第三方 USB 輸入裝置與 Board、Desk 和 Room 系列一起使用
list-menu在此文章中
list-menu意見回饋?

您可以使用第三方 USB 周邊設備來控制裝置上的某些功能,例如 USB 鍵盤或帶有 USB 加密狗的 Bluetooth® 遙控器。

此功能旨在 補充 觸摸控制器或觸摸使用者介面的功能。 它不是要 取代 它們。

應用範例:

  • 在教室和講座期間,可以使用小型遙控器將設備從待機模式喚醒。使用遙控器選擇要呈現的輸入源也可能很方便。

  • 在不允許使用 Touch 控制器的情況下控制攝影機檢視 (平移、傾斜和縮放)。 例如,在醫院的手術室。

功能概述

當按下 USB 輸入裝置上的按鈕時,它會觸發 Cisco 裝置的 API 中的操作。 可以設置來自第三方的 宏或外部控制設備來檢測這些操作並做出相應的反應。 此功能類似於「會議室中控制」按鈕的行為方式。 此外,可以通過 Webhook 或直接在 SSH 工作階段中監視這些操作。

不提供預先存在的操作庫供您選擇。 您需要定義和建立回應事件時應執行的特定操作。 例如:

  • 在按下「音量調高」按鍵時,增加 Cisco 裝置的音量。

  • PUT 按下睡眠鍵時 Cisco 裝置處於待機模式。

組態、事件和狀態

此文章參考組態和狀態,可同時從裝置的本機 Web 介面和 API 組態使用。 有關如何訪問 Web 介面和使用 API 的資訊, 請閱讀設備配置一文

打開設備的 Web 介面後,按兩下 設置 。 在「組態 」下 ,將「周邊設備 > 輸入裝置模式 」變更 「開」。 第三方 USB 輸入裝置的支援預設為停用。

按下並釋放按鈕將生成 「已按下 」和「 已釋放 」事件:

 *e 使用者介面輸入裝置按鍵鍵:<鍵的名稱> *e 使用者介面 InputDevice 按鍵操作代碼:鍵的 <ID > *e 使用者介面 InputDevice 按鍵操作類型:按下 ** 結束 *e 使用者介面輸入裝置按鍵按鍵鍵:<鍵的名稱> *e 使用者介面 InputDevice 按鍵操作代碼:<ID 鍵> *e 使用者介面輸入裝置按鍵操作類型:發佈 ** 結束 

若要偵聽事件,必須註冊來自 InputDevice 事件的 反饋:

 x 反饋寄存器 /事件/使用者介面/輸入裝置 ** 結束 

當 Cisco 裝置偵測到第三方周邊設備時,它將列在「狀態 」下 及「 周邊設備 > 已連接裝置 」中。 第三方設備可能會被報告為多台設備。

更多資訊

如需使用第三方輸入裝置的更多資訊, 請參閱自訂指南 。 請選擇最新版本。

Cisco 支援 (TAC) 不支援第三方程式碼 (包括巨集) 的偵錯。 如需巨集與第三方程式碼方面的協助,請查看 Cisco RoomOS for Collaboration Devices 。 查看 此頁面 以獲取宏和擴展的更多範例。

範例

在此範例中,我們將向您展示如何使用第三方 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 執行關聯的操作。

  • 喚起待命、音量調高和調低按鈕。 當巨集發現包含 KEY_VOLUMEUP、KEY_VOLUMEDOWN 或 KEY_SLEEP 的事件時,它會執行相關命令。

  • 為方向鍵建立攝影機控制功能。 我們需要使攝影機在按下按鈕時不斷移動。 當放開按鈕時,攝影機會停止移動。 當巨集發現包含 KEY_LEFT、KEY_RIGHT、KEY_UP 或 KEY_DOWN 的事件時,它會執行相關命令。

 常量 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? “待機停用”:“待機啟動”);休息;默認值:中斷;} } });} 初始化(); 
本文是否有幫助?
本文是否有幫助?