一個用STM32控制的GPS與GPRS程序,GPS使用ublox的GPS,GPRS使用SIM800E,主要實現(xiàn)每隔幾分鐘(間隔時間由服務器設定,默認5分鐘)將模塊的定位結果數(shù)據(jù)發(fā)送到服務器中,服務器返回值決定間隔時間等設置信息。
兩個模塊分別接STM32的兩個串口,鋰電池供電,STM32與GSM接口有串口RXD、TXD,電源開關POWERKEY,和GSM的狀態(tài)引腳(用于判斷GSM的開關機狀態(tài))。GPS模塊連接串口RXD、TXD,還有一個IO驅動P型MOS管控制GPS模塊的供電。
實際應用中,使用1000mah鋰電池,5分鐘一次數(shù)據(jù)傳輸的情況下,電池可以堅持120小時左右。
為了省電,工作狀態(tài),使用12M晶振,不用PLL,STM32工作電流不到10mA,整體電流約90mA,GPS模塊只在定位時通電,完成后直接斷電。GSM模塊發(fā)送數(shù)據(jù)時正常,不發(fā)送時進入休眠模式,電流約1mA,數(shù)據(jù)發(fā)送完成后的等待時間,STM32也進入低功耗狀態(tài),本想使用RTC,怕批量有問題,就用的HSI直接512分頻,大約15KHz,用來計時,記到5分鐘后啟動模塊開始定位,HSI 512分頻后,實際CPU工作電流約500uA左右,基本能滿足要求。
GPRS通過聯(lián)網(wǎng)訪問網(wǎng)絡上的HTTP服務器,直接GET命令,將數(shù)據(jù)加在后面的參數(shù)上,服務器響應后會返回一些需要設定的參數(shù)。
按照5分鐘一次發(fā)送數(shù)據(jù)量計算,一個月大約需要不到3MB的流量,比短信便宜多了,用移動那種限期半年30M或50M的流量卡比較合算,可以用在機動車、電動車或者電動車電池的防盜上,成本100多點。
附件內(nèi)容截圖: