麒麟KY-RTI分佈模擬技術:第二章 系統安裝
第二章 系統安裝
本章介紹KY-RTI在Linux和Windows作業系統下的安裝方法。
2.1 Linux安裝
安裝程式:RTI-1.3NGv6.tar.gz。假設當前的Linux使用者名稱為lbq,HOME目錄為/home/lbq。KY-RTI的安裝目錄為HOME目錄,則操作步驟如下。
第1步:解壓檔案。
cd /home/lbq
tar xvfz RTI-1.3NGv6.tar.gz
圖2.1 Linux系統中KY-RTI的目錄結構
KY-RTI的整個目錄結構如圖2.1所示。KY-RTI採用了與DMSO RTI-1.3NGV6一致的目錄結構。KY-RTI的根目錄為RTI-1.3NGV6,子目錄為Linux-x86_64-opt-mt。該子目錄名稱其實並不重要,可以任意命名。在Linux-x86_64-opt-mt目錄下的apps、bin、config、doc、etc、include、lib是DMSO RTI-1.3NGV6原有的目錄結構,KY-RTI保留了這些目錄。對一般使用者而言,可以忽略config、doc、etc這3個目錄,它們只在移植舊的模擬程式時有用。
(1)apps
該目錄是GNU C++示例,包括helloWorld、chat、time-tick、time-notick、ping-tick、pong-tick等示例程式和一個README檔案。
目錄 |
用例簡介 |
helloWorld |
該例是DMSO RTI-NG1.3v6自帶的例子,其原始碼和目錄結構幾乎原封不動。雖然作為DMSO的示範用例,但該例較為複雜,建議新手從其他用例入門。 |
chat |
一個聊天程式,該例使用了互動類,沒有使用tick服務。 |
time-tick |
該例使用了物件類和時間管理服務,使用了tick服務。 |
time-notick |
該例使用了物件類和時間管理服務,沒有使用tick服務。 |
ping-tick |
使用了tick服務的ping用例 |
pong-tick |
使用了tick服務的pong用例 |
(2)apps-qt
該目錄包括2個使用Qt Creator開發的Qt示例。
目錄 |
用例簡介 |
QtChatConsole |
一個Qt聊天程式,該例使用了互動類,沒有使用tick服務。 |
QtTimeManagement |
一個使用了物件類和時間管理服務,沒有使用tick服務的Qt程式。 |
(3)apps-java
該目錄包括2個支援OpenJDK和Oracle JDK/JRE的Java示例。
目錄 |
用例簡介 |
chat |
一個Java聊天程式,該例使用了互動類,沒有使用tick服務。 |
time |
一個使用了物件類和時間管理服務,沒有使用tick服務的Java程式。 |
(4)jar
該目錄包括kyrti.jar,用於Java開發。
(5)bin
該目錄為KY-RTI伺服器程式所在目錄。
目錄 |
用例簡介 |
KY-RTI |
KY-RTI伺服器。 |
configure.rti |
設定KY-RTI伺服器的埠號。 |
MachineInfo |
採集KY-RTI伺服器的硬體資訊。 |
MachineInfo.txt |
MachineInfo程式執行後的結果儲存檔案。 |
HelloWorld.fed |
HelloWorld程式採用的fed檔案。 |
chat.fed |
聊天程式、ping/pong程式採用的fed檔案。 |
tracer.fed |
時間管理程式採用的fed檔案。 |
(6)include
該目錄為KY-RTI的GNU C++和Qt的標頭檔案目錄,如圖2.1所示,所有檔案與DMSO RTI-1.3NGV6一致。
(7)lib
該目錄為KY-RTI的GNU C++和Qt的庫檔案目錄,所有檔案與DMSO RTI-1.3NGV6一致。
第2步:設定環境變數。
在Linux-x86_64-opt-mt目錄下的env.sh和env.csh用於設定環境變數,shell指令碼請參照env.sh,csh請參照env.csh。當前作業系統的使用者大都採用shell。
設定環境變數一般可以採用下列幾種方法之一,但以第一種方法最為可靠,後面兩種方法在有些作業系統上不起作用。環境變數設定完後,要關閉所有開啟的終端並重新開啟。
(1)vim $HOME/.bashrc
將環境變數新增到.bashrc檔案的最後。
(2)vim /etc/profile
將環境變數新增到/etc/profile檔案的最後。
(3)cp env.sh env.csh /etc/profile.d/
根據安裝目錄修改env.sh env.csh後將它們拷貝到/etc/profile.d/。
所新增的環境變數如圖2.2所示,如果沒有安裝Java,則可以安裝OpenJDK或者從Oracle網站下載JDK安裝。
圖2.2 env.sh檔案內容,
第3步:確認環境變數是否生效
執行下列命令,如果不為空則設定成功。
echo $RTI_HOME
第4步:獲取授權檔案
KY-RTI在正常執行之前,需要進行授權。為簡化使用者開發,只需要授權KY-RTI伺服器這一臺機器,其他所有客戶端機器都不需要授權。相關步驟為:
(1)獲取機器資訊
cd /home/lbq/RTI-1.3NGv6/Linux-x86_64-opt-mt/bin
./MachineInfo
(2)將本機新生成的MachineInfo.txt傳送到郵箱:[email protected]或[email protected]
(3)將收到的授權檔案改名為RTI.lic,拷貝到/etc目錄,使用root使用者執行下列命令。
cp RTI.lic /etc/
chmod 755 /etc/RTI.lic
第5步:啟動KY-RTI伺服器
cd /home/lbq/RTI-1.3NGv6/Linux-x86_64-opt-mt/bin
./KY-RTI
KY-RTI是一個控制檯程式,啟動介面非常簡單,沿用了DMSO RTI-1.3NGV6的風格,但效能高、穩定性極好。KY-RTI使用的預設埠號為10000,可以在configure.rti中進行配置。
圖2.3 KY-RTI啟動介面
2.2 Windows安裝
第1步:安裝軟體包
在Windows系統下,使用者的需求多種多樣。有兩種軟體包和相應的安裝方法。
方法一:自動安裝
直接執行RTI-1.3NGv6.exe,所有環境變數由安裝程式自動解決。安裝程式會將KY-RTI相關的動態庫檔案拷貝到Windows系統目錄下。
方法二:手動安裝
一些使用者認為安裝程式將動態庫檔案拷貝到Windows系統目錄不好控制,因此希望提供手動安裝方法,動態庫檔案儲存在KY-RTI的自身目錄。
(1)選擇一個目錄,將RTI-1.3NGv6.zip解壓到該目錄。假設安裝目錄為:C:\KY-RTI。
(2)將C:\KY-RTI\dll目錄新增到系統的PATH目錄。
方法為:從桌面或資源管理器中選擇“計算機”,右鍵“屬性”,點選“高階系統設定”,點選“環境變數”,選擇“系統變數”中的“Path”,點選“編輯”按鈕,在後面新增“;C:\KY-RTI\dll”。注意,在Windows系統下,目錄之間用‘;’分隔;在Linux系統下,則用‘:’分隔。
KY-RTI的整個目錄結構如圖2.4所示。KY-RTI的根目錄為KY-RTI,子目錄包括VC++開發所需要的include、lib、dll目錄和demo-vc用例目錄,include目錄與DMSO RTI-1.3NGV6完全一致,如圖2.5所示;子目錄還包括Qt用例目錄demo-qt;用於Java開發的jar和demo-java用例目錄;用於VC#開發的include-cs和demo-cs用例目錄,include-cs為使用者提供了可供參考的VC#版本的HLA服務,因為VC#與Java語法類似,所以開發Java程式需要使用HLA服務時也可參考該目錄下的檔案。
圖2.4 Windows系統中KY-RTI的目錄結構
圖2.5 Windows系統中KY-RTI的include目錄
第2步:開發Java模擬應用
基於Java開發模擬應用,需要安裝Java並正確設定環境變數。
(1)安裝Java。Windows系統下通常是Oracle JDK,可從Oracle官網下載JDK壓縮包。
假設JDK軟體包解壓後的目錄為:C:\jdk1.8.0_171,則設定下列環境變數。
(a)JAVA_HOME=C:\jdk1.8.0_171
(b)在PATH環境變數後面新增“;${JAVA_HOME}/bin”
(2)將kyrti.jar拷貝到某一目錄,並將其新增到CLASSPATH環境變數。通常可設定為:
CLASSPATH=.;C:\KY-RTI\jar\ky-rti.jar
第3步:獲取授權檔案
KY-RTI在正常執行之前,需要進行授權。為簡化使用者開發,只需要授權KY-RTI伺服器這一臺機器,其他所有客戶端機器都不需要授權。相關步驟為:
(1)獲取機器資訊
執行bin目錄下的MachineInfo程式,將與本機相關的資訊傳送到郵箱:[email protected]或[email protected]
(2)將收到的授權檔案改名為RTI.lic,拷貝到C盤根目錄“C:\”。
最後執行bin目錄下的KY-RTI.exe程式啟動伺服器。KY-RTI使用的預設埠號為10000,可以在configure.rti中進行配置。
麒麟RTI軟體KY-RTI的Linux、Windows版本和原始碼請聯絡作者:[email protected]
麒麟KY-RTI分佈模擬技術:第三章 KY-OMT物件模型模板工具
麒麟KY-RTI分佈模擬技術:第七章 Visual C++程式設計