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