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