秦僑,王南蘭
(湖南文理學(xué)院 計(jì)算機(jī)與電氣工程學(xué)院,湖南 常德,415000)
隨著社會經(jīng)濟(jì)的快速發(fā)展,我國社會人口的年齡結(jié)構(gòu)也逐步出現(xiàn)老年化的態(tài)勢[1]。由于老年人行動不便,所以如今越來越多的子女給老年人準(zhǔn)備了輪椅,但因此也出現(xiàn)了一些新的問題,如老年人遺失輪椅、輪椅被盜、乘坐輪椅上下坡時(shí)易發(fā)生摔倒而無人照看等情況[2],國內(nèi)外對于此類問題也設(shè)計(jì)有相應(yīng)的解決方案,比如避障、機(jī)械式上樓梯、防盜功能等等功能的輪椅,但此類輪椅一般是一體式輪椅,普遍成本價(jià)較高且不易改裝升級。針對上述問題,本文設(shè)計(jì)了一種基于STM32F103的智能輪椅輔助裝置。該裝置結(jié)合物聯(lián)網(wǎng)技術(shù)[3],能夠?qū)崿F(xiàn)GPS 定位、輪椅摔倒報(bào)警通知、輪椅被盜警報(bào)、心率檢測,并通過GPRS 將信息上傳,可在手機(jī)APP 及PC 端后臺實(shí)時(shí)從地圖上查看輪椅位置及老年人的安全狀況。本設(shè)計(jì)裝置能夠方便的搭載于各類現(xiàn)有的普通輪椅上,既方便攜帶,成本也較低。裝置的定位精度為8 m,性能穩(wěn)定,可靠性高。
本裝置由穿戴部分與載體部分組成。穿戴部分主要由STM32F103 主控板、藍(lán)牙模塊、心率傳感器組成,可實(shí)現(xiàn)通過藍(lán)牙控制輪椅警報(bào)功能的啟停、通過心率傳感器實(shí)時(shí)測量老年人的心率[4]并通過藍(lán)牙傳輸信息給;載體部分主要由STM32F103 主控板、姿態(tài)檢測器、GPS 模塊、GPRS 模塊,可實(shí)現(xiàn)對輪椅位置的實(shí)時(shí)精確定位以及對輪椅摔倒后的自動報(bào)警通知的功能,并能通過GPRS 上傳信息至云服務(wù)器。此外設(shè)計(jì)了APP 及PC 端后臺,監(jiān)護(hù)人可實(shí)時(shí)方便快捷地查看位置及安全信息。
圖1 整體設(shè)計(jì)圖
主控制器采用的是STM32F103ZET6 單片機(jī),其內(nèi)核為ARM 公司Cortex-M3,最高時(shí)鐘頻率為72 MHz,ARM 內(nèi)核擁有高速的運(yùn)算能力及豐富的串口及控制功能,方便外接各類模塊,還可利用FLASH來存儲系統(tǒng)的一些參數(shù),包括GPS 定位經(jīng)緯度、心率數(shù)據(jù)、云端下發(fā)命令數(shù)據(jù)等。與傳統(tǒng)的通用DSP+單片機(jī)+A/D芯片的設(shè)計(jì)方案相比,STM32F103彌補(bǔ)DSP芯片在資源和控制方面的不足,不僅簡單可靠,而且成本低廉。本設(shè)計(jì)采用的是STM32F103ZET6 主控制器,具有2 個12 位的us 級的AD 轉(zhuǎn)換器、11個定時(shí)器,還有豐富的串口資源,這正是本設(shè)計(jì)所需要的。
ATK-S1216F8-BDGPS/北斗模塊是一款具備高性能、高精度GPS/北斗定位功能的模塊。它的體積很小,能夠便于安裝,同時(shí)它具有極好的性能,定位精度能夠達(dá)到8 m。該模塊能夠通過串口通訊對其進(jìn)行設(shè)置,包括數(shù)據(jù)刷新間隔、獲取的數(shù)據(jù)種類、獲取的數(shù)據(jù)來源等等。在獲取數(shù)據(jù)后,該模塊能夠?qū)⑿畔⒈4嬖趦?nèi)部的FLASH 中,可以做到隨時(shí)取用。該模塊帶有IPX 口,能夠方便地連接有源天線,工作電壓為3.3 V/5 V,能夠方便連接單片機(jī)進(jìn)行供電,其電路連接圖如圖2 所示。
圖2 GPS 模塊電路連接圖
本設(shè)計(jì)采用MPU6050 芯片作為姿態(tài)檢測器用來檢測輪椅的六軸加速度,通過一定算法得到用戶在三軸上的偏移角度從而知道用戶的傾斜角度。該芯片具有抗沖擊能力強(qiáng)、體積小、集成度高、成本低等優(yōu)點(diǎn)。它包含三軸的加速度計(jì)和三軸的角速度計(jì),精度為16 bit,內(nèi)置有DMP(數(shù)字運(yùn)動處理器)可用以姿態(tài)解算,能夠檢測獲取空間內(nèi)三軸的角速度及加速度,通過姿態(tài)解算的方法轉(zhuǎn)換為歐拉角(航向角、橫滾角、俯仰角),本設(shè)計(jì)采用的姿態(tài)解算方法便是DMP 方式,通過DMP 得到四元數(shù)轉(zhuǎn)換為歐拉角,其電路連接圖如圖3 所示。
圖3 MPU6050 電路連接圖
ATK-SIM800C 模塊是一款工業(yè)級的GPRS 模塊,該模塊功能強(qiáng)大,常用于短語發(fā)送、GPRS 信息傳輸、藍(lán)牙通訊等無線通訊服務(wù)的領(lǐng)域,模塊采用SMT 封裝形式,其抗干擾能力強(qiáng)、體積較小,成本比較低,數(shù)據(jù)上行/下行傳輸?shù)淖畲笏俾蕿?5.6 kbps,需要通過AT 指令的方式配置其參數(shù)。數(shù)據(jù)傳輸方式采用的是內(nèi)置的TCP/IP 協(xié)議[7]。其應(yīng)用原理圖如圖4 所示。
圖4 GPRS 模塊電路連接圖
本設(shè)計(jì)采用的是市場上常見的開源的脈搏心率傳感器Pluse Sensor,該模塊的心率檢測原理是光電容積法,利用透光率不同而產(chǎn)生不同反射光,從而檢測心率跳動頻率,模塊內(nèi)置濾波放大電路,最終輸出模擬電壓給單片機(jī),單片機(jī)通過AD 轉(zhuǎn)換得到數(shù)字量后再經(jīng)過數(shù)學(xué)換算可得到心率值。其實(shí)物圖如圖5 所示。
圖5 PluseSensor 心率傳感器實(shí)物圖
GPS 模塊通過天線收取到用戶的經(jīng)緯度信息,將信息傳輸給單片機(jī),姿態(tài)檢測模塊時(shí)刻檢測輪椅的姿態(tài)角度,心率傳感器時(shí)刻檢測用戶的心率值,當(dāng)兩者同時(shí)超過設(shè)定的閾值時(shí),會將警報(bào)信息傳輸給單片機(jī),單片機(jī)將各種信息通過GPRS 模塊傳輸給云服務(wù)器,應(yīng)用軟件可以聯(lián)網(wǎng)查詢到對應(yīng)的信息。主程序流程圖如圖6 所示。
圖6 主程序流程圖
SIM800C GPRS 模塊的操作是通過串口發(fā)送AT 指令進(jìn)行的,首先進(jìn)行開機(jī)檢測,檢查SIM800C 模塊是否在線,然后測試模塊是否在正常工作狀態(tài),如果狀態(tài)正常則嘗試附著GPRS 網(wǎng)絡(luò),附著成功后設(shè)置接入點(diǎn)名稱,最后建立TCP 連接,當(dāng)串口返回CONNECT OK 時(shí)表示聯(lián)網(wǎng)完成,便可以通過AT+CIPSEND 指令發(fā)送數(shù)據(jù)。SIM800C的軟件程序流程圖如圖7 所示。
圖7 SIM800C 程序流程圖
PluseSensor 心率傳感器的使用較為簡單,通過一個IO 口即可直接獲取信息,只需要將此模擬量轉(zhuǎn)換為數(shù)字量,簡單濾除突變噪聲,再通過公式換算即可獲取實(shí)際心率值。其程序流程圖如圖8 所示。
圖8 PluseSensor 心率傳感器程序流程圖
PC 端后臺利用Visual Studio 平臺基于C#語言開發(fā);手機(jī)APP 利用Android Studio 平臺基于java語言開發(fā)。云服務(wù)器將來自底層硬件發(fā)送過來的數(shù)據(jù)進(jìn)行初次處理,再將數(shù)據(jù)發(fā)送至軟件端,軟件接收后對數(shù)據(jù)信息解碼,獲取經(jīng)緯度后將其轉(zhuǎn)化為百度地圖經(jīng)緯度,借用百度地圖API 及Browser 控件將定位坐標(biāo)顯示在具體地圖上。軟件設(shè)計(jì)如圖9 所示。
圖9 PC 端后臺軟件設(shè)計(jì)圖
本智能輪椅輔助裝置基于STM32F103 控制器,能夠?qū)崿F(xiàn)GPS 定位、輪椅摔倒報(bào)警通知、輪椅被盜找回、心率檢測,手機(jī)APP 及PC 端后臺查詢用戶狀態(tài)等功能。對老年人乘坐輪椅時(shí)存在的安全隱患與輪椅被盜問題實(shí)現(xiàn)了良好解決。