基于STM32的CANOpen主站開發(fā)
利用STM32的內(nèi)部CAN模塊進行外部收發(fā)器的設計,實現(xiàn)CAN通信接口硬件電路。
在μC/OS-III操作系統(tǒng)上進行相關程序開發(fā),實現(xiàn)CANOpen主站功能,在DS402協(xié)議下支持SDO和PDO操作,從而實現(xiàn)對伺服電機的分布式通信控制,取代傳統(tǒng)控制方式,實現(xiàn)更為高效更為簡潔的控制方案。
基于STM32的網(wǎng)絡客戶端開發(fā)
利用STM32系列芯片內(nèi)部網(wǎng)絡模塊進行外部PHY擴展,實現(xiàn)網(wǎng)絡通信硬件電路。
在μC/OS-III操作系統(tǒng)上進行相關軟件程序開發(fā),實現(xiàn)TCP/UDP客戶端功能,軟件任務具備數(shù)據(jù)上傳和數(shù)據(jù)接收功能,從而實現(xiàn)模塊采集數(shù)據(jù)的網(wǎng)絡上傳和服務器下發(fā)指令的接收執(zhí)行。
基于JavaFx的上位機管控系統(tǒng)開發(fā)
利用JavaFx插件開發(fā)基于Java的桌面應用程序,實現(xiàn)上位機管控系統(tǒng)。上位機可以通過netty框架進行TCP/UDP客戶端的代碼設計,從而簡單便捷的連接服務器,獲取服務器相關數(shù)據(jù)。同時可以向服務器發(fā)送命令和數(shù)據(jù),從而達到管理和控制系統(tǒng)中其它模塊的功能。上位機需具備用戶登錄、平臺測試以及特效測試等界面。
基于Linux系統(tǒng)的服務器開發(fā)
利用Java開發(fā)可跨平臺的服務器程序(可能需要運行在Windows系統(tǒng)上),用于連接和管理各個客戶端模塊,響應和處理各個客戶端請求。服務器程序利用netty框架進行Socket套接字開發(fā),建立TCP服務端監(jiān)聽端口。服務器還必須能夠讀取Excel或者txt格式文件,用來獲取動作文件信息,以及加載json解析器用來解析json格式姿態(tài)信息。
服務器程序能方便的上傳到Linux服務器,并配置Linux服務器各項參數(shù)以正確運行服務器程序已經(jīng)保存各項日志信息到指定位置,方便設備正常維護。
沉浸式影院控制系統(tǒng)結構如圖所示。系統(tǒng)中一臺Linux服務器為核心單元,管理和控制設備其它各個模塊,系統(tǒng)中其它模塊通過交換機組網(wǎng)與服務器通信。系統(tǒng)中各個模塊分別控制各個環(huán)節(jié)相關硬件設備。其中包括平臺控制模塊、特效控制模塊、總控操作臺模塊、按鈕指示燈模塊、視頻播放器模塊等。
