李海鋒,潘為剛
基于騰訊地圖的北斗/GPS/GSM三定位車輛監控系統※*
李海鋒,潘為剛
(山東交通學院信息科學與電氣工程學院,濟南250357)
基于騰訊地圖和北斗定位系統設計了一套三定位車輛監控系統,車輛將北斗衛星導航系統作為主要定位系統,GPS導航系統和基站定位作為輔助定位系統,保證了定位信號的可靠性。監控端可通過手機客戶端實時查詢車輛位置信息,并可通過騰訊地圖查看車輛所處的確切位置。系統具有車輛防盜功能和安全駕駛功能,防止車輛意外丟失,可提醒駕駛員已疲勞駕駛、超速駕駛等行駛安全隱患。
北斗定位;騰訊地圖;GSM;三定位;車輛監控
北斗衛星導航系統是我國自主建設的戰略性系統工程,是我國自主研發、獨立運行的全球衛星導航系統。伴隨著騰訊公司推出的一種互聯網地圖服務——騰訊地圖(以前稱soso地圖)的問世,以及騰訊地圖開放平臺的推廣,筆者決定以北斗導航系統和騰訊地圖開發平臺為基礎,進行二次開發,基于中國自主研發的北斗、GPS雙模和GSM等模塊,開發一個能夠結合多種定位方式的實時車輛監控系統,保障車輛及駕駛員的行車安全,提高交通監管部門的監控便利,為用戶日常出行提供盡可能的方便。
基于騰訊地圖的北斗/GPS/GSM三定位車輛監控系統的組成框圖如圖1所示,該監控系統主要由電源轉換模塊、北斗—GPS模塊、GSM模塊、藍牙模塊、繼電器控制模塊以及液晶顯示模塊組成。電源轉換模塊將車載蓄電池的電源轉變成單片機所需的5 V電源;北斗—GPS模塊提供車輛的定位信息和行駛速度;GSM模塊是在接收到查詢指令或超速、疲勞駕駛安全隱患信號時給指定號碼發送報警信息,報告當前定位和行駛速度;藍牙模塊實現用于手機遙控鎖車開車門等功能;液晶顯示器實時顯示車輛行駛的位置、速度和時間。

圖1 基于騰訊地圖的北斗/GPS/GSM三定位車輛監控系統組成框圖
2.1單片機最小系統電路設計
該系統的北斗—GPS模塊、GSM模塊和藍牙模塊都需要串行接口,液晶顯示器是SPI接口,而繼電器是普通I/O接口輸出,因此選擇的單片機應該至少具有3個串行口和SPI接口及多路定時器。本系統選擇意法半導體公司推出的一款32位單片機STM32F103RCT6,該單片機采用的內核為ARM Cortex -M3,最高72 MHz的工作頻率,有3個獨立串行口以及多達11個定時器。圖2是該系統的單片機最小系統原理圖。

圖2 單片機最小系統
2.2北斗—GPS定位模塊
北斗衛星導航系統(縮寫為BDS),是中國正在實施的自主研發、獨立運行的全球衛星導航系統。北斗導航系統是主動式雙向測距二維導航,地面中心控制系統解算,供用戶三維定位數據,本系統選用BD126北斗/GPS雙模定位芯片[2],該芯片能工作在北斗定位和GPS定位兩種模式下自由切換,從而最大程度上保證了定位的可靠性,其對外輸出信號為GGA語句、GSV語句、VTG語句,默認波特率設置為“9600,N,8,1”,其電路原理如圖3所示。

圖3 BD126-GPS原理圖
2.3藍牙模塊設計
系統中選用的藍牙模塊為HC-05,其是一款主從一體可以設置的藍牙芯片,具有傳統藍牙技術的功能,模塊的接口有串口、SPI接口、USB接口,產品開發中選用了串口進行通信,通過串口發送AT指令,為模塊設定控制參數或發布控制命令。通過控制模塊外部引腳輸入電平,可以實現模塊工作狀態的動態轉換。三定位車輛防側翻系統增加了藍牙通信,方便車主在無鑰匙的情況下完成對車輛的開鎖、解鎖,更加方便、快捷。HC-05藍牙模塊原理圖如圖4所示。

圖4 HC-05藍牙模塊原理圖
2.4GSM模塊設計
系統中GSM模塊有3個任務:①當北斗和GPS定位系統無法定位時,利用基站定位獲得車輛定位信息和行駛速度信息;②當監控端查詢車輛位置信息時,獲取查詢指令并發送位置信息;③當車輛行駛超速或駕駛員疲勞駕駛時,向監控端發送報警和定位短信。基于需要,選用的GSM模塊型號為SIM900A。設計中通過單片機的串口與模塊相連接[3],通過相應的AT指令完成短信發送與接收的操作。
SIM900A電路原理圖略——編者注。
該系統從功能上可以分為車輛防盜及藍牙解鎖、車輛位置及安全駕駛監控、監控端地圖調用。根據功能將程序分為主程序、短信接收和發送流程、監控端APP設計。
3.1主程序
系統主程序主要完成車輛位置監控,實時顯示車輛位置和車速信息;接收監控端查詢信息,然后按一定格式向監控端發送位置信息等功能,其程序流程如圖5所示。
3.2短信接收和發送流程
單片機通過串行口向GSM模塊發送AT指令,就可以實現收發短信和撥打電話,其接收與發送短信的流程圖如圖6所示。
其STM32程序為:
void jie_shou(void){
if(strstr((const char*)(USART_RX_BUF),"+CMTI")!=NULL){//查詢是否接收到短信
printf("AT+CMGR=1 ");//發送讀取信息指令delay_ms(2000);
if(strstr((const char*)(USART_RX_ BUF),"1")!=NULL){
//接收到查詢短信“1”
printf("AT ");
//發送AT初始化指令
delay_ms(2000);
printf("ATE1 ");//指定回顯方式
delay_ms(2000);
printf("AT+CMGF=1 ");
//以英文格式發送
delay_ms(2000);
printf("AT+CMGS="18366132368 " ");
//指定發送的短信號碼
delay_ms(2000);
tp=gpsx.longitude;
sprintf((char*)dtbuf,"Longitude:%. 5f%1c",tp/=100000,gpsx.ewhemi);printf("Longitude:%.5f %1c ",tp,gpsx.ewhemi);//發送經度信息
tp1=gpsx.latitude;
sprintf((char*)dtbuf,"Latitude:%.5f%1c",tp1/= 100000,gpsx.nshemi);printf("Latitude:%.5f%1c ",tp1,gpsx.nshemi);//發送緯度信息printf("http://apis.map. qq.com/uri/v1/geocoder?coord=%.5f,%.5f ",tp1,tp);
//發送騰訊地圖鏈接,利用騰訊開放平臺查詢位
//置信息
tp3=gpsx.speed;
printf("speed:%.3fkm/h ",tp3/=1000);//發送車輛速度信息
delay_ms(2000);
USART1_Putc(0x1a);//發送結束標志delay_ms(2000);
printf("AT+CMGD=1 ");//刪除第一條信息
delay_ms(6000);
CLR_Buf();//清除接收到的內容,準備下次接收
}
}
}

圖5 主程序流程圖

圖6 接收與發送短信流程圖
在短信查詢和發送的過程中,需要注意AT指令的正確使用。根據AT指令手冊,設置發送的信息格式,以英文格式進行發送,更加簡潔高效,可提高執行效率;每執行一條AT指令,需要給模塊一定的反應時間去處理,模式設置完成后,可查詢接收到的信息內容并指定號碼發送,最后以0x1a(換行指令)完成信息接收與發送。
3.3監控端APP設計
監控端設置在安卓手機,監控軟件為一款Android APP,包含基于Android操作系統的藍牙應用軟件[4],此監控端可以查詢車輛的位置信息,接收車輛反饋回來的車輛位置信息、速度信息以及安全駕駛情況,可以調用騰訊地圖API查看定位信息,并且有車輛所處位置的街景實況,為監控車輛提供了極大的便利。
監控軟件的設計采用APP Inventor進行開發,使用圖形界面的形式,能夠快速高效地開發出適合自己的Android APP。APP界面、程序結構及街景實況圖片如圖7所示。

圖7 客戶端APP設計應用圖
經過調試,基于騰訊地圖的北斗/GPS/GSM三定位車輛監控系統,實現了車輛實時定位、位置監控查詢、騰訊地圖調用、安全駕駛等功能,目前在普通用戶應用中取得了較好的效果。經過實際測試,該系統工作穩定可靠,具有良好的市場前景。
編者注:本文為期刊縮略版,全文見本刊網站www. mesnet.com.cn。
[1]王英銳,任傳祥.基于ARM的GPS的定位系統[J].可編程控制器與工廠自動化,2010(8).
[2]深圳市北天通訊有限公司.BD 126硬件設計手冊,2013.
[3]宣彩平,王皓,鄒國良.利用GSM無線模塊發送短消息[J].計算機應用,2004,24(5):148150.
[4]李黎國,張輝,程號.基于Android健康服務終端藍牙傳輸軟件的設計[J].電子科技,2012(5).
李海鋒,研究方向為自動化應用;潘為剛(副教授),研究方向為先進計算機控制技術。
Beidou/GPS/GSM Three Locations Vehicle Monitoring System Based on Tencent Maps※
Li Haifeng,Pan Weigang
(College of Information Science and Electrical Engineering,Shandong Jiaotong University,Jinan 250357,China)
A three locations vehicle monitoring system is designed based on Tencent maps and Beidou positioning system.The Beidou satellite navigation system is used as the primary positioning system,the GPSnavigation system and the base station are used as an auxiliary positioning system,which ensures the reliability of the positioning signals.The monitoring end can real-time check the vehicle location information through the client and the exact location of the vehicle can be checked through the Tencent maps.The system has a vehicle anti-theft feature and safe driving function to prevent accidental loss of vehicle,it can alert the driver of fatigue driving,speeding travel and other security risks.
Beidou positioning;Tencent maps;GSM;three locations;vehicle monitoring
TP273.5
A
??薛士然
2016-04-20)
濟南市科技發展計劃(項目編號:201401203)。