梁金梅, 程琪彬,劉持標(biāo)
(1.三明學(xué)院 信息工程學(xué)院,福建 三明365004;2.物聯(lián)網(wǎng)應(yīng)用福建省高校工程研究中心,福建 三明365004)
全面二胎政策帶來(lái)的生育高峰, 使得孕婦人群不斷擴(kuò)大, 孕婦是需要被照顧監(jiān)護(hù)的特殊群體,卻因?yàn)樯鐣?huì)發(fā)展的需要又不得不在懷孕期間或多或少的投入到工作之中, 使得孕婦在獨(dú)處的時(shí)間內(nèi)安全問(wèn)題得不到保障給家人帶來(lái)極大擔(dān)憂[1]。目前市場(chǎng)上針對(duì)孕婦的可穿戴式設(shè)備主要是為了解決孕吐或方便胎兒產(chǎn)檢等方面問(wèn)題[2-3],卻從未擁有一款針對(duì)孕婦自身安全問(wèn)題進(jìn)行監(jiān)護(hù)的產(chǎn)品,因此開發(fā)一款可隨時(shí)隨地監(jiān)護(hù)孕婦安全的便攜設(shè)備勢(shì)在必行。
本文開發(fā)的孕婦監(jiān)護(hù)設(shè)備主要由硬件終端、Web 服務(wù)器端的數(shù)據(jù)管理系統(tǒng)以及Android 客戶端APP 三部分組成。硬件終端即孕婦隨身攜帶的監(jiān)護(hù)設(shè)備,用于孕婦所處環(huán)境數(shù)據(jù)的采集、身體特征的監(jiān)測(cè)、地理位置的定位及是否發(fā)生碰撞的監(jiān)測(cè)。Web 服務(wù)器運(yùn)行在云服務(wù)器端,可供系統(tǒng)管理員對(duì)所有設(shè)備進(jìn)行用戶管理和數(shù)據(jù)的查閱。Android 客戶端供孕婦自己及家人實(shí)時(shí)查看終端監(jiān)測(cè)的數(shù)據(jù),若數(shù)據(jù)發(fā)生異常,服務(wù)器端即時(shí)通告用戶,從而實(shí)現(xiàn)了遠(yuǎn)程監(jiān)護(hù)孕婦安全的功能。下面將從系統(tǒng)總體組成、設(shè)備的硬件設(shè)計(jì)、Web 服務(wù)器端和Android 客戶端的設(shè)計(jì)與實(shí)現(xiàn)四個(gè)方面做詳細(xì)介紹。
如圖1為孕婦安全監(jiān)護(hù)設(shè)備系統(tǒng)總體框圖。其中終端硬件部分設(shè)計(jì)成可穿戴式設(shè)備,以STM32微處理器作為核心[4],連接溫度傳感器用于采集孕婦所處的環(huán)境數(shù)據(jù),心率傳感器實(shí)時(shí)檢測(cè)孕婦的心率,碰撞傳感器可檢測(cè)孕婦是否發(fā)生摔跤或碰撞,GPS 模塊可實(shí)時(shí)定位孕婦所處位置,硬件終端采集的數(shù)據(jù)通過(guò)GPRS 無(wú)線通信模塊傳輸?shù)絎eb 服務(wù)器端進(jìn)行管理。Web 服務(wù)器的運(yùn)行是基于云服務(wù)器的環(huán)境,采用SSM(即Spring + Spring MVC + MyBatis)框架開發(fā)[5],實(shí)現(xiàn)了設(shè)備數(shù)據(jù)管理、用戶管理、用戶設(shè)置等功能。Android 客戶端基于一款支持HTML5 的集成開發(fā)環(huán)境HBuilder 開發(fā)[6],實(shí)現(xiàn)了可視化的數(shù)據(jù)查閱、設(shè)備綁定、安全通告等功能。圖2顯示了Web 服務(wù)器端和Android 客戶端總體功能。
圖1 孕婦監(jiān)護(hù)系統(tǒng)設(shè)備系統(tǒng)總體框圖
圖2 孕婦監(jiān)護(hù)設(shè)備系統(tǒng)軟件功能框圖
硬件終端的設(shè)計(jì)主要包括原理圖的設(shè)計(jì)和PCB 電路板的制作及布線。本文采用Altiumdesinger軟件進(jìn)行電路設(shè)計(jì), 圖3為孕婦監(jiān)護(hù)設(shè)備的硬件原理圖。該硬件終端組件包括STM32 微處理器、GPRS 無(wú)線通信模塊、心率傳感器、溫度傳感器、GPS 模塊、電源模塊等。
圖3 終端硬件原理圖
STM32 微處理器采用STMF103系列芯片, 它是STM32F103 系列中高性能、 高配置的Cortex-M3 內(nèi)核32 位處理器,它的尺寸僅為10 mm×10 mm×1.4 mm, 適合用于便攜設(shè)備。包含2 個(gè)12 位的ADC 和51 個(gè)通用IO 口, 工作頻率能達(dá)到72 MHz,能對(duì)各類信息進(jìn)行高效處理,并具有低功耗、睡眠模式、停機(jī)和待機(jī)模式, 大大提高了設(shè)備的續(xù)航能力。本設(shè)計(jì)中主要用微處理器內(nèi)部的AD 轉(zhuǎn)換器、定時(shí)器、多功能雙向的I/O 口等功能, 圖4為STM32 微處理器的原理圖。
圖4 STM32 微處理器原理圖
本文選取GPRS 模塊作為無(wú)線通信模塊, 該模塊可以保證孕婦在戶外與服務(wù)器間的通信不間斷。GPRS 應(yīng)用被激活后,將一直保持在線,類似于無(wú)線專用網(wǎng)絡(luò)服務(wù)。硬件上GPRS 模塊的U_TXD和U_RXD 發(fā)送接收引腳需與STM32 微處理器連接。GPRS 模塊的軟件實(shí)現(xiàn)主要通過(guò)AT 指令集的方式。在模塊啟動(dòng)后首先綁定云服務(wù)器IP 地址及端口號(hào),與服務(wù)器建立連接;其次將傳感器采集的心率、溫度等數(shù)據(jù)每2 s 向服務(wù)器發(fā)送一次,圖5為GPRS 模塊用網(wǎng)絡(luò)服務(wù)相關(guān)AT 指令實(shí)現(xiàn)傳輸數(shù)據(jù)的主要代碼。
圖5 GPRS 模塊發(fā)送數(shù)據(jù)的主要代碼
心率傳感器是一款用于脈搏心率測(cè)量的光電反射式模擬傳感器。其基本原理是利用人體組織在血管搏動(dòng)時(shí)造成透光率不同來(lái)進(jìn)行脈搏測(cè)量的,主要由光源和光電變換器兩部分組成。光源一般采用對(duì)動(dòng)脈血中氧和血紅蛋白有選擇性的一定波長(zhǎng)(500~700nm)的二極管。當(dāng)光束透過(guò)人體外周血管,由于動(dòng)脈搏動(dòng)充血容積變化導(dǎo)致這束光的透光率發(fā)生變化,此時(shí)由光電變換器接收人體組織反射的光線,轉(zhuǎn)化成電信號(hào)并將其放大和輸出[7]。硬件上心率傳感器的數(shù)據(jù)輸出引腳必須與STM32 微處理器的ADC 通道連接。傳感器將采集的模擬信號(hào)傳輸給STM32 微處理器,微處理器內(nèi)部的ADC再轉(zhuǎn)換成數(shù)字信號(hào),最后通過(guò)簡(jiǎn)單計(jì)算可得到心率值。
GPS 模塊采用的ATGM336H-5X-3X, 該型號(hào)跟蹤靈敏度為-162 dBm,定位精度為2.5 m,首次定位時(shí)間為32 s,且功耗低。硬件上GRS模塊的U_TXD 和U_RXD 發(fā)送接收引腳需與STM32 微處理器連接,圖6為GPS 模塊原理圖。GPS 模塊可獲取到孕婦所在位置的經(jīng)度值和緯度值,將該數(shù)值發(fā)送到服務(wù)器端,服務(wù)器通過(guò)調(diào)用地圖提供的API 可精準(zhǔn)定位出孕婦所在位置。
圖6 GPS 模塊原理圖
碰撞傳感器采用的是碰撞開關(guān)又稱限位開關(guān)、行程開關(guān),屬于接觸式機(jī)械開關(guān)。當(dāng)發(fā)送碰撞時(shí),開關(guān)的連桿驅(qū)動(dòng)開關(guān)的接點(diǎn)引起閉合的接點(diǎn)分?jǐn)嗷蛘邤嚅_的接點(diǎn)閉合,由開關(guān)接點(diǎn)開、合狀態(tài)的改變?nèi)タ刂齐娐泛碗姍C(jī)。本文通過(guò)接收碰撞傳感器的高低電平判定孕婦是否發(fā)生碰撞。
服務(wù)器端的運(yùn)行基于阿里云服務(wù)器的環(huán)境,即在阿里云服務(wù)器上搭建Tomcat 服務(wù)器,這樣便于服務(wù)器管理員隨時(shí)隨處登錄后臺(tái)查詢管理數(shù)據(jù)。本文Web 服務(wù)器的實(shí)現(xiàn)采用SSM 框架 (即Spring +Spring MVC + MyBatis),這個(gè)是繼SSH 之后,目前比較主流的Java EE 企業(yè)級(jí)框架[5]。
Web 服務(wù)器端主要包括用戶管理、 數(shù)據(jù)查看與管理、 用戶信息反饋等功能。圖7界面展示了Web 服務(wù)端的所有功能列表及終端數(shù)據(jù)的查看。Web 服務(wù)器數(shù)據(jù)采用MySQL 數(shù)據(jù)庫(kù)管理, 表項(xiàng)包含了數(shù)據(jù)表、設(shè)備表、用戶表、用戶反饋表等。服務(wù)端另外一個(gè)重要功能就是孕婦設(shè)備終端數(shù)據(jù)異常時(shí),向客戶發(fā)送危險(xiǎn)通告。服務(wù)端收到的終端數(shù)據(jù)超過(guò)設(shè)定閾值時(shí)判定當(dāng)前孕婦遇到危險(xiǎn)情況,會(huì)向綁定了該孕婦設(shè)備的所有客戶以短信的形式發(fā)送危險(xiǎn)通告, 該功能的實(shí)現(xiàn)需要通過(guò)云服務(wù)器控制臺(tái)設(shè)置短信服務(wù)。
圖7 Web 服務(wù)器端數(shù)據(jù)查看界面
Android 客戶端的開發(fā)采用HBuilder 集成開發(fā)環(huán)境,HBuilder 是DCloud(數(shù)字天堂)推出的一款支持HTML5 的Web 開發(fā)IDE。本文Android 客戶端與服務(wù)器端的數(shù)據(jù)交互主要采用AJAX 技術(shù)[8],即客戶端向服務(wù)器發(fā)送AJAX 請(qǐng)求并解析服務(wù)器響應(yīng)的數(shù)據(jù)??蛻舳艘援惒椒绞綇姆?wù)器端獲取數(shù)據(jù)。圖8為Android 客戶端以POST 方式向服務(wù)器請(qǐng)求心率數(shù)據(jù)的核心代碼。
圖8 Android 客戶端AJAX 請(qǐng)求核心代碼
Android 客戶端主要實(shí)現(xiàn)了用戶數(shù)據(jù)查詢、設(shè)備綁定、安全通告等功能。用戶注冊(cè)并登錄成功之后,通過(guò)掃碼綁定相關(guān)設(shè)備,可實(shí)時(shí)查看當(dāng)前孕婦身處環(huán)境溫度值,觀察孕婦心率,實(shí)時(shí)定位孕婦所處位置,也可查看某一項(xiàng)數(shù)據(jù)一段時(shí)間內(nèi)的變化情況。圖9為客戶端各項(xiàng)數(shù)據(jù)的實(shí)時(shí)顯示,圖10 以折線圖的形式顯示心率數(shù)據(jù)的變化。
圖9 客戶端實(shí)時(shí)數(shù)據(jù)圖
圖10 心率數(shù)據(jù)折線圖
本文開發(fā)的孕婦監(jiān)護(hù)設(shè)備是一款便攜的隨身設(shè)備, 同時(shí)配套了對(duì)應(yīng)的Web 服務(wù)器管理系統(tǒng)及Android 客戶端應(yīng)用App。孕婦可隨身攜帶該設(shè)備, 孕婦自己及家人通過(guò)Android 端App 邦定設(shè)備后,可實(shí)時(shí)監(jiān)測(cè)孕婦所處的環(huán)境及孕婦身體特征,若遇到環(huán)境不宜、身體特征異?;蚺鲎驳任kU(xiǎn)情況,會(huì)即時(shí)發(fā)送通告,家人通過(guò)App 定位到孕婦所在位置便可采取施救措施,這就為孕婦提供了非常好的安全保障。隨著孕婦群體的激增,用戶對(duì)該類產(chǎn)品的需求越來(lái)越大,因此開發(fā)該款設(shè)備具有重大的應(yīng)用價(jià)值和市場(chǎng)前景。本設(shè)備作為可穿戴式設(shè)備在硬件功耗方面還存在不足,下一步的研究目標(biāo)是低功耗的窄帶物聯(lián)網(wǎng)NB-IoT 通訊技術(shù)。