キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
334
閲覧回数
10
いいね!
0
コメント
Yuki Iwagishi
Cisco Employee
Cisco Employee

はじめに

Touch 10 - CE8.2 および DX70/DX80-CE8.3 では In Room Control機能 (室内制御機能)が追加されました。 これにより、会議室の照明・空調・ブラインド・各種ディスプレイの入力ソースなどを Touch 10 や DX からコントロールすることができます。連携のためには、

  • ビデオ会議システム: DX/MX/SX/Room Kit
  • 会議室制御システム: Crestron社製 AMX社製など

この2点が必要となります。ただ、会議室制御システムについてはラズペリーパイやPCを使って自作をしたりすでにあるものを利用してインテグレーションすることもできます。

今回このポストでは In Room ControlのAPI の理解と、シスコ製品で完結できるデモを目的に DX70 と Catalyst 3560CX のEEM 機能を使った POE コントロール デモを作成します。

デモビデオ

https://supportforums.cisco.com/ja/video/13276686

利用したもの

  • DX70 - CE9.0.1 を利用 (CE8.3以降必要)
  • Catalyst 3560CX (多少古めのCatalystでもOK)
  • IP Phone (PoE 動作確認用)

DX70 In Room Control エディタ

TelePresence 端末の Web 管理画面から In Room Control エディタを起動します。

Integration > In-Room Control

Launch Editor をクリックします。なお、Launch Simulator (CE9, CE8.3の場合Editor から呼び出し)を利用するとより実践的な「会議室」をシミュレーションすることができます。Chromeブラウザが必須です、。 

Panels 横の + をクリックします。

会議室制御画面の呼び出し方を選びます。通話中、アイドルにかかわらず、いつでも呼び出せる「Globally」、アイドル時に呼び出せる「Home Screen」、通話中に呼び出せる「In Call」の3つが選べますが今回は Home Screenを利用します。

編集画面となります。

Pane Name を "IP Phone" にします。ホームスクリーンのアイコン下に表示されます。アイコンはそのまま照明にします。

Page と Row のそれぞれ Name をIP Phone / Gi0/1 (スイッチのポート番号) と編集します。ここはラベルとしての役割だけですので、自由な名前が使えます。次に WidgetsからToggle On/Off を Gi0/1 列に配置します。

Toggle On/Off のWidget ID を ipphone にします。この ID は、利用者がオン・オフを設定した際のイベント検知で利用します。

Export Configuration アイコンで、DX にエディタで編集した内容を読み込ませます。

作成したアイコンが表示され、タップするとトグルが出てきます。

TelePresence 動作確認

TelePresence 側の動作を確認します。SSH/Telnet またはmicro USBポートを使ったシリアル接続でログインします。

コマンド

xfeedback register event/UserInterface/Extensions/Event

を入力します。

次に、先ほど作成したトグルをオンオフし、下記のような出力が出ることを確認します。

*e UserInterface Extensions Event Changed Signal: "ipphone:off"

** end

*e UserInterface Extensions Event Changed Signal: "ipphone:on"

** end

In Room Control の API ではこの xfeedback コマンドによって得られるテキストのイベント出力をモニタし、その文字列に合わせて会議室制御装置が動作をします。

SSH/Telnet/シリアルによるテキストの他に XML/JSON を利用した HTTP Post も利用可能です。

EEM 設定

Catalyst 側の設定を実施します。TelePresence 端末への IP 疎通が必要です。

interface Vlan1

ip address 192.168.1.254 255.255.255.0

また、逆引きによる時間ロスを防ぐために DNS 引きをしないようにします。

no ip domain-lookup

EEM のコマンドを入力します。大まかな処理は下記の通りです。

  1. Cron で毎分0秒に呼び出し
  2. SSH でDX にログイン
  3. xfeedback コマンドでイベントをモニタ
  4. widget id "ipphone" を検知し、 "ipphone:on" なのか "ipphone:off" なのかを変数 $result に入れる。
  5. 出力に合わせ、POE On/Off の処理を実施(別アプレット呼び出し)

メインアプレット

event manager applet room_control

event timer cron name EVERY_MINUTE cron-entry "0-59/1 * * * *" maxrun 60

action 010 cli command "enable"

action 020 cli command "ssh -l admin 192.168.1.2 " pattern "assword:"

action 030 cli command "cisco" pattern "OK"

action 035 set result "none"

action 040 cli command "xfeedback register event/UserInterface/Extensions/Event" pattern "ipphone"

action 050 regexp "ipphone:on" "$_cli_result" result

action 060 regexp "ipphone:off" "$_cli_result" result

action 070 syslog msg "$result"

action 071 cli command "bye" pattern "#"

action 080 if $result eq "ipphone:on"

action 081  cli command "event manager run poe_noshut"

action 082 else

action 083  cli command "event manager run poe_shut"

action 084 end

action 100 if $result ne "none" goto 010

action 101 if $result eq "none" goto 010

POE On のアプレット

event manager applet poe_shut

event none default 0

action 005 syslog msg "### PoE off###"

action 010 cli command "enable"

action 020 cli command "cisco"

action 030 cli command "conf t"

action 040 cli command "int gi0/1"

action 050 cli command "shutdown"

POE Off のアプレット

event manager applet poe_noshut

event none default 0

action 005 syslog msg "### PoE On###"

action 010 cli command "enable"

action 020 cli command "cisco"

action 030 cli command "conf t"

action 040 cli command "int gi0/1"

action 050 cli command "no shutdown"

いかがでしょうか。手動でのコマンド入力をEEMでは自動化することができます。また、コマンドそのものですので、特別な知識は必要ありません。

なお、デバッグ目的で Syslog 出力をわざと出しています。

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします