王焮灝,程永強(qiáng)
(太原理工大學(xué) 信息工程學(xué)院,山西 太原 030024)
?
針對(duì)兒童安全及姿態(tài)的可穿戴設(shè)備設(shè)計(jì)
王焮灝,程永強(qiáng)
(太原理工大學(xué) 信息工程學(xué)院,山西 太原 030024)
針對(duì)兒童走失以及兒童坐姿不良這兩個(gè)問(wèn)題,設(shè)計(jì)了一款基于STM32為控制核心的可穿戴設(shè)備。設(shè)計(jì)采用STM32作為主控芯片,采用SIM808模塊作為定位、無(wú)線網(wǎng)絡(luò)數(shù)據(jù)傳輸、一鍵求救短信發(fā)送模塊,將GPS定位數(shù)據(jù)通過(guò)GPRS網(wǎng)絡(luò)傳輸至Yeelink云平臺(tái)存儲(chǔ),通過(guò)Yeelink云平臺(tái)手機(jī)或計(jì)算機(jī)客戶端追蹤查看歷史及實(shí)時(shí)運(yùn)動(dòng)軌跡。采用三軸數(shù)字加速度傳感器ADXL345和三軸陀螺儀傳感器ITG3205作為姿態(tài)數(shù)據(jù)采集芯片,利用四元數(shù)算法進(jìn)行數(shù)據(jù)融合,得出精確的姿態(tài)俯仰角,通過(guò)2.4G模塊將姿態(tài)數(shù)據(jù)傳輸至主控模塊,用貼片電機(jī)進(jìn)行姿態(tài)錯(cuò)誤提醒。
兒童走失;可穿戴設(shè)備;STM32;SIM808;Yeelink云平臺(tái);四元數(shù)算法
據(jù)不完全統(tǒng)計(jì),中國(guó)每年失蹤兒童人數(shù)在20萬(wàn)人左右,能找回來(lái)的大概只占0.1%。孩子在發(fā)育期間如果坐姿不正,很可能會(huì)導(dǎo)致眼睛近視、駝背、脊柱彎曲等諸多危害。因此,本文設(shè)計(jì)的具有兒童運(yùn)動(dòng)軌跡追蹤、緊急求救功能、姿態(tài)檢測(cè)及姿態(tài)錯(cuò)誤提醒功能的兒童監(jiān)護(hù)系統(tǒng)對(duì)解決兒童走失及姿態(tài)不良問(wèn)題具有非常重要的意義[1]。本系統(tǒng)體積小、功耗低,便于穿戴,可擴(kuò)展,具有很高的實(shí)用性和很廣闊的市場(chǎng)前景。
系統(tǒng)主要是針對(duì)兒童的安全定位和兒童坐姿檢測(cè)設(shè)計(jì)的一套可穿戴設(shè)備[2]。安全定位方面,通過(guò)全球定位系統(tǒng)GPS(Global Positioning System)和基站定位LBS(Location Based Service)對(duì)兒童的實(shí)時(shí)位置進(jìn)行定位,將定位得到的數(shù)據(jù)進(jìn)行提取解析,通過(guò)通用分組無(wú)線業(yè)務(wù)GPRS(General Packet Radio Service)將數(shù)據(jù)的經(jīng)緯度、速度、海拔高度、速度數(shù)據(jù)傳輸至Yeelink云服務(wù)器存儲(chǔ),用戶可以通過(guò)Yeelink云服務(wù)器手機(jī)客戶端和計(jì)算機(jī)Web端調(diào)取查看兒童運(yùn)動(dòng)軌跡,家長(zhǎng)可以隨時(shí)隨地了解到孩子的位置信息。設(shè)備設(shè)有一鍵SOS呼救功能,當(dāng)兒童陷入危險(xiǎn)狀況時(shí),兒童可以長(zhǎng)按3秒設(shè)備上的SOS求救按鍵,通過(guò)全球移動(dòng)通信系統(tǒng)GSM(Global System for Mobile Communication)向親人發(fā)送求救短信,讓家人在第一時(shí)間提供幫助。
坐姿方面,采用三軸數(shù)字加速度計(jì)ADXL345和三軸陀螺儀傳感器ITG3205分別測(cè)出加速度和角速度值,使用四元數(shù)算法將兩組數(shù)據(jù)進(jìn)行數(shù)據(jù)融合,去除噪聲,消除零漂,從而得出精確的坐姿俯仰角。使用2.4 GHz芯片NRF24L01將得到的精確姿態(tài)數(shù)據(jù)傳輸至主控模塊,主控模塊通過(guò)判斷坐姿是否錯(cuò)誤,用PWM波形控制貼片電機(jī)轉(zhuǎn)動(dòng),當(dāng)姿態(tài)偏離越嚴(yán)重,PWM輸出波形的占空比增大,使得電機(jī)轉(zhuǎn)動(dòng)越快,達(dá)到坐姿修正提醒的目的。在軟件方面應(yīng)用Keil uvision4軟件來(lái)完成程序的設(shè)計(jì)和編譯,使用C語(yǔ)言來(lái)完成程序編寫,使用ST-Link仿真器來(lái)完成仿真和程序下載,最終實(shí)現(xiàn)完整系統(tǒng)的設(shè)計(jì)。系統(tǒng)總體框圖如圖1所示。

圖1 系統(tǒng)總體設(shè)計(jì)框圖
系統(tǒng)硬件設(shè)計(jì)分為主控模塊設(shè)計(jì)和姿態(tài)模塊設(shè)計(jì)。設(shè)計(jì)在芯片選型以及電路設(shè)計(jì)上始終遵循合理、實(shí)用、低功耗、小體積的原則,使用Altium designer進(jìn)行電路設(shè)計(jì)及PCB圖繪制。
主控模塊選用ST公司F4系列芯片STM32F405RGT6作為主控芯片[3],選用集成GPS的四頻GSM/GPRS模塊SIM808來(lái)實(shí)現(xiàn)系統(tǒng)的定位、SMS短消息發(fā)送以及GPRS無(wú)線網(wǎng)絡(luò)數(shù)據(jù)傳輸[4],選用0.96 in(1 in=2.54 cm)有機(jī)發(fā)光二極管OLED作為液晶顯示模塊[5],選用貼片電機(jī)來(lái)進(jìn)行姿態(tài)錯(cuò)誤提醒。系統(tǒng)采用3.7 V鋰電池供電,選用RT9193-33GB芯片作為電壓調(diào)整芯片。
2.2 姿態(tài)模塊設(shè)計(jì)
姿態(tài)模塊選用ST公司STM32F030F4P6芯片作為主控芯片,選用三軸數(shù)字加速度傳感器芯片ADXL345和三軸陀螺儀芯片ITG3205作為姿態(tài)數(shù)據(jù)采集芯片,選用2.4G芯片NRF24L01作為與主控模塊無(wú)線通信芯片。
2.3 Yeelink云平臺(tái)
Yeelink云平臺(tái)是個(gè)開放的通用物聯(lián)網(wǎng)平臺(tái),主要提供數(shù)值型、圖像型及GPS型傳感器數(shù)據(jù)的接入、存儲(chǔ)以及展現(xiàn)服務(wù)。系統(tǒng)選用Yeelink云平臺(tái)不僅能實(shí)現(xiàn)對(duì)定位數(shù)據(jù)的云端保存,還能對(duì)歷史運(yùn)動(dòng)軌跡進(jìn)行動(dòng)態(tài)追蹤[6-7]。Yeelink云平臺(tái)支持手機(jī)和計(jì)算機(jī)客戶端。
系統(tǒng)的軟件設(shè)計(jì)采用模塊化設(shè)計(jì)應(yīng)用 Keil uvision4 軟件來(lái)完成程序的設(shè)計(jì)和編譯,使用C語(yǔ)言來(lái)完成編寫,用ST-Link仿真器來(lái)完成仿真和程序下載。系統(tǒng)軟件設(shè)計(jì)分為主控模塊軟件設(shè)計(jì)和姿態(tài)模塊軟件設(shè)計(jì)兩部分。主控模塊軟件主要完成GPS定位及數(shù)據(jù)解析任務(wù)、GPRS無(wú)線網(wǎng)絡(luò)傳輸任務(wù)、SMS短消息發(fā)送任務(wù)、OLED屏幕顯示任務(wù)、2.4G無(wú)線數(shù)據(jù)接收任務(wù)。姿態(tài)模塊軟件主要完成姿態(tài)原始數(shù)據(jù)采集、四元數(shù)算法數(shù)據(jù)融合以及2.4G無(wú)線數(shù)據(jù)發(fā)送。各任務(wù)之間通過(guò)FreeRTOS操作系統(tǒng)來(lái)進(jìn)行多任務(wù)調(diào)度協(xié)調(diào)運(yùn)行[8]。主控模塊軟件結(jié)構(gòu)如圖2所示,姿態(tài)模塊軟件結(jié)構(gòu)如圖3所示。

圖2 主控模塊軟件結(jié)構(gòu)圖

圖3 姿態(tài)模塊軟件結(jié)構(gòu)圖
3.1 GPS定位及數(shù)據(jù)解析
STM32通過(guò)串口USART3發(fā)送相關(guān)AT指令與GPS進(jìn)行通信,通過(guò)串DUSART3(釆用中斷方式)接收GPS模塊的定位數(shù)據(jù)[9-10],接收到的定位數(shù)據(jù)中需要解析提取經(jīng)度、緯度、海拔高度、速度、日期和時(shí)間的數(shù)據(jù)。獲取的GPS原始數(shù)據(jù)格式為“+CGPSINF:
《湖北民族學(xué)院知識(shí)產(chǎn)權(quán)管理辦法》《湖北民族學(xué)院促進(jìn)科技成果轉(zhuǎn)化試行辦法》《湖北民族學(xué)院橫向科研項(xiàng)目經(jīng)費(fèi)管理實(shí)施細(xì)則(暫行)》《湖北民族學(xué)院橫向科研項(xiàng)目經(jīng)費(fèi)代理記賬報(bào)銷細(xì)則(試行)》《湖北民族學(xué)院科研獎(jiǎng)勵(lì)辦法》等規(guī)定、制度、管理辦法形成了學(xué)校現(xiàn)行的專利管理制度體系。
3.2 GPRS無(wú)線數(shù)據(jù)傳輸
GPRS連接到網(wǎng)絡(luò)和數(shù)據(jù)的傳輸都是通過(guò)發(fā)送AT命令來(lái)實(shí)現(xiàn)的[11]。AT+CIPSTART命令用于建立TCP/UDP連接。建立TCP/UDP完整命令:
AT+CIPSTART="TCP","42.96. 164.52","80"
端口號(hào)為80,IP地址為42.96.164.52。上傳一組數(shù)據(jù)就是在Yeelink創(chuàng)建一個(gè)數(shù)據(jù)點(diǎn)datapoint,一個(gè)datapoint是由key和value組成的鍵值對(duì),對(duì)URL為“http://api.Yeelink. net/v1.0/device/
3.3 四元數(shù)算法
本系統(tǒng)通過(guò)加速度計(jì)和陀螺儀兩個(gè)傳感器的結(jié)合對(duì)兒童姿態(tài)進(jìn)行檢測(cè)。為了結(jié)合加速度計(jì)和陀螺儀的優(yōu)點(diǎn),消除陀螺儀對(duì)角速度積分帶來(lái)的累積誤差,使得姿態(tài)檢測(cè)更加準(zhǔn)確穩(wěn)定,系統(tǒng)使用四元數(shù)算法[12-13]將加速度計(jì)傳感器獲得的角度信息融合到陀螺儀中。四元數(shù)算法是一種單子樣算法,較適用于低速運(yùn)載體的姿態(tài)解算,四元數(shù)算法具體實(shí)現(xiàn)步驟為:
1)初始化四元數(shù)。
2)獲取陀螺儀測(cè)得的角速度和加速度計(jì)獲取的加速度,將加速度計(jì)輸出的各軸加速度值進(jìn)行歸一化。
3)由四元數(shù)計(jì)算得到余弦矩陣,該余弦矩陣第三列的元素實(shí)際上是當(dāng)前的歐拉角在機(jī)體坐標(biāo)系上換算出來(lái)的重力單位向量,也就是陀螺儀積分后的姿態(tài)推算出的重力向量。
4)陀螺儀積分后的姿態(tài)推算出來(lái)的重力向量與加速度計(jì)測(cè)出來(lái)的重力向量進(jìn)行向量叉積得到兩者的誤差。
5)對(duì)該誤差進(jìn)行kp(比例增益)和ki(積分增益)后補(bǔ)償?shù)酵勇輧x的輸出值中,修正陀螺儀的零漂。
6)利用修正后的陀螺儀值更新四元數(shù)。
7)再將更新后的四元數(shù)歸一化處理。
8)通過(guò)四元數(shù)矩陣解算姿態(tài)角。
系統(tǒng)測(cè)試主要是對(duì)系統(tǒng)整體運(yùn)行情況及主要功能測(cè)試為主。將主控模塊戴在手腕部位,姿態(tài)模塊掛在頸椎部位,系統(tǒng)上電,主控模塊成功讀取到了電池剩余電量及信號(hào)強(qiáng)度,校正了正確的GPS時(shí)間,與姿態(tài)模塊成功建立連接,并且接收到了姿態(tài)數(shù)據(jù)。改變坐姿,當(dāng)坐姿不良時(shí),測(cè)得角度和正確坐姿下測(cè)得的角度相差大于15°,電機(jī)轉(zhuǎn)動(dòng),并且差值越大,電機(jī)轉(zhuǎn)動(dòng)越快,震感越強(qiáng),設(shè)備運(yùn)行圖如圖4所示。穿戴好設(shè)備,環(huán)繞學(xué)校一周采集定位數(shù)據(jù)進(jìn)行測(cè)試,通過(guò)Yeelink計(jì)算機(jī)客戶端查看到的運(yùn)動(dòng)軌跡追蹤圖如圖5所示。經(jīng)過(guò)系統(tǒng)整體測(cè)試和各個(gè)功能測(cè)試,系統(tǒng)整體運(yùn)行正常,各個(gè)功能正常實(shí)現(xiàn),達(dá)到設(shè)計(jì)預(yù)期目的。

圖4 設(shè)備運(yùn)行圖(照片)

圖5 運(yùn)動(dòng)軌跡追蹤圖(截圖)
系統(tǒng)誤差主要是GPS定位誤差和姿態(tài)模塊傳感器誤差。開啟GPS定位,通過(guò)Yeelink查看在同一個(gè)地方下多次定位位置偏移,結(jié)果顯示定位誤差大約為5 m。定位誤差是不可避免的,5 m之內(nèi)的定位精度滿足系統(tǒng)的要求。在靜止?fàn)顟B(tài)下,將傳感器放置于桌面,獲取得到的姿態(tài)角度數(shù)據(jù)導(dǎo)入Excel表中進(jìn)行分析,其中橫坐標(biāo)代表采集次數(shù),縱坐標(biāo)代表經(jīng)過(guò)加速度計(jì)和陀螺儀融合后的俯仰角數(shù)據(jù),結(jié)果如圖6所示。分析結(jié)果表明,經(jīng)過(guò)加速度計(jì)和陀螺儀融合后的輸出角度靜態(tài)誤差約0.2°,可以滿足頸部姿態(tài)測(cè)量的需求。

圖6 靜態(tài)俯仰角度值
本文描述了一個(gè)以STM32微控制器為控制核心,針對(duì)兒童安全防丟以及坐姿的可穿戴設(shè)備設(shè)計(jì)的實(shí)現(xiàn)。經(jīng)過(guò)長(zhǎng)期測(cè)試,系統(tǒng)運(yùn)行正常,各個(gè)功能能夠正常實(shí)現(xiàn)。本系統(tǒng)能夠讓家人對(duì)兒童進(jìn)行全方位的安全監(jiān)護(hù),能督促孩子時(shí)刻保持良好的坐姿,對(duì)兒童的健康成長(zhǎng)起著很好的幫助作用。整個(gè)系統(tǒng)體積小、便于穿戴、功耗低、功能強(qiáng)、可擴(kuò)展,不僅適合兒童,還適合老年人、寵物及物件的追蹤,具有很高的實(shí)用性和廣闊的市場(chǎng)前景。
[1]羅啟華,蔣雯.信息化時(shí)代下老年人可穿戴設(shè)備設(shè)計(jì)探究[J].電子制作,2015(18):18-19.
[2]李娟.基于通信網(wǎng)絡(luò)和GPS的兒童防走失系統(tǒng)的研究[J].信息通信,2015(1):74-75.
[3]劉軍,張洋.精通STM32F4(庫(kù)函數(shù)版)[M].北京:北京航空航天大學(xué)出版社,2015.
[4]郭堅(jiān).基于SIM908的無(wú)人機(jī)空氣質(zhì)量監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與研究[D].天津:天津大學(xué),2013.
[5]趙展,魏雯.一種基于單片機(jī)的OLED驅(qū)動(dòng)控制電路的設(shè)計(jì)[J].內(nèi)江科技.2013(5):62.
[6]杜一騰,遲宗濤.基于Arduino與yeelink平臺(tái)的實(shí)時(shí)環(huán)境監(jiān)測(cè)系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(10):27-28.
[7]余佳濱,陽(yáng)泳,皺陸華,等.基于yeelink網(wǎng)絡(luò)平臺(tái)的智能農(nóng)業(yè)遠(yuǎn)程控制[J].電子技術(shù)與軟件工程,2015(1):18.
[8]劉濱,王琦,劉麗麗.嵌入式操作系統(tǒng)FreeRTOS的原理與實(shí)現(xiàn)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005(7):8-11.
[9]張亮.基于GPS和GSM/GPRS的定位系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:中國(guó)科學(xué)院計(jì)算技術(shù)研究所,2006.
[10]于鐵軍.基于ARM的GPS定位系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].太原:中北大學(xué),2014.
[11]趙曉鳳,周璟瑜,王邦均,等.STM32控制下基于GPS與GPRS的軌跡跟蹤器[J].電子器件,2015(1):156-159.
[12]MADGWICK S O H. An efficient orientation Filter for inertial and inertial/ magnetic sensor arrays[EB/OL]. [2016-01-10]. http://forums.ni.com/ni/attachments/ni/170/825896/1/madgwick_internal_report.pdf.
[13]尹苗苗.捷聯(lián)慣性導(dǎo)航系統(tǒng)的姿態(tài)算法研究[D].上海:上海海事大學(xué),2007.
王焮灝(1992— ),碩士生,主研嵌入式系統(tǒng);
程永強(qiáng)(1969— ),博士,教授,碩士生導(dǎo)師,主要研究方向?yàn)閳D像編碼處理及其嵌入式應(yīng)用。
責(zé)任編輯:薛 京
Wearable device designed for child safety and posture
WANG Xinhao,CHENG Yongqiang
(SchoolofInformationEngineering,TaiyuanUniversityofTechnology,Taiyuan030024,China)
A kind of wearable equipment which based on STM32 for solving the problem of children lost and their unhealthy posture is designed. The design chooses STM32 as the master chip, SIM808 as the module which is used for positioning, wireless data transmission and sending the SOS message with only one key. This module transfers GPS data to Yeelink cloud platform through GPRS network, tracks children’s track by Yeelink cloud server mobile client and Web client. In this design, three-axis digital acceleration sensor ADXL345 and three-axis gyroscope sensor ITG3205 are used to measure angular value and angular velocity value respectively, and quaternions algorithm is used to merge two groups of data. And then, the precise posture dump angle is obtained. Precise posture data is transmitted wirelessly to master control module by using 2.4G module NRF24L01.An SMD motor is used to remind the owner to correct posture.
children lost; wearable device; STM32; SIM808; Yeelink cloud platform; quaternions algorithm
王焮灝,程永強(qiáng). 針對(duì)兒童安全及姿態(tài)的可穿戴設(shè)備設(shè)計(jì)[J]. 電視技術(shù),2016,40(11):35-38. WANG X H,CHENG Y Q. Wearable device designed for child safety and posture [J]. Video engineering,2016,40(11):35-38.
TN602
A
10.16280/j.videoe.2016.11.007
2016-02-29