基于Arduino的遠(yuǎn)程定位生理參數(shù)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
3 軟件設(shè)計(jì)
本文引用地址:http://www.ex-cimer.com/article/256090.htm主程序設(shè)計(jì)基于Arduino IDE的開發(fā)平臺(tái)完成。由于Arduino平臺(tái)提供了GPS和GSM開發(fā)的庫函數(shù),大大降低了系統(tǒng)設(shè)計(jì)的難度。其流程如下:首先,完成初始化(中斷、LCD、ADXL345、串口、GSM/GPS等初始化)后,啟動(dòng)GPS/GSM模塊,進(jìn)入串口中斷等待;接著,查詢串口是否有數(shù)據(jù)。當(dāng)查詢到串口中有數(shù)據(jù)傳來時(shí),就開始判斷數(shù)據(jù)是否符合預(yù)先設(shè)定協(xié)議,如果符合微控制器跳轉(zhuǎn)到生理參數(shù)測(cè)量模塊之中讀取行走狀態(tài)、脈搏、呼吸頻率等相關(guān)數(shù)據(jù),并進(jìn)行相應(yīng)數(shù)據(jù)處理和顯示。處理完之后返回?cái)?shù)據(jù)到主程序,對(duì)采集的數(shù)據(jù)進(jìn)行相應(yīng)的處理。最后,將處理完的數(shù)據(jù)與預(yù)先設(shè)定的閥值進(jìn)行比較,如果未超出閥值則通過GSM返回正常標(biāo)志數(shù)據(jù),否則,轉(zhuǎn)入到GPS子程序(MXTOS2-200)之中,判斷校驗(yàn)數(shù)據(jù)是否正確,若正確則進(jìn)行數(shù)據(jù)包的解析,獲取當(dāng)時(shí)人的準(zhǔn)確位置;若不正確則繼續(xù)等待校驗(yàn)直到獲取準(zhǔn)確位置。接著,執(zhí)行GSM發(fā)送指令,發(fā)出經(jīng)緯度時(shí)間等信息到上位機(jī),同時(shí)發(fā)出警報(bào)尋求救援;如果在閥值以內(nèi)則返回繼續(xù)監(jiān)聽串口數(shù)據(jù),循環(huán)上述過程。主程序流程圖如圖4所示。
3.1 MXTOS2-200
MXTOS2-200支持以$GPGGA、$GPGSV、$GPGSA為主的16通信協(xié)議,通過相關(guān)協(xié)議設(shè)置可以獲取UTC時(shí)間、經(jīng)緯度、GPS狀態(tài)、正在使用的衛(wèi)星數(shù)量、HDOP水平精度因子、海拔高度、差分時(shí)間及ID等等。本系統(tǒng)采用$GPGGA協(xié)議,通過串口數(shù)據(jù)來判斷和校驗(yàn),經(jīng)校驗(yàn)后,接收數(shù)據(jù)(本系統(tǒng)主要提取時(shí)間、經(jīng)緯度、有效性)并進(jìn)行處理,最后保存返回?cái)?shù)據(jù)給主程序。MXTOS2-200子程序流程圖如圖5所示。
加速度計(jì)相關(guān)文章:加速度計(jì)原理 燃?xì)鈭?bào)警器相關(guān)文章:燃?xì)鈭?bào)警器原理
評(píng)論