Husion解碼Xpanel-pro之Lua腳本語言
來源:數(shù)字音視工程網(wǎng) 編輯:xiaotiao 2018-12-19 15:00:00 加入收藏
在Husion產(chǎn)品中會(huì)應(yīng)用一款軟件——Xpanel-pro,作為一款支持UI界面可編碼、支持Lua腳本語言、簡單靈活的應(yīng)用平臺(tái)軟件,可配合Husion分布式智能控制系統(tǒng)【DNC2000、DNC3000、REL8、REL8plus】、分布式KVM & IMIS系統(tǒng)和嵌入Lua腳本語言,可以實(shí)時(shí)靈活控制如投影、燈光、窗簾、空調(diào)、音響,信號(hào)切換等,并且實(shí)時(shí)反饋設(shè)備的運(yùn)行狀態(tài)。
Lua腳本語言以輕量級(jí),擴(kuò)展性好,兼容性好,靈活等特性著稱。Lua由標(biāo)準(zhǔn)的C所編寫,幾乎在所有操作系統(tǒng)和平臺(tái)都可以編譯運(yùn)行,包括Windows、Linux、IOS、安卓等操作系統(tǒng)。我們?cè)趹嵟男▲B、大話西游、魔獸世界、仙劍奇?zhèn)b傳、地下城與勇士等游戲都可以見到Lua的身影,真是走到哪里都有“你”,可見Lua腳本語言的應(yīng)用是很寬泛的。
Lua腳本語言與PHP、JavaScript等不同,它的設(shè)計(jì)目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能,它用標(biāo)準(zhǔn)C語言編寫并以源代碼形式開放,編譯后僅僅一百余K、啟動(dòng)速度快,平臺(tái)兼容性好等優(yōu)點(diǎn),讓它很合適嵌入到我們的應(yīng)用程序里面。
Lua沒有 "main" 程序的概念:它只能嵌入一個(gè)宿主程序中工作,這個(gè)宿主程序被稱作embedding program或簡稱為host。宿主程序可以通過調(diào)用函數(shù)執(zhí)行一小段Lua代碼,可以讀寫Lua變量。每個(gè)功能模塊既可以彼此獨(dú)立,又可以做到相互關(guān)聯(lián),完全可以根據(jù)項(xiàng)目現(xiàn)場(chǎng)的實(shí)際應(yīng)用需求來編程。
例如Xpanel-pro通過網(wǎng)絡(luò)與REL8plus通訊,然后REL8plus輸出控制外部設(shè)備的運(yùn)行狀態(tài),我們可以在Lua腳本里自定義一組local rel_on和local rel_off的數(shù)組,然后把數(shù)組索引與界面按鈕事件一一對(duì)應(yīng)起來,最終把平臺(tái)軟件與設(shè)備節(jié)點(diǎn)相互關(guān)聯(lián)起來。
由于Lua是嵌入到平臺(tái)軟件的,所以在不改變界面功能的前提下,我們僅僅修改Lua數(shù)組協(xié)議內(nèi)容,然后再嵌入到平臺(tái)軟件,就可以讓平臺(tái)軟件很好的支持第三方中控設(shè)備的控制,這對(duì)工程項(xiàng)目的調(diào)試,系統(tǒng)升級(jí)改造,系統(tǒng)運(yùn)維都提供了很大的便利和兼容性。
評(píng)論comment