范兵兵 艾信友 曾研 胡凱旋 任澤明
摘 要:文章設(shè)計了基于STM32和SIM卡基站定位的位置定位系統(tǒng)。首先,在開機后,使用者需要向SIM900A模塊的SIM卡發(fā)送短信,該短信的內(nèi)容為使用者的手機號碼。STM32單片機接收各傳感器采集的數(shù)據(jù)并處理分析后,通過SIM900A短信、GSM、GPRS模塊將位置信息以短信的方式發(fā)送到手機,同時操作者通過手機瀏覽器瀏覽http://gpsspg.com/bs.htm網(wǎng)站查詢基站定位所獲得位置的地圖,從而知道具體位置。
關(guān)鍵詞:SIM900A;基站定位;STM32F407;定位系統(tǒng)
中圖分類號:TN967.1 文獻標志碼:A 文章編號:2095-2945(2018)12-0090-02
Abstract: A position location system based on STM32 and SIM card is designed in this paper. First, after the boot, the user needs to send a short message to the SIM card of the SIM900A module, the content of which is the mobile phone number of the user. After receiving and analyzing the data collected by each sensor, STM32 microcontroller sends the position information to the mobile phone by SMS, GSM and GPRS module. At the same time, the operator browses the http://gpsspg.com/bs.htm website through the mobile phone browser to query the map of the location of the base station, so as to know the specific location.
Keywords: SIM900A; base station positioning; STM32F407; positioning system
引言
隨著社會老齡化越來越嚴重,越來越多的老人患老年癡呆癥,越來越多的老人走丟,而老人的子女等監(jiān)護人沒有那么多的時間照看老人;而市面上的老人防走丟的定位系統(tǒng)售價很高。為了防止老人走丟和一定程度上解放老人的子女等監(jiān)護人,讓更多的普通家庭也能享受到科技進步帶來的福利,設(shè)計出一個穩(wěn)定、安全、可靠實用、便攜、便宜的定位系統(tǒng)就具有很高的實用價值。
1 系統(tǒng)概述
該系統(tǒng)以STM32F407微控制器為核心,SIM900A為定位數(shù)據(jù)的采集端和信息發(fā)送端,Android手機為顯示終端??傮w設(shè)計如圖1所示。
2 原理
2.1 基站定位原理
基站定位的原理為:不同基站測量移動電話的下行導頻信號,得到不同基站下行導頻的到達時刻或到達時間差,根據(jù)該測量結(jié)果和不同基站的坐標,采用相應(yīng)的三角公式估計算法,就能夠計算出移動電話的大致位置。實際的位置估計算法需要考慮多基站(3個或3個以上)定位的情況,因此算法相對復雜。根據(jù)原理,參與測量的基站數(shù)目越多,測量所得位置精度越高,定位性能改善越明顯。而在城市之中,通信基站較多,可以確?;径ㄎ痪仍?0米左右。
本文是實現(xiàn)患有老年癡呆癥的老人的位置定位,由于老人處在相對安全的城市中,不需要位置精確到米,符合需求。由于基站定位已經(jīng)由運營商實現(xiàn),本文任務(wù)就是獲得運營商測得位置,相對而言較為簡單,所以本系統(tǒng)采用基站定位。
2.2 系統(tǒng)實現(xiàn)原理
SIM900A模塊獲取SIM卡的基站位置信息,然后在STM32F407微控制器的控制下,將位置信息發(fā)送到手機端。
3 硬件設(shè)計
該系統(tǒng)硬件設(shè)計主要包括STM32F407微控制器模塊、電源模塊、SIM手機卡的SIM900A模塊。
3.1 微控制器模塊
微控制器模塊采用以意法半導體公司的 STM32 F407為核心的單片機最小系統(tǒng),以接收SIM900A模塊采集的位置信息和其它數(shù)據(jù),并對數(shù)據(jù)進行相應(yīng)處理和發(fā)送。
3.2 電源模塊
該系統(tǒng)電源采用專用電源的方式,用紐扣電池經(jīng)過AMS1117穩(wěn)壓芯片穩(wěn)壓后的電壓,為不同對象模塊提供相匹配的電源。
3.3 傳感器模塊
該系統(tǒng)信息采集部分只含有SIM900A模塊。插入SIM手機卡后,在SIM卡連接到網(wǎng)絡(luò)后,SIM900A模塊可以通過基站定位方式得到得該SIM卡的位置數(shù)據(jù),然后將位置數(shù)據(jù)以SPI串口傳輸方式傳輸?shù)絊TM32F407單片機,在經(jīng)過STM32F407單片機的數(shù)據(jù)處理后,再通過短信的方式將該SIM卡位置的國家代碼、運營商代碼、位置區(qū)號碼、當前服務(wù)區(qū)號等信息發(fā)送到手機。
SIM900A模塊:
SIM900A是可以通過插入SIM卡實現(xiàn)手機功能的產(chǎn)品。它屬于雙頻的GSM/GPRS模塊,采用的是普遍的SMT封裝形式,其性能穩(wěn)定,外觀小巧,性價比高,能滿足本系統(tǒng)對于與手機通信的各種需求。
另外,SIM900A的封裝尺寸的大小為24×24×3mm,體積相對較小,可以符合本系統(tǒng)中關(guān)于便攜式的要求。SIM900A可以通過AT控制指令以SPI串口通信方式進行控制。
4 軟件設(shè)計
該系統(tǒng)軟件部分采用的編程語言為C 語言。首先,對進行SIM900A模塊進行初始化,檢測SIM卡是否存在,檢測到存在后通過AT指令獲得初始地址信息。然后,等待手機向SIM卡發(fā)送號碼的短信,在發(fā)送短信后,STM32單片機對SIM900A模塊發(fā)出指令,采集SIM卡的位置數(shù)據(jù),在SIM900A模塊將采集到位置數(shù)據(jù)傳輸?shù)絊TM32單片機后,對位置信息進行判斷,當前的位置數(shù)據(jù)與前一次正確的位置數(shù)據(jù)不同,確實發(fā)生改變時(連續(xù)進行三次相同判斷,防止出現(xiàn)錯誤數(shù)據(jù))。將改變后的數(shù)據(jù)通過短信發(fā)送到手機上,然后手機通過瀏覽器查詢定位位置。
4.1 系統(tǒng)主程序流程圖(見圖2)
4.2 數(shù)據(jù)處理
因為傳感器在工作工程中存在不可消除的干擾,所以在本系統(tǒng)可能會出現(xiàn)錯誤的位置信息,而且,老人行動緩慢,在正常情況下SIM卡不可能出現(xiàn)快速位置變化,所以,在確定位置區(qū)號和服務(wù)區(qū)號是否改變時,需要進行三次位置信息的判斷。
只有經(jīng)過三次判斷后符合條件,確實出現(xiàn)位置改變時,STM32F407微控制器才通過SIM900A模塊向手機發(fā)送改變后的位置信息的短信,否則舍棄本次錯誤數(shù)據(jù)繼續(xù)監(jiān)聽下次的位置數(shù)據(jù),重復此過程。
5 結(jié)束語
該系統(tǒng)在實際的聯(lián)調(diào)中,軟件和硬件運行穩(wěn)定,實現(xiàn)了對老人位置的有效定位和發(fā)送短信,符合預期的設(shè)計目的。在實際應(yīng)用中,該系統(tǒng)具有價格低廉、實現(xiàn)簡單、操作簡單、便攜的特點,適合普通家庭和老人消費,具有應(yīng)用價值。
參考文獻:
[1]馬忠梅.ARM Cortex核TI微控制器原理及應(yīng)用[M].北京:北京航空航天大學出版社,2011.
[2]劉火良.STM32庫開發(fā)實戰(zhàn)指南[M].北京:機械工業(yè)出版社,2015.
[3]張洋.原子教你玩STM32(庫函數(shù)版)(第二版)[M].北京:北京航空航天大學出版社,2015.