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