東北師范大學人文學院理工學院汽車電子與服務工程系 梁龍凱 何文超 呂緒浩
基于STM32及物聯(lián)網(wǎng)的老年人追蹤定位系統(tǒng)設計
東北師范大學人文學院理工學院汽車電子與服務工程系 梁龍凱 何文超 呂緒浩
針對老年奧爾茨海默癥患者易走失的實現(xiàn)問題,基于STM32嵌入式系統(tǒng)及ONENET物聯(lián)網(wǎng)設計一套定位信息可在地圖上顯示的老年人定位追蹤系統(tǒng).該系統(tǒng)跟蹤端采用STM32嵌入式系統(tǒng)控制GSM芯片接入物聯(lián)網(wǎng)服務器并發(fā)送GPS定位數(shù)據(jù);接收端接收數(shù)據(jù)并在地圖上實時顯示GPS跟蹤端當前位置;跟蹤端增設二維碼,可通過非接觸式掃描獲知攜帶者病史及家屬聯(lián)系方式,方便他人提供幫助.系統(tǒng)具有可視性好、針對性強、實用價值高等優(yōu)點.
STM32;ONENET物聯(lián)網(wǎng);GPS;GSM
老年人離家走失、路邊暈倒事件已成為當前社會熱點關注問題.失蹤事件的發(fā)生具有不可預測性,一旦走失搜尋范圍隨時間成指數(shù)倍增加,使搜尋難度增大.
本文設計一套針對老年人的定位追蹤及信息顯示系統(tǒng).其主要功能為:當監(jiān)護人無法在視距范圍內(nèi)尋找到失蹤目標時,失蹤人員所攜帶的跟蹤設備因脫離監(jiān)護范圍而被啟動,自動發(fā)送定位信息;接收端顯示軟件實時顯示跟蹤設備的方位信息;針對老年人暈倒、迷路等特定情況,跟蹤設備可提供攜帶者的個人電子信息,如姓名、家庭住址、子女聯(lián)系方式、病史等,附近人員可通過手機掃描二維碼方式獲取信息并提供幫助.
目前市場上已有的定位設備多采用短信顯示經(jīng)緯度坐標的方案,由于經(jīng)緯度信息不直觀,實用價值不高.本文設計系統(tǒng)引入物聯(lián)網(wǎng)及其手機應用,在地圖上直觀表達地理信息;STM32嵌入系統(tǒng)可以有效管理跟蹤端GSM發(fā)送GPS信息,具有較高實用性.
系統(tǒng)采用嵌入式系統(tǒng)STM32、全球移動通信系統(tǒng)(Global System for Mobile Communication GSM)和全球定位系統(tǒng)(Global Positioning System GPS).總體框架如圖1所示,可實現(xiàn)老年人失蹤報警、定位及地圖實時顯示功能.
系統(tǒng)主要由三部分組成,跟蹤設備、接收設備和中國移動物聯(lián)網(wǎng)(ONENET).接收設備由監(jiān)護人員攜帶,在地圖上顯示GSM芯片發(fā)來的GPS定位信息,主要實現(xiàn)系統(tǒng)參數(shù)輸入、監(jiān)控跟蹤設備活動范圍、超范圍警報等功能;跟蹤設備端由老年人隨身攜帶,主要實現(xiàn)監(jiān)護范圍超越報警,發(fā)送定位信息,二維碼顯示等功能;物聯(lián)網(wǎng)主要實現(xiàn)定位信息的接收、解析、調(diào)用百度地圖API、方位顯示功能.
圖1 系統(tǒng)總體設計框圖
跟蹤端采用ST公司的STM32-F103ZET6型號芯片為核心控制器.該芯片為基于Cortex-M3內(nèi)核的32位微控制器,供電電壓在2.0~3.6V,最高工作頻率可達72MHz,帶有4個片選的靜態(tài)存儲器控制器,可支持CF卡、SRAM、PSRAM、NOR/NAND存儲器,3個12位模數(shù)轉(zhuǎn)換器(A/D),2通道12位數(shù)模轉(zhuǎn)換器(D/A),12通道DMA控制器,多達112個I/O端口,支持I2C、USART、SPI、CAN、USB等多種通信接口.
GPS+GSM芯片采用SIMCOM公司的SIM868模塊,支持短信、GPRS、DTMF、TTS、HTTP、FTP、彩信、GPS、藍牙等功能.工作頻段在850/900/1800/1900MHz,GPRS傳輸率上下行都為85.6kbps,高精度GPS,水平位置<2.5m CEP,工作電壓3.4~4.4V.
SIM868芯片在STM32-F103ZET6發(fā)來的AT指令控制下將GPS所接受到的衛(wèi)星定位信息通過通用分組無線服務技術(General Packet Radio Service GPRS)網(wǎng)絡發(fā)送出去.
圖2 1117穩(wěn)壓芯片原理圖
跟蹤端設備為方便攜帶,采用3.7V鋰電池作為供電電源.而STM32-F103ZET6芯片與SIM868模塊的工作電壓范圍不一致,需對電源進行處理.
如圖2所示,采用LM1117-3.3穩(wěn)壓芯片將5V電壓轉(zhuǎn)換成3.3V為STM32-F103ZET6芯片供電.
結合實際應用情況兩個電壓等級的電壓分配給不同的設備使用,保證系統(tǒng)的穩(wěn)定運行.
串口通信可分為TTL標準和RS-232標準.TTL標準2.4~5V表示二進制邏輯1,而用0~0.5V表示邏輯0;RS-232標準為了遠距離傳輸及增強抗干擾能力,用-3~-15V表示二進制邏輯1,而用3~15V表示邏輯0.STM32芯片一般采用TTL電平標準,本設計中采用MAX3232芯片對TTL及RS-232電平的信號進行轉(zhuǎn)換.其原理圖如圖3所示
GPRS網(wǎng)絡方案:采用GPRS網(wǎng)絡傳送數(shù)據(jù)以取代短信可以增加信息傳輸量,已有的多數(shù)解決方案是創(chuàng)建服務器提供固定IP地址用以接收數(shù)據(jù),同時創(chuàng)建數(shù)據(jù)庫以保存數(shù)據(jù),監(jiān)護設備如果是移動上網(wǎng)設備,可隨時訪問固定IP地址的服務器,查詢數(shù)據(jù)庫來獲取跟蹤端發(fā)來的定位數(shù)據(jù).這種解決方案服務器的開發(fā)成本及運行成本都比較高.
目前物聯(lián)網(wǎng)(Internet of Things IOT)平臺較多,本文選用ONENET作為物聯(lián)網(wǎng)接入平臺.ONENET是中國移動推出的物聯(lián)網(wǎng)開放平臺,提供全面完備的IOT云服務.支持EDP、MQTT、HTTP、Modbus、JT/T808、TCP透傳六種網(wǎng)絡接入?yún)f(xié)議.并提供相應的C語言版、Andriod版、Java版SDK.可創(chuàng)建觸發(fā)器、應用及連接第三方開發(fā)平臺.
本文采用EDP協(xié)議及對應的C語言版SDK,由STM32芯片控制SIM868通過GPRS方式接入物聯(lián)網(wǎng).
接入前需注冊ONENET用戶,創(chuàng)建設備、添加APIKEY.創(chuàng)建成功可獲得設備ID及APIKEY.這兩項是接入物聯(lián)網(wǎng)所必須的識別驗證信息.
SIM868模塊發(fā)送短信、撥打電話、發(fā)送彩信、GPRS網(wǎng)絡鏈接等功能,是控制器通過串口發(fā)送AT指令實現(xiàn)的.STM32-F103ZET6芯片具備多個串口,ST公司為STM32提供的庫函數(shù)中有完整的可調(diào)用的串口庫函數(shù),輔助快速編程實現(xiàn)串口通信.
建立GPRS鏈接需要發(fā)送的AT指令步驟如下:
AT+CGCLASS="B" //設置移動臺類別為"B"
AT+CGDCONT=1,"IP","CMNET" // PDP上下 文標識1,互聯(lián)網(wǎng)協(xié)議接入點名稱:CMNET
AT+CGATT=1 //附著 GPRS 網(wǎng)絡
AT+CIPCSGP=1,"CMNET" //設置為 GPRS 連接模式 ,接入點為CMNET
AT+CLPORT="TCP","2000" //獲取本地端口
AT+CIPMODE=1 //進入透傳模式
AT+CIPSTART="TCP","183.230.40.39","876" //設置服務器IP和端口
上述AT指令中涉及到的IP地址"183.230.40.39"及端口號"876"是ONENET提供的EDP協(xié)議下的IP地址及端口號,若采用其他協(xié)議應根據(jù)ONENET網(wǎng)站開發(fā)文檔做相應修改.若AT+CIPSTART指令發(fā)出后,返回"OK","CONNECT"則說明連接成功,網(wǎng)絡已準備好.
圖3 串口通信電平轉(zhuǎn)換電路原理圖
網(wǎng)絡準備好后,調(diào)用SDK中的Connect_RequestType1()函數(shù),發(fā)送設備ID及APIKEY,請求物聯(lián)網(wǎng)設備的連接,若返回"0X20 0X02 0X00 0X00"說明連接設備成功.再調(diào)用PacketSavedataSimpleString()函數(shù),該函數(shù)的功能是以字符串形式輸入數(shù)據(jù),函數(shù)生成EDP協(xié)議格式的cJSON數(shù)據(jù)包.
實現(xiàn)ONENET物聯(lián)網(wǎng)上顯示地圖信息,需要上傳數(shù)據(jù)符合特定格式,開發(fā)文檔建議采用《設備終端接入?yún)f(xié)議-EDP》中TYPE1或TYPE3的方式上傳.本文采用TYPE1方式.具體發(fā)送字符格式為{"datastreams":[{"id":"location","datapoints":[{"value":{"lon":longi tude,"lat":latitude}}]}]}.其中l(wèi)ongitude是SIM868測得的經(jīng)度數(shù)據(jù),latitude是SIM868測得的緯度數(shù)據(jù).
數(shù)據(jù)接收:
控制SIM868模塊接收定位數(shù)據(jù)依然需要STM32通過串口發(fā)送AT指令完成,可以采用兩種命令語句獲得定位信息,第一種具體步驟如下:
AT+CGNSPWR=1 //打開GPS電源
AT+CGNSINF //接收GPS定位數(shù)據(jù)
返回+CGNSINF:<1>,<2>,<3>,<4>,<5>,<6>,<7>,
<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>,
<18>,<19>,
其中<1>表示GNSS運行狀態(tài),值為1表示運行,值為0表示未運行;
<2>表示定位狀態(tài),值為1表示已經(jīng)定位,值為0表示尚未定位;
<3>表示UTC日期及時間;
<4>表示緯度;
<5>表示經(jīng)度.
若簡單應用可只取前5個信息就能向物聯(lián)網(wǎng)平臺發(fā)送定位信息.
第二種具體步驟如下:
AT+CGNSPWR=1 //打開GPS電源
AT+CGNSTST=1 //接收NMEA-0183協(xié)議數(shù)據(jù)
返回為NMEA-0183協(xié)議數(shù)據(jù).
目前有多種二維碼生成工具,可指向文本、網(wǎng)址、名片、圖片、微信、程序等.本文應用"草料二維碼"生成工具,生成一個指向文本的二維碼.文本內(nèi)容記錄攜帶者家屬聯(lián)系方式、病史、家庭住址等信息.如圖4所示:
圖4 二維碼生成器
采用單面膠紙打印,粘貼在跟蹤端固定位置,便于掃描.
本文設計了一套基于STM32及物聯(lián)網(wǎng)的老年人追蹤定位系統(tǒng),跟蹤端GSM芯片在STM32的控制下通過GPRS網(wǎng)絡發(fā)送GPS定位數(shù)據(jù)信息,并具備聲光報警及二維碼掃描功能;設備接入物聯(lián)網(wǎng),可存儲定位數(shù)據(jù),并在地圖上直觀顯示.綜合應用新技術為老年人追蹤定位提供解決方案.
[1]毛亞青,張立,黃凱,等.基于Cortex-A9的車間生產(chǎn)過程跟蹤管控終端設計[J].電子技術應用,2017,43(2):65-68.
[2]肖家問,茅勝榮,陳小平.低功耗遠程煙霧報警系統(tǒng)設計[J].微型機與應用,2017,36(2):96-99.
[3]譚欽紅,黃茂碟,張作運.基于Android的情報管理系統(tǒng)設計與實現(xiàn)[J].微型機與應用,2017,36(2):100-103.
[4]雷帆.基于GPRS網(wǎng)絡的智能閥門監(jiān)控系統(tǒng)[J].自動化與儀表,2015,30(5):29-31.
[5]百度地圖Android SDK概述[OL].http://developer.baidu.com/map/sdk-android.htm.
[6]陳強.Android實例開發(fā)完全手冊[M].北京:人民郵電出版社,2012.
[7]王柯,張文詩,馬宏斌.基于Android平臺的移動GIS地圖服務模式研究[J].地理信息世界,2014,21(5):84-90.
吉林省教育廳"十二五"科學技術研究規(guī)劃項目(吉教科合字[2015] 第570號).
梁龍凱(1984-),男,碩士,助教,主要研究方向:檢測技術與自動控制.