湯澤軍
摘 要:采用STM32F07VCT6作為嵌入式MCU構建現場控制器,應用定位技術、獲取定位對象(無人機)的地理信息,通過GPRS或3G等與數字移動終端進行通信,從而能在數字終端的地圖上定位無人機的位置。該無人機遠程定位系統主要實現如下功能:遠程網絡通信,無人機位置信息采集,位置信息傳輸,在數字地圖上進行位置定位。
關鍵詞:STM32F07VCT6 遠程定位 無人機 遠程網絡通信
中圖分類號:TP27 文獻標識碼:A 文章編號:1672-3791(2017)03(b)-0003-04
Design of a UAV Remote Location System Based on Android
Tang Zejun
(Changsha Aeronautical Vocational and Technical College, Changsha Hunan, 410124, China)
Abstract: Using STM32F07VCT6 as the embedded MCU construction site controller, positioning technology, positioning object (UAV) acquisition of geographic information, communication and digital mobile terminal through GPRS or 3G, which can locate the UAV's location on the map in digital terminal. The unmanned aerial vehicle remote location system mainly realizes the following functions: remote network communication, UAV position information collection, position information transmission, positioning on the digital map.
Key Words: STM32F07VCT6; Remote location; UAV; Remote network communication
無人機外形結構簡單,造價低廉,可在空中長時間飛行,通過遠距離控制可前往一些危險、未探測領域,有效保障機操作人員的人身安全,無人機的這些優點使其廣泛應用于軍事及民用領域。GPS定位技術精度高、可靠性強、使用方便,也得到廣泛應用。基于無人機的優點和GPS定位技術的發展,以無人機為搭載平臺,提出了基于Android的無人機遠程定位系統。
定位技術是通過定位模塊或其他定位設備等定位信息,送到MCU進行數據解析、處理而獲得地理位置數據的技術。目前,定位技術在工程安全監測、設備運行監控、交通導航、目標定位等方面得到廣泛應用。該系統采用STM32F07VCT6作為嵌入式MCU構建現場控制器,應用定位技術、獲取定位對象(無人機)的地理信息。再通過GPRS或3G等與數字終端進行通信,在數字終端的地圖上定位無人機的位置。通過系統軟硬件設計與制作實現一個遠程定位系統。
1 定位系統的技術要求
我國在20世紀50、60年代開始研制無人機,并在80年代開始對其進行應用。雖然起步較晚,但是其發展速度非常快,國內研究學者幾十年來堅持不懈的努力使我國在無人機技術方面得了一定科研成果,數十種無人機已經作為靶機或偵察機應用于軍事領域。無人機的定位功能,實際上就是確定某一目標在某一參考坐標系中的相對位置。該遠程定位系統的技術要求有兩點:一是要能獲取遠程定位對象(無人機)的定位數據經度、緯度、海拔高度、速度信息;二是在數字終端的地圖上顯示定位對象(無人機),要求誤差在±10 m以內。
2 遠程定位系統硬件系統設計
2.1 系統硬件框圖
根據功能分析、總體框圖、系統硬件只需設計下位機的硬件電路。下位機主要實現無人機定位信息采集與數據通信。硬件結構如圖1所示。
2.2 主要器件選擇型
(1)GPS模塊選擇。
GPS模塊種類很多,品種齊全,從性價比角度考慮,選擇GR-87型GPS模塊。GR-87型GPS模塊采用SiRF第三代高靈敏度、低耗電量芯片StarIII。內建ARM7TDMI CPU可符合客制需求。具備快速定位及追蹤20顆衛星的能力,內置標準25 mm×25 mm×4 mm陶瓷GPS天線模塊。體積超小。芯片內建200 000個衛星追蹤運算器,大幅提高搜尋及運算衛星訊號能力。內建WASS/EGNOS解調器,低耗電量,具備有省電模式(Trickle-Power)功能,以及在設定的時間才啟動的定時定位。支持NMEA018 3.22版本規格輸出。模塊規格特性如下,可用于機載導航。
(2)通信模塊選擇。
該設計選用無線網絡通信方式, WiFi模塊電路能提供一種將用戶的物理設備連接到Wi-Fi無線網絡上,并提供UART串口等接口傳輸數據的解決方案,接口方式簡單。設計中選用USR-WIFI232-T模塊,該模塊硬件上集成了MAC、基頻芯片、射頻收發單元以及功率放大器;嵌入式的固件則支持Wi-Fi協議及配置,以及組網的TCP/IP協議棧,是一款一體化的803.11 b/g/n Wi-Fi的低功耗模塊。
(3)硬件電路搭建。
由于系統采用專用GPS接收模塊與WiFi網絡通信模塊。增加了GPS模塊接口電路,通信模塊與最小系統通過串口相連接,GPS硬件電路如圖2所示,WiFi模塊接口電路如圖3所示。
3 遠程定位系統軟件系統設計
3.1 軟件設計思路
下位機完成無人機定位信息的采集與數據的發送與指令的接收,上位機接收數據并打開數字地圖,在地圖上定位無人機的位置,因此軟件分為移動終端地圖定位部分和無人機定位部分兩大部分。其中無人機定位部分按功能分為GPS定位模塊和WiFi通信模塊。主程序參考流程圖如圖4所示。
3.2 下位機程序設計
(1)定位模塊程序設計。
GPS解碼程序流程圖如圖6所示。
(2)WiFi模塊程序設計。
數據通信協議如表1、表2所示。
參考程序流程圖如圖5所示。
3.3 上位機程序設計
終端位置為手機自帶GPS位置用標記表示,無人機經緯度來自下位機上傳來的無人機GPS模塊位置信息,用標記表示。點擊清除標記按鈕可清除無人機與終端位置標記。點擊終端位置按鈕,能定位終端位置并把位置信息顯示在地圖上。點擊無人機標記按鈕,能向無人機發送無人機位置請求信息來獲取無人機位置信息。用手機作為終端的程序運行界面圖,如圖7所示。
3.4 遠程定位系統調試
WiFi模塊調試。安裝WiFi模塊,調試WiFi通訊協議。在移動數字終端的控制下通過WiFi傳送數據,觀察數據是否發送與接收一致且穩定可靠。GPS數據解析調試。下位機讀出GPS數據與衛星數據調試軟件數據進行比對,觀察在同一地點的經度、緯度、海拔是否一致。定位數字地圖顯示調試。數據輸入位置參照地點的經度、緯度查找百度地圖定位位置。觀察參照地點是否與真實地點一致。系統聯調,控制驅動無人機,搭載運行下位機,同時啟動移動終端數字地圖運行程序,控制無人機,觀察數據定位數據與定位位置,判斷飛行軌跡與定位是否一致。
4 結語
該系統應用STM32控制器的串口通信端口與GPS模塊、WiFi模塊接口實現定位數據的讀出與解析、定位數據的無線網絡傳輸;學習搭建Android開發環境、Android程序開發,特別是編寫網絡通信程序和百度地圖配置應用,實現應用百度地圖顯示定位位置。STM32控制器串口通信端口與GPS模塊、WiFi模塊接口中應考慮是否應用電平的轉換器件以及雙方通信協議的一致性,應做到數據的處理與解析的正確。在網絡通信中主要是對Apache 的HttpClient的封裝來實現的一個HTTP編程接口,在百度地圖定位中主要是在Android應用中使用百度地圖API,并完成相應的配置。
參考文獻
[1] 時光,馬維華,魏金文.基于Android4.4和百度地圖的遠程定位系統設計[J].單片機與嵌入式系統應用,2014(11):39-41,45.
[2] 耿家慶.新一代的GPS-B碼解碼授時系統設計[D].濟南:山東大學,2014.
[3] 張波,王志剛,張睿.基于GPS和CDMA的物流車輛監控終端的設計[J].電子設計工程,2011(1):121-124.