新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于全球星實現無人機遠程通信

        基于全球星實現無人機遠程通信

        作者: 時間:2009-07-03 來源:網絡 收藏
        4.1.5 數據維護階段
        平時可利用數據維護軟件對數據庫進行備份、刪除等管理,可對歷史數據查詢、調閱、生成報表、打印、導出等工作。
        4.2 關鍵技術
        4.2.1 多線程技術
        本系統涉及撥號連接、網絡、串口、數據分包、狀態監視等。眾多任務實時完成,如果管理不慎,將造成系統資源沖突,使系統穩定性降低。因此,在開發時采用多線程技術管理任務,共創建了四個服務線程:串口線程,負責管理有關串口通信的所有任務;網關連接線程,負責撥號連接,監視星星歷狀態,系統斷開后自動實時連接;網絡通信線程,負責有關網絡SOCKET通信的所有任務;數據處理線程,負責實時生成傳輸的數據包,對數據進行加密、壓縮、分包、合包等任務。依靠線程中斷、掛起、通信等線程服務手段來各個任務之間的信息交互,有效防止資源沖突互鎖。
        4.2.2 撥號連接網關
        在使用星提供的通信服務時,必須使GSP-1620與網關保持連接,而且要實時監測連接狀態,在斷開時,重新連接。連接方式采用的是撥號連接的方式。以WINDOWS平臺為例撥號連接的程序如下:

        本文引用地址:http://www.104case.com/article/158020.htm


        定義連接參數rdParams,并根據需要初始化該連接參數。
        DWORD dwError=RasDial(NULL,NULL,rdParams,0L,(RASDIALFUNC)RasDialFunc,&m_hRasConn);
        調用API函數RasDial進行撥號連接,入口參數主要有連接參數rdParams和回調函數RasDialFunc。
        回調函數RasDialFunc定義如下:


        回調函數的主要作用為根據連接狀態執行相應的任務,比如連接成功時則調用API函數RasGetProjec-tionInfo獲取網關給本用戶分配的IP,獲得IP后才可以應用TCP/IP或UDP協議進行信息傳輸。
        另一個比較重要的API函數是RasGetConnect-Status,利用該函數可實時獲取網關連接狀態。
        4.2.3 網絡通信
        撥號連接網關成功后,獲得分配IP,則進行網絡通信,通信時即可采用TCP/IP協議也可采用UDP協議,開發時根據需要確定。以UDP協議為例,網絡通信程序如下:


        如果創建成功,則綁定該SOCKET,綁定端口號為port。綁定后,則可創建網絡數據處理線程,實時接收和發送數據。接收和發送數據的程序分別為:


        resulut和sent分別代表接收的字節數和發送的字節數。
        4.2.4 串口通信
        串口可以被當作文件資源來管理,因此利用Cre-ateFile,OpenFile和WriteFile三個文件操作API函數即可打開串口、讀寫數據的功能。以Windows操作系統為例,程序如下:


        該函數實現了打開串口號為port的串口,打開成功返回真,失敗返回假。


        該函數實現了從打開的串口中讀取緩沖區中的數據。


        該函數實現了將數據寫入打開的串口。
        4.2.5 數據分包
        由于網口和串口每次傳輸的數據量有限,為了滿足信息批量傳輸的需求,必須將需要傳輸的數據(例如:一個2 MB的圖像文件)首先分解成一個個獨立的數據包,發送時每次發送一個數據包,等接收端接收到所有的數據包時,將數據包進行合包,解析出原始數據。在發送時可能出現個別數據包丟失的情況,在接收端根據數據包內的標識判斷丟失的數據包,然后向發送端請求重發丟失的數據包。數據包數據結構設計如表1所示。數據包序號為每個數據包的惟一的標識序號;子包個數代表該數據包所屬的需要傳輸數據分包后形成的子包的個數;子包序號代表該數據包所屬的需要傳輸數據分包后形成的子包群中的排序號;信息頭代表傳輸的信息類型編碼。利用該數據結構即可編制任意長度數據的傳輸程序,而且能夠保證數據傳輸的速度和正確性。

        5 結 語
        應用星的通信功能為設計了一套通信系統,并解決了在開發中遇到的連接網關、網絡通信、數據分包等關鍵技術問題。該系統通信不受時間、距離、地域限制,通信能力強,可傳輸語音、數據、圖像等信息。系統造價低及開發風險低,因此具有廣泛的應用前景。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 浦县| 永安市| 佛坪县| 安丘市| 黑龙江省| 汉中市| 马边| 赤壁市| 务川| 阜宁县| 衡阳县| 珠海市| 秭归县| 连平县| 仙游县| 海宁市| 平度市| 遂昌县| 武强县| 苗栗市| 囊谦县| 南漳县| 黑龙江省| 阿克| 都江堰市| 福海县| 海原县| 怀宁县| 滦南县| 曲水县| 郯城县| 游戏| 双峰县| 克拉玛依市| 咸阳市| 襄汾县| 黄浦区| 郸城县| 莱芜市| 宜昌市| 富源县|