在TCP/IP協(xié)議組中,IP協(xié)議是網(wǎng)絡(luò)層協(xié)議。TCP協(xié)議是一種面向連接的協(xié)議,他能夠提供可靠的、全雙工的網(wǎng)絡(luò)通信服務(wù),具有確認、數(shù)據(jù)流控制、多路復(fù)用和數(shù)據(jù)同步等功能,適合高質(zhì)量數(shù)據(jù)的傳輸,是目前應(yīng)用最為廣泛的網(wǎng)絡(luò)傳輸協(xié)議之一。但是,由于TCP協(xié)議實現(xiàn)復(fù)雜,網(wǎng)絡(luò)開銷大,以及其提供的確認與超時重傳機制都給數(shù)據(jù)傳輸帶來很大的時延。因此TCP協(xié)議不適合傳輸實時視頻數(shù)據(jù)和突發(fā)性的大量數(shù)據(jù)。
UDP協(xié)議是無連接協(xié)議,報文交換機理簡單,不存在多重確認機制,從而減少了因建立連接和撤除連接所需要的巨大開銷。每個分組都攜帶完整的目的地址,在各分組系統(tǒng)中獨立傳送,他不保證分組的先后順序,不進行分組出錯的恢復(fù)與重傳,因此無法保證傳輸?shù)目煽啃院头?wù)質(zhì)量。但是相對于TCP協(xié)議,UDP 協(xié)議減少了確認、同步等操作,節(jié)省了很大的網(wǎng)絡(luò)開銷。他能夠提供高傳輸效率的數(shù)據(jù)報服務(wù),能夠?qū)崿F(xiàn)數(shù)據(jù)的實時性傳輸,在數(shù)據(jù)的實時傳輸中應(yīng)用廣泛。為了保證無人機視頻數(shù)據(jù)傳輸?shù)膶崟r性,采用IP協(xié)議和UDP協(xié)議作為系統(tǒng)的通信協(xié)議。
系統(tǒng)中網(wǎng)絡(luò)傳輸部分的軟件實現(xiàn)采用socket(套接口)編程技術(shù),系統(tǒng)調(diào)用socket()函數(shù),返回一個整型的socket描述符,視頻數(shù)據(jù)傳輸便是通過該socket函數(shù)實現(xiàn)的。常用的socket類型對應(yīng)于傳輸協(xié)議也有兩種:流式socket和數(shù)據(jù)報式socket。前者使用TCP協(xié)議,后者使用UDP協(xié)議,本系統(tǒng)中采用的是數(shù)據(jù)報式socket。以下是下位機socket編程的主要實現(xiàn):
由上位機的無線網(wǎng)卡負責接收下位機的視頻數(shù)據(jù),并根據(jù)JPEG圖像的解壓原理對視頻數(shù)據(jù)進行解壓縮并顯示。圖3,圖4可以看到從下位機采集到視頻數(shù)據(jù)并通過處理之后發(fā)到上位機然后顯示出來的效果。