DDS (Data Distribution Services) 是OMG所制定的一個訊息傳遞的標準,其中PrismTech的OpenSplice實現了這個標準,而且提供了Community的版本供學習者免費使用,非常方便。這篇文章主要說明如何在你的作業系統中安裝這個版本,並可以在你的電腦中練習開發DDS應用程式。

首先,請到PrismTech公司網站中下載程式,他們提供非常多的版本以因應在不同的作業系統中,筆者建議您使用Ubuntu 14.04的版本,而很棒的是,如果你打算在樹莓派(Raspberry Pi)下開發,他們也有對應的版本可以使用。以Ubuntu 14.04 64bit為例,我們下載的是DDS Community Edition Version 6.x for Linux kernel 2.6 and up (64-bit) Host and Target, gcc 4.4 compiler, x86 chipset (RHEL 6)這個版本。

下載之後是一個.tar.gz的壓縮檔案,需先使用「tar zxvf」指令解壓縮之後,會出現一個HDE的資料夾,這個就是我們要使用的資料夾。接著請把此資料夾搬移到/opt/OpenSplice的資料夾之下,操作過程如下(請先使用sudo -i成為root帳號,前面的「#」即為root的提示字元):

# mkdir -p /opt/PrismTech
# mv HDE /opt/PrismTech

接著編輯 /opt/PrismTech/HDE/x86_64.linux 目錄下的release.com,變更系統的安裝目錄OSPL_HOME,如下所示:

這個路徑要設定正確,系統才能夠正常編輯執行。儲存此檔案之後,請執行「source release.com」,以正確設定所有的環境變數。接下來就可以前往範例程式的目錄 /opt/PrismTech/HDE/x86_64.linux/examples/dcps,找到有興趣的範例程式執行看看了。所有的範例如下所示:

以HelloWorld這個範例為例,它的檔案結構如下所示:

它包含了C/C++/ISOC++/Java等4個程式語言的範例,如果我們打算使用CPP的話,只要切換到 HelloWorld/cpp的資料夾之下,然後再到 standalone 資料夾之下,執行「make」指令即可。不過在第一次 make 之前,別忘了要為系統安裝 g++ 編譯器 「apt-get install g++」。make 執行順利的話,則 HelloWorld/cpp 目錄之下的內容會像是如下所示的樣子:

其中 src 之下的檔案是此範例的主程式,而 standalone 底下的 *.h 以及 *.cpp 則是由 IDL 檔案所產生的,在此範例中,sacpp_helloworld_pub 以及 sacpp_helloworld_sub 則分別是此範例的 Publisher 和  Subscriber 應用程式,先執行 Subscriber 程式,然後執行 Publisher ,此程式會送一個訊息給 Subscriber,送出之前和接收之後,都會在螢幕上顯示 Hello World 這個訊息。如果能夠正確 make 和執行此兩個程式,就表示你的系統安裝正確無誤。

 

(565)