• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于STM32的智能兒童防拐系統(tǒng)的研究與設(shè)計

    2018-04-24 05:01:00古丹方忠文胡敏王旭龍胡俊杰
    無線互聯(lián)科技 2018年4期
    關(guān)鍵詞:GPS定位

    古丹 方忠文 胡敏 王旭龍 胡俊杰

    摘 要:隨著近年來兒童走失事件頻發(fā),國家、學校及家庭都越來越重視兒童出行安全問題,因為每個失蹤事件背后都有一個破碎家庭。文章研究并設(shè)計了一款以STM32為控制平臺,結(jié)合GPS模塊、GSM模塊、LCD模塊等元器件,以及Android客戶端APP為一體的智能兒童防拐追蹤定位系統(tǒng)。系統(tǒng)分防拐器端和APP端,防拐器端提供了一鍵發(fā)送定位、一鍵撥打電話、顯示信息、記錄移動路徑等功能。APP端則可通過點擊一鍵追蹤按鈕獲得防拐器端的經(jīng)緯度坐標,并將坐標在百度地圖上定位并導航。通過此系統(tǒng)能降低兒童在無大人陪伴時外出走丟的風險,為他們提供更為全面的監(jiān)護。

    關(guān)鍵詞:STM32;GPS定位;GSM通信;兒童防拐;Android客戶端

    據(jù)公安部最新數(shù)據(jù)顯示,近年來我國每年有近20萬兒童失蹤。盡管從新中國成立以后,我國對拐賣婦女兒童現(xiàn)象進行了幾次專項打擊,但拐賣兒童現(xiàn)象卻是越來越嚴重,具體分析起來有以下幾個特點:從個人分散作案,到集團化拐賣兒童。從一個人拐了孩子后直接找買家到現(xiàn)在拐運銷一條龍,甚至出現(xiàn)了一些專門批發(fā)被拐兒童的人販子,從境內(nèi)作案發(fā)展到跨國作案,從單純的拐孩子傳宗接代到強迫孩子做非法盈利活動,拐賣手法也從單純的偷,發(fā)展到明搶明奪,甚至為了拐賣兒童出現(xiàn)殺害兒童親人的惡性案件[1]。

    現(xiàn)今整合GPS與GSM的追蹤定位裝置在國內(nèi)外也逐漸成為風潮,針對兒童的智能手表、老人的防丟手環(huán)之類的產(chǎn)品也層出不窮。若發(fā)生協(xié)尋事件時,家人透過GSM聯(lián)系追蹤器,追蹤器會自動由發(fā)射器送出 GPS定位訊號,于手機或網(wǎng)絡(luò)地圖上得知走失對象位置[2]。本項目正是順應(yīng)這社會發(fā)展需求而開展的,通過智能兒童防拐系統(tǒng)的研究與設(shè)計解決以上社會問題,實現(xiàn)家長和孩子間的雙向通信,進而避免孩子的丟失。

    1 總體方案設(shè)計

    1.1 系統(tǒng)工作方式

    該系統(tǒng)防拐器端正常工作時,GSM模塊處于激活狀態(tài),GPS模塊持續(xù)搜索衛(wèi)星并獲取定位信息,通過STM32單片機編程處理,在LCD屏幕上顯示GPS定位信息及時間、GSM狀態(tài)等信息。當一鍵求助按鍵被按下時,經(jīng)STM32單片機處理,將防拐器當前GPS定位經(jīng)緯度信息通過GSM模塊發(fā)送短信到系統(tǒng)內(nèi)置指定號碼,APP端通過提取短信經(jīng)緯度數(shù)據(jù),調(diào)用百度地圖SDK進行定位并導航至防拐器所在位置。當APP端手機點擊一鍵追蹤按鈕時,防拐器端接收指令,并經(jīng)STM32單片機判斷指令是否為系統(tǒng)設(shè)定指令,是則將防拐器當前定位經(jīng)緯度信息發(fā)送至APP端。防拐器端還按指定時間間隔自動保存其移動的位置信息至SD卡中,后期可通過PC端查看防拐器所經(jīng)過的路徑,方便查看兒童的活動軌跡。

    1.2 系統(tǒng)總體設(shè)計

    本設(shè)計所使用到的模塊和輔助工具有STM32主控制器、GPS模塊、GSM模塊、SD卡模塊、LCD液晶屏、電源、PC機、Android手機軟件開發(fā)平臺Android studio等。系統(tǒng)工作方式分析設(shè)計總體結(jié)構(gòu)框如圖1所示。

    2 系統(tǒng)硬件設(shè)計

    2.1 STM32主控制器模塊

    本系統(tǒng)主控制器使用了正點原子公司的MiniSTM32開發(fā)板,核心芯片為STM32F103RCT6,具有專門性、高性能、低成本、低功耗的特點,是嵌入式應(yīng)用專門設(shè)計的ARM Cortex-M3 32位處理器。為使運行效率更高,總體協(xié)調(diào)性更好,設(shè)計中也使用到了直接內(nèi)存訪問(Direct Memory Access,DMA)處理技術(shù)和多個中斷處理。內(nèi)部結(jié)成2個SPI協(xié)議模塊,12通道DMA控制器;多達11個定時器,其中高級定時器有兩個;STM32F103RCT6工作頻率為72 MHz,具有單周期乘法和硬件除法,內(nèi)置高速存儲器(高達256 kB的閃存和48 kB的SRAM),有豐富的增強I/O端口[3-4]。

    2.2 GPS模塊

    GPS模塊使用的是ME2530A模塊,該模塊采用MTK GPS單芯片MT3329,內(nèi)置陶瓷天線增強其信號接收能力,支持NMEA-0183通信協(xié)議,模塊通過TTL電平或者是同波特率的串口與外部系統(tǒng)連接通信,常用和支持的串口波特率有4 800、9 600(默認)、19 200、38 400、57 600、115 200等幾種,兼容絕大多數(shù)的單片機系統(tǒng)。該模塊接收到的GPS信息用過TTL電平輸出,單片機處理方便,在單片機設(shè)置相同波特率的串口即可接收模塊傳送的數(shù)據(jù),利用NMEA-0183協(xié)議解析處理,從而得到想要的數(shù)據(jù),如定位數(shù)據(jù)、海拔、時間等。NMEA-0183協(xié)議采用ASCII 碼來傳遞GPS 定位信息, 幀格式形如:$aaccc,ddd,ddd,…,ddd*hh(CR)(LF),“$”為幀命令起始位、“aaccc”為地址域、“ddd…ddd”為數(shù)據(jù)、“*”為校驗和前綴(也可以作為語句數(shù)據(jù)結(jié)束的標志)、hh:校驗和,$與*之間所有字符ASCII 碼的校驗和、(CR)(LF):幀結(jié)束,回車和換行符。

    2.3 GSM模塊

    GSM模塊采用果云公司生產(chǎn)的GA6模塊,該模塊通信范圍廣,基本上在手機可以打電話的地方均可實現(xiàn)通信,性價比高,相對于SIM系列的模塊價格只有其一半,大大降低使用成本。模塊有完整的AT指令集接口,GSM無線接口,支持中英文短信的發(fā)送。它可以快速、安全可靠地實現(xiàn)系統(tǒng)的數(shù)據(jù)傳輸、語音通話和短信息的發(fā)送接收。本系統(tǒng)主要采用此模塊的語音傳輸和短消息服務(wù)功能。GSM系統(tǒng)的短消息通信需要通過SIM卡來實現(xiàn),SIM卡卡座有兩種,一種為8引腳,一種為6引腳。這里選用了最常見的6引腳SIM卡卡座。SIM卡卡座的接口電平由GSM模塊內(nèi)部電壓穩(wěn)壓器提供,正常電壓值為3.3 V,復(fù)位后所有引腳為低電平[5]。本設(shè)計通過單片機設(shè)置相同波特(模塊默認波特率115 200)串口與GA6模塊實現(xiàn)通信,GA6模塊具有標準AT指令接口,可以提供GSM 語音、TTS、短消息以及TCP/IP 數(shù)傳。

    2.4 LCD模塊

    本設(shè)計加入了一個2.8寸LCD顯示模塊,為方便使用者查看時間、定位是否成功、數(shù)據(jù)是否正確接收與發(fā)送。該模塊為正點原子公司開發(fā)的TFTLCD液晶顯示器,分辨率為320×240、16位真彩顯示、自帶觸控。其驅(qū)動芯片為ILI9341,該控制器自帶顯存,顯存大小172800。本設(shè)計主要是通過STM32的普通IO口模擬8080總線來控制LCD的顯示。該LCD模塊采用16位并口方式與單片機連接,本設(shè)計中主控制器為64引腳的STM32單片機,雖然LCD模塊16位并口方式占用著單片機大部分IO口,但在本設(shè)計中并不需要大量IO口輸出,并且彩屏輸出數(shù)據(jù)量較大,16位比普通8位處理速度快了一倍以上,有較好的顯示效果的同時,保證了數(shù)據(jù)更新的響應(yīng)速度。

    3 系統(tǒng)軟件設(shè)計

    3.1 防拐器軟件設(shè)計

    整個系統(tǒng)軟件設(shè)計編程均在Keil uVision5開發(fā)環(huán)境下使用C語言編寫。首先對STM32內(nèi)部進行初始化設(shè)計,GPS模塊、GSM模塊分別使用了串口1和串口2,串口初始化后檢查是否單片機與模塊間是否正常通信,等待至正常通信后進入主循環(huán)程序。正常情況下,系統(tǒng)持續(xù)接收更新GPS定位數(shù)據(jù),并將數(shù)據(jù)按照設(shè)定好格式存儲至SD卡中,LCD屏幕也會一直顯示GPS定位數(shù)據(jù)和定位時間以及GSM信號質(zhì)量等信息,如果定位未成功,經(jīng)緯度數(shù)據(jù)為0。之后判斷求助按鍵是否按下或是否接收到短信,若按下求助按鍵則發(fā)送當前位置信息至系統(tǒng)預(yù)設(shè)手機號碼中,若接收到短信,則判斷是否為系統(tǒng)預(yù)設(shè)指令,是則發(fā)送位置信息至發(fā)送短信方的手機號碼中[6]。防拐器總程序流程如圖2所示。

    3.1.1 GPS定位解碼

    GPS模塊接收的并非只有經(jīng)緯度,還有海拔、速度、時間、衛(wèi)星狀態(tài)等數(shù)據(jù),如果直接從串口接收數(shù)據(jù)判斷解碼數(shù)據(jù)流過大,所以使用了GPS模塊的NMEA-0183協(xié)議解碼。NMEA-0183協(xié)議標準的輸出數(shù)據(jù)采用的是ASCII碼,GPS數(shù)據(jù)具有6種不同的數(shù)據(jù)類型,包括 $GPGGA,$GPGSA,$GPGSV,$GPRMC,$GPVTG,$GPGLL,$GPZDA等。本設(shè)計主要使用了$GPRMC命令,即推薦定位信息命令,其中主要解碼使用了UTC時間、經(jīng)緯度、GPS狀態(tài)、定位衛(wèi)星數(shù)等。

    根據(jù)$GPGGA語句基本格式,通過簡單地判斷“,”位置,即可將語句每個數(shù)據(jù)提取出來,并將字符串轉(zhuǎn)換為整型數(shù)字,方便經(jīng)緯度計算轉(zhuǎn)換。緯度提取的程序如圖3所示,其他數(shù)據(jù)提取類似。

    NMEA-0183協(xié)議下的數(shù)據(jù)提取還是相對容易實現(xiàn)的,NMEA_GPRMC為提取$GPRMC語句函數(shù),先通過字符串處理函數(shù)strstr函數(shù)提取包含GPRMC的語句到p1指針,從$GPRMC語句基本格式可得知緯度數(shù)據(jù)在語句的第3個位置,通過判斷逗號位置并返回指定位置數(shù)據(jù),最后將緯度數(shù)據(jù)返回到posx變量中。

    3.1.2 GSM遠程通信

    GSM模塊軟件設(shè)計上主要是通過AT指令控制數(shù)據(jù)的收發(fā),GA6的AT指令種類繁多,本設(shè)計主要使用撥號、短信、查詢等相關(guān)的AT指令。短信發(fā)送指令,也能明確指令發(fā)送成功后返回的信息,先是設(shè)置短信模式,通過AT+CMGS=“ “(引號內(nèi)為接收方手機號碼) 指令發(fā)送短信,GA6模塊返回“>”符號后即可鍵入短信內(nèi)容,發(fā)送成功則返回“+CMGS:”。所以通過串口發(fā)送指令,再判斷GA6返回的信息即可完成短信的發(fā)送,發(fā)送短信程序設(shè)計如圖4所示,其他AT指令類似。

    3.1.3 定位數(shù)據(jù)存儲

    本設(shè)計定位數(shù)據(jù)存儲在SD卡中,主要是用文件系統(tǒng)FatFs來實現(xiàn)的。使用FatFs文件系統(tǒng)的好處就是使用者并不需要了解其復(fù)雜的編程協(xié)議,F(xiàn)atFs Module庫提供了ff.c,ff.h,使用時直接將頭文件寫進源程序中即可調(diào)用應(yīng)用接口函數(shù),如f_write,f_read,f_open,f_close等函數(shù),操作也相對簡單,但在操作之前需做好SD卡的驅(qū)動工作及初始化。

    系統(tǒng)設(shè)置為3 s左右存儲一次經(jīng)緯度數(shù)據(jù),先f_open打開創(chuàng)建Gps.txt文件,指定為寫入數(shù)據(jù)。使用sprintf函數(shù)強制轉(zhuǎn)換數(shù)據(jù)格式,把數(shù)據(jù)格式放入緩沖區(qū)buff,之后使用f_lseek移動寫入指針,保證數(shù)據(jù)不被覆蓋掉,然后利用f_write函數(shù)將文件寫入SD卡中,最后f_close關(guān)閉文件。具體數(shù)據(jù)存儲程序設(shè)計如圖5所示。

    3.2 Android客戶端軟件設(shè)計

    客戶端APP主要完成接收到經(jīng)緯度信息后,軟件能夠完成提取防拐器發(fā)來的短信。提取短信使用content Resolver類監(jiān)聽數(shù)據(jù)庫的內(nèi)容發(fā)生的變化。Content Resolver類我們稱之為內(nèi)容解析器,目的是為了根據(jù)特定的Uri查找系統(tǒng)的信息,進而做出相應(yīng)的處理。Uri是標識、定位資源的字符串。當我們發(fā)送一條短信到該手機上時,手機會自動調(diào)用內(nèi)容解析器中的指定方法,通知我們的代碼,短信發(fā)生變化,然后讀取短信的內(nèi)容,將我們需要的短信內(nèi)容提取出來。然后軟件調(diào)用百度地圖SDK,使用百度地圖服務(wù)應(yīng)用接口,實現(xiàn)定位導航功能。百度地圖SDK使用Java語言,為用戶提供了豐富的功能接口,有免費使用、開發(fā)周期短、維護成本低等優(yōu)點,非常適合防拐器手機APP的設(shè)計與開發(fā)。

    4 結(jié)語

    經(jīng)系統(tǒng)測試,基本完成了預(yù)期的目標,使用者帶著遠程追蹤器外出時,監(jiān)控者只需發(fā)送給系統(tǒng)預(yù)設(shè)的短信指令,就可接收到使用者當前位置鏈接,并在手機內(nèi)置地圖中顯示。并且該系統(tǒng)針對兒童操作方便,一鍵撥號、一鍵發(fā)送定位功能均可實現(xiàn)。并且系統(tǒng)自動保存路徑數(shù)據(jù)至SD卡中,監(jiān)護者通過電腦上的MissionPlanner軟件即可查看到使用者經(jīng)過路徑。

    雖然基本上完成了預(yù)期目標,但該設(shè)計還存在很多不足的地方,如定位數(shù)據(jù)存在一個固定偏差,雖然在軟件設(shè)計上已經(jīng)做了定點漂移矯正,但還存在不足。定位誤差大概在10 m左右,但在同一個地方定位時間越長或地理位置較為寬闊的情況下,定位更加精確,而且數(shù)據(jù)的變化不是線性的,這就需要更加合適的算法去解決這樣的偏差問題。

    [參考文獻]

    [1]石破.張寶艷:盼寶貝都回家[J].南風窗,2011(1):57-60.

    [2]李勇.我國車載GPS系統(tǒng)的應(yīng)用現(xiàn)狀與發(fā)展前景[J].合肥學院學報(自然科學版),2008(1):67-69.

    [3]宋維.一種基于STM32的SMS短消息收發(fā)系統(tǒng)[J].電腦知識與技術(shù),2012(20):4800-4802.

    [4]董建勛.基于GPS和GSM短消息的定位裝置的設(shè)計[D].太原:中北大學,2011.

    [5]姜日凡.基于STM32單片機和GSM技術(shù)的門禁系統(tǒng)[J].大連工業(yè)學報,2015(2):67-69.

    [6]龔虹瑞,黃小莉.具有鬧鐘和短信提醒功能的智能藥盒設(shè)計[J].西華大學學報(自然科學版),2014(5):91-94.

    猜你喜歡
    GPS定位
    基于微信平臺的并行簽到考勤管理系統(tǒng)
    移動軌跡挖掘算法設(shè)計與系統(tǒng)實現(xiàn)
    基于Android的多維級聯(lián)定位技術(shù)的研究與實現(xiàn)
    基于Android 平臺的手機自助導游系統(tǒng)的設(shè)計與實現(xiàn)
    手機防盜追蹤系統(tǒng)的設(shè)計與實現(xiàn)
    基于手機的分布式空氣粉塵檢測系統(tǒng)
    滦平县| 大厂| 广东省| 克什克腾旗| 武夷山市| 大连市| 杭锦后旗| 田阳县| 扬中市| 霍林郭勒市| 尼木县| 靖州| 隆林| 防城港市| 达尔| 云龙县| 西华县| 固原市| 遂溪县| 吴川市| 绿春县| 江源县| 平南县| 明水县| 东安县| 安图县| 中方县| 五常市| 荆州市| 游戏| 固阳县| 蒙城县| 吉木乃县| 霍州市| 阳东县| 宣城市| 武宣县| 高阳县| 蒲江县| 阳朔县| 苏尼特右旗|