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