一組代碼“統(tǒng)領(lǐng)”一座教學(xué)樓!幕后揭秘!

揭秘如何用一個(gè)控制系統(tǒng)將樓內(nèi)所有房間系統(tǒng)整合在一起,實(shí)現(xiàn)一體化靈活便捷的控制
來源:投影時(shí)代 更新日期:2021-12-16 作者:佚名

    年初,我們曾通過公眾號與大家分享了北卡羅來納大學(xué)威爾明頓分校 (簡稱: UNCW) 全新醫(yī)學(xué)綜合教學(xué)樓 (又稱: Veterans Hall) 的案例。當(dāng)中重點(diǎn)介紹了校方如何利用 Extron NAV 系統(tǒng)實(shí)現(xiàn)整座樓內(nèi)視音頻信號的分配。今天,我們將繼續(xù)探究這一案例,為您揭秘如何用一個(gè)控制系統(tǒng)將樓內(nèi)所有房間系統(tǒng)整合在一起,實(shí)現(xiàn)一體化靈活便捷的控制。

    項(xiàng)目挑戰(zhàn)

    UNCW 的管理層要求為 Veterans Hall 部署清一色的靈活式教學(xué)空間,以支持自主學(xué)習(xí)和混合式遠(yuǎn)程教學(xué)。面對如此挑戰(zhàn),學(xué)校的技術(shù)團(tuán)隊(duì)深知僅憑傳統(tǒng)模式下的大型矩陣切換機(jī)柜及單一的控制系統(tǒng)很難滿足此類需求。他們也更加清楚地知道,后續(xù)仍有一系列新技術(shù)及教學(xué)法要面向教師普及和推廣。這些都需要專職技術(shù)人員提供個(gè)性化的指導(dǎo),以確保獲得良好的初體驗(yàn)。為此,他們采用 Extron NAV 系統(tǒng)構(gòu)建了一套可覆蓋整座大樓的 AVoIP 解決方案。六層樓內(nèi)的 205 個(gè)節(jié)點(diǎn)統(tǒng)一由 Navigator 來管理。

    解決方案

    UNCW 使用 ControlScript (Extron 基于 Python 的腳本語言) 來進(jìn)行系統(tǒng)編程,以滿足其對大樓內(nèi)靈活且一體化的系統(tǒng)控制需求。ControlScript 的最大優(yōu)勢是其能夠直接利用 Button 對象的名稱。在代碼中既可利用 ID,也可使用名稱,通過字典和幫助函數(shù)創(chuàng)建具有不用意義的變量名。這些變量名可在樓內(nèi)多個(gè)控制系統(tǒng)當(dāng)中被靈活地重復(fù)使用。其次,ControlScript 能夠讓控制處理器之間建立網(wǎng)絡(luò)通信,教室和中心控制室的中控就形成了一種客戶端-服務(wù)器 (client-server) 這樣的主從關(guān)系。教室狀態(tài)及當(dāng)前有效輸入信息可定期被發(fā)送至控制室,控制室亦可回傳控制指令以調(diào)整教室的各種系統(tǒng)功能。

    ControlScript 事件裝飾符 (@event decorator) 也是該項(xiàng)目編程最關(guān)鍵的部分,通過它可創(chuàng)建新的數(shù)據(jù)對象。和按鍵被按下的事件類似,數(shù)據(jù)對象中變量的變化也會(huì)觸發(fā)相應(yīng)的程序。這樣,client-server 部分的代碼可按需更新變量,事件代碼可直接更改系統(tǒng)功能,而無需再將所有可選數(shù)據(jù)加載至網(wǎng)絡(luò)通信模塊的 ReceiveDatahandler 程序段。

    在這些編程技術(shù)的支持下,Veterans Hall 的控制室最多只需配備三名技術(shù)員即可。且通常情況下,一人完全能夠輕松監(jiān)控 9 間日常使用頻率最高的教室。這些教室配備有攝像頭、波束形成麥克風(fēng)、多臺顯示器及 AV 橋接器。一些自主學(xué)習(xí)空間甚至還包括多臺小組顯示器及 BYOD 無線設(shè)備。因有技術(shù)人員的實(shí)時(shí)監(jiān)控,教師們可集中精力在課堂教學(xué)上,無需擔(dān)心系統(tǒng)的運(yùn)行狀況。

    UNCW 對復(fù)雜系統(tǒng)的需求并不僅僅局限于這 9 間混合式教室。其還有 2 間高端會(huì)議室,1 間高級教學(xué)實(shí)驗(yàn)室 (大量學(xué)生電腦接入室內(nèi) AV 系統(tǒng)),1 間康復(fù)實(shí)驗(yàn)室 (采用 8 x 4 的滿配矩陣),以及 1 間解剖實(shí)驗(yàn)室 (5 個(gè)解剖臺的數(shù)字影像全部被路由至兩套小型拼接墻)。但不管如何復(fù)雜多變的空間設(shè)置,用于控制主用戶界面及整個(gè)系統(tǒng)核心 NAV 的基礎(chǔ)代碼始終是一致的。正所謂“以不變應(yīng)萬變”。

    對于控制室、解剖實(shí)驗(yàn)室和康復(fù)實(shí)驗(yàn)室,ControlScript 還可為終端用戶創(chuàng)建有意義而直觀的狀態(tài)反饋,如通過按鍵的動(dòng)態(tài)文字,或四種不同的按鍵狀態(tài)及背光色等方式來反饋當(dāng)前操作狀態(tài)。

    能如此便捷地重復(fù)調(diào)用代碼很大一部分歸功于 ControlScript 項(xiàng)目文件中包含多個(gè)不同功能的 Python 文件。入口程序文件 main.py 本身非常簡短,其通過導(dǎo)入 “devices.py” 和 “variables.py” 與各類設(shè)備建立連接,從 “InstructorTLP.py” 文件中定義界面對象,并調(diào)用功能函數(shù)。通常情況下,main.py 僅顯示為 26 行代碼。即使系統(tǒng)最復(fù)雜的教室 (包含 12 個(gè)自主學(xué)習(xí)區(qū),且所有設(shè)備由控制室集中控制),其代碼也顯示不超過 90 行。而事實(shí)上在不計(jì)算 Extron 設(shè)備模塊代碼的情況下,此類程序?qū)嶋H運(yùn)行的代碼也僅僅 1000 行。

    通過這種按文件區(qū)分代碼的方式,系統(tǒng)編程人員可輕松查看各類代碼窗口,確保代碼在整體“思想”上的一致性。需注意的是,變量并非如想象中那樣,可在任何地方進(jìn)行聲明。它只能在 variables.py 文件中聲明,并由 InstructorTLP 通過 variables.VARNAME 這樣的格式引用。device 程序亦是如此,采用 devices.Navigator 或 devices.SonyProj 這樣的引用方式。在創(chuàng)建不同的系統(tǒng)時(shí),程序員可在 device 或 variable 文件中輕松找到有關(guān) IP 地址、密碼、NAV 輸入/輸出編號有關(guān)的變量,并進(jìn)行微調(diào)。

    成果反饋

    沒有 Extron ControlScript 提供的靈活的編程環(huán)境,Veterans Hall 的視音頻系統(tǒng)便無法滿足 UNCW 提出的靈活多變的控制需求。

    Richard Blaylock, CTS-IAV

    系統(tǒng)工程師,綜合教學(xué)技術(shù)部

    UNCW

    動(dòng)態(tài)變量、面向?qū)ο缶幊淘O(shè)計(jì)、GUI 和代碼的智能化互連,以及對事件處理程序和 TCP/IP client-server 功能的訪問等,所有這些編程要素共同促成了 Veterans Hall 一體化的系統(tǒng)控制,并使得整個(gè)系統(tǒng)在過去一年,如此高風(fēng)險(xiǎn)的大環(huán)境下依然運(yùn)行良好。UNCW 已決定將 Extron ControlScript 的應(yīng)用擴(kuò)展至校內(nèi)更多項(xiàng)目,其中包括升級現(xiàn)有的遠(yuǎn)程教學(xué)控制室、改裝三向可分離式舞廳、主籃球館的音頻控制系統(tǒng)、電影后期制作計(jì)算機(jī)實(shí)驗(yàn)室乃至全新的 4K 數(shù)字影院等。

廣告聯(lián)系:010-82755684 | 010-82755685 手機(jī)版:m.pjtime.com官方微博:weibo.com/pjtime官方微信:pjtime
Copyright (C) 2007 by PjTime.com,投影時(shí)代網(wǎng) 版權(quán)所有 關(guān)于投影時(shí)代 | 聯(lián)系我們 | 歡迎來稿 | 網(wǎng)站地圖
返回首頁 網(wǎng)友評論 返回頂部 建議反饋
快速評論
驗(yàn)證碼: 看不清?點(diǎn)一下
發(fā)表評論