莊垚 劉林真 彭井花
摘要:針對輪滑對運動場所的要求具有較高的標準,提出一種基于STM32的定位系統(tǒng)。通過集成GPS和GSM/GPRS的SIM928模塊實現對輪滑滑行的定位,后臺顯示滑行軌跡,記錄輪滑活動時間,獲取輪滑速度,配合智能輪滑APP,分享輪滑軌跡,分享室外方便進行輪滑運動的場地,分享輪滑的質量、價格性價比等。經測試,系統(tǒng)較好地實現以上功能,且運行穩(wěn)定。
關鍵詞:智能輪滑;GPS模塊;GPRS模塊;SIM928
中圖分類號:TP273.5 文獻標識碼:A 文章編號:1007-9416(2018)01-0141-02
輪滑是流行的戶外運動,但想在戶外找一個適合輪滑運動的場地較難查詢,輪滑鞋價格從百元到千元不等,但是性價比怎樣,缺少實際用戶的真實評價,較多兒童也喜歡輪滑運動,而兒童安全意識薄弱,如何讓家長放心做到實時監(jiān)管呢?為解決上述問題,提出了智能輪滑。智能輪滑不進行現有輪滑的改變,貼上硬件模塊,當輪滑開始滑行時,實時接收GPS的定位信息,并通過GPRS發(fā)給服務器,完成對輪滑運動各方位數據捕獲和保存,進行限速、限時,還原“滑行”軌跡。本系統(tǒng)適用于輪滑愛好者輕松的在戶外找一個適合輪滑運動的場地,輪滑初學者更有理智性去購買高質量輪滑鞋、兒童的安全問題更容易得以保障。
1 系統(tǒng)總體設計
本系統(tǒng)對于硬件的設計重點考慮單片機模塊、GPS模塊、GPRS模塊。單片機模塊采用由STM32F103RBT6,STM32含高性能ARM Cortex-M3 32位RISC內核,具有帶喚醒功能的低功耗模式和強大的庫函數。GPS、GPRS模塊采用SIM928模塊,SIM928是一款集成GPS導航技術的四頻GSM/GPRS模塊,準確定位<2.5米CEP。系統(tǒng)主程序流程圖如圖1所示。
主要完成如下功能:(1)GPS采集程序:等待定位燈閃爍,獲取定位信息,按照NMEA[1]協議對定位信息進行解析,獲取經緯度和速度參數。(2)GPRS數據傳輸:首先在PC機上建立好服務器,再利用手機卡注冊好網絡,去連接服務器對應IP和端口,進行數據發(fā)送。(3)報警處理程序:檢測到超速、超時,單片機相應的I/O口產生不同高電平信號,驅動報警模塊中的蜂鳴器工作,從而確認是超時還是超速。(4)信息檢索處理程序:檢索是否有信息,并檢查信息是否按照標準格式發(fā)過來,如果是,修改對應速度上限、時間上限的值。
2 硬件電路描述
本系統(tǒng)硬件部分主要包含4個模塊:主控模塊、MAX3232模塊、SIM928模塊、報警模塊;其中主控模塊又分為:電源模塊、串口模塊、顯示模塊;MAX3232模塊有三個,分別對應GPS、GPRS、STM32的TTL電平轉換為232;SIM928模塊有SIM卡模塊、電源模塊、串口模塊;報警模塊主要由蜂鳴器構成。主要實物如圖2所示。
2.1 SIM928模塊
SIM928的GPS外圍電路為在引腳11外接了PPS燈,因為引腳11是脈沖輸出引腳,可以判斷定位狀態(tài),當PPS燈閃爍(1秒亮一秒滅)表示定位成功,常滅表示沒有定位。并且在進行GPS測試時,最好是在空曠的地方,否則需要在IPX-SMA轉接線外加天線,把黑面朝上,提高搜星速度。
SIM928的GPRS外圍電路分為串口模塊、SIM卡模塊。天線采用外接天線,不需要太強信號即可實現GPRS入網,通常不需要接入;在開始通信前,需要檢查模塊正常運行與否。插上SIM卡后查看LED指示燈狀態(tài),如果網絡指示燈,1秒亮后接著3秒滅,常亮RING指示燈,也是表明模塊工作正常。備用電源采用的是CR1220,兩個模塊共用一個電池,也減少電路的復雜度。
2.2 報警模塊
報警模塊由外接無源蜂鳴器構成,該蜂鳴器模塊板載8550三極管驅動,低電平有效,可以直接和單片機I/O控制,工作電壓在5V,板子尺寸為22(mm)×12(mm)。檢索接收到的特定信息內容,例如“set0304”,提取后4位數據,進行對應速度、時間上限的刷新,再判斷是否超速、超時。超速的話,拉低對應蜂鳴器引腳1秒,拉高1秒,為報警模式1;超時的話,拉低引腳2秒,拉高1秒;同時超速、超時的話,就直接一直拉低蜂鳴器電平。
3 系統(tǒng)的實現
3.1 GPS信號解析
SIM928啟動后,等待GPS模塊的PPS燈閃爍,獲取得到衛(wèi)星信號,然后STM32對GPS信息進行提取,提取過程分為2個步驟:
(1)STM32 與 GPS 模塊串口進行連接通信,獲取定位信息,得到的定位信息嚴格按照NMEA協議來傳輸,提取其中幀頭為$GPRMC的數據。(2)獲取到的數據格式如下:$GPRMC,字段0,字段1,字段2,字段3,字段4,字段5,字段6,字段7,字段8…字段12。這些數據主要有協調定位時間UTC、經、緯度Longitude、速度Speed、海拔Altitude、捕獲模式 Fix Mode等信息,按需獲取指定數據。其中,通過分析數據協議以及與自身系統(tǒng)的需求,本系統(tǒng)僅僅提取字段3、4、5、6、7,分別對應為緯度、經度、速度參數。
3.2 GPRS數據傳輸
SIM928與大多數GPRS模塊一樣,只需通過發(fā)送 AT指令就可建立TCP /IP連接來進行數據的收發(fā)[3]。當SIM928的GPRS模塊正常工作時,其RUN燈將2秒一閃,然后通過GPRS串口與STM32進行通信。
程序設計過程中需要注意,由于CPU響應較快,指令馬上會得到回復,AT指令本身也會傳到服務器,所以AT指令執(zhí)行完,應給予較長的延時。
3.3 服務器搭建
為解決動態(tài)公網IP端口被屏蔽,無公網IP的問題,本系統(tǒng)使用新花生殼軟件,實現自己搭建服務器。在服務器創(chuàng)建時,分別打開網絡調試助手、新花生殼軟件。先在網絡調試助手里選擇協議類型、填寫端口號,點擊連接。接著在花生殼上進行添加映射,在編輯端口映射信息時IP地址和端口號必須要與網絡調試助手上的一樣,即可映射完成,最終得到外網訪問地址。檢查映射是否成功,可通過域名診斷來檢測。
4 硬件測試結果分析
將本系統(tǒng)應用到輪滑上,在操場上進行對定位 GPS 設備的接收、信號延時及成功率的測試和定位精確度測試。實驗結果表明設備通信延時低而且成功率高,能滿足一般的實時數據查詢要求[3]。圖3為向服務器發(fā)送的經緯度信息,前標的1代表為輪滑鞋的ID。
5 結語
根據智能輪滑的要求,提出了基于STM32的嵌入式GPS/GPRS定位系統(tǒng),使用二合一的SIM928模塊,系統(tǒng)安全穩(wěn)定,而且定位精準有效,用戶還可使用智能輪滑APP,查詢適合輪滑的場所、輪滑軌跡和輪滑俱樂部舉行的活動。雖然解決了上述問題,但還存在一些不足,比如:設備的體積有待改善、功耗還有所提升的空間、可增加語音模塊使其更加智能等。該系統(tǒng)可以考慮采用MSP430系列單片機,并移植UC/OS-II 操作系統(tǒng),將系統(tǒng)劃分幾個并行存在的任務,再根據任務的重要程度分配優(yōu)先級,創(chuàng)建出功耗更低、運行更流暢的系統(tǒng)[4]。
參考文獻
[1]斯亮.嵌入式 GPS/GIS 導航系統(tǒng)的研究與設計[D].哈爾濱:哈爾濱工業(yè)大學,2009.
[2]陳維維.嵌入式無線定位追蹤系統(tǒng)的技術研究[D].南京:南京理工大學,2013.
[3]黃勇.基于STM32的車載GPS/GPRS定位系統(tǒng)設定[D].上海:上海理工大學,2017.
[4]任哲,房紅征,曹靖.嵌入式實時操作系統(tǒng) UC\OS原理及應用[M].北京:北京航空航天大學出版社,2014.