王中生,楊 森,陳國(guó)紹,黃動(dòng)力
(西安工業(yè)大學(xué) 陜西 西安 710032)
鑒于目前我國(guó)養(yǎng)老資源匱乏的現(xiàn)狀,我們提出了一個(gè)全新的、符合我國(guó)國(guó)情的、以社區(qū)居家養(yǎng)老為主體、最大限度節(jié)省社會(huì)資源為主導(dǎo)的社區(qū)居家養(yǎng)老體系。隨著傳感器技術(shù)的發(fā)展與成熟,傳感器網(wǎng)絡(luò)的應(yīng)用領(lǐng)域越來(lái)越廣,遍及智能交通、環(huán)境保護(hù)、公共安全、平安家居、智能消防、工業(yè)監(jiān)測(cè)、環(huán)境監(jiān)測(cè)、老人護(hù)理、食品溯源、情報(bào)搜集等多個(gè)領(lǐng)域[1]。
文中基于傳感網(wǎng)絡(luò),構(gòu)建出以社區(qū)居家養(yǎng)老為主體的新型養(yǎng)老監(jiān)護(hù)系統(tǒng)。該系統(tǒng)以監(jiān)護(hù)對(duì)象家庭終端為最初節(jié)點(diǎn),以社區(qū)監(jiān)護(hù)中心為二級(jí)節(jié)點(diǎn),以區(qū)(縣)或市級(jí)醫(yī)療機(jī)構(gòu)為三級(jí)或四級(jí)節(jié)點(diǎn),最上層為服務(wù)器控制中心。家庭節(jié)點(diǎn)以ZigBee平臺(tái)為基礎(chǔ),通過(guò)傳感器節(jié)點(diǎn)對(duì)監(jiān)護(hù)對(duì)象生命體征數(shù)據(jù)的采集,以STC89C52為控制器,以CC1101和CC2530為數(shù)據(jù)收發(fā)模塊。該系統(tǒng)中,可根據(jù)不同的需求增加不同的傳感器,完成監(jiān)護(hù)對(duì)象溫度、血壓、脈搏、血流量等數(shù)據(jù)的采集與傳送;實(shí)現(xiàn)對(duì)監(jiān)護(hù)對(duì)象的遠(yuǎn)程監(jiān)視。
家庭節(jié)點(diǎn)包括用戶節(jié)點(diǎn)、數(shù)據(jù)采集路由、社區(qū)路由等模塊。使用STC89C52為核心控制器,射頻芯片CC1101與CC2530作為數(shù)據(jù)收發(fā)器,采用ZigBee技術(shù)完成數(shù)據(jù)傳輸。ZigBee具有低功耗、低成本、低速率、網(wǎng)絡(luò)容量大等特點(diǎn),將ZigBee技術(shù)與傳感器相結(jié)合[2],可以滿足系統(tǒng)的需求。
1)硬件設(shè)計(jì)分析
根據(jù)前期分析,硬件部分主要有以下模塊組成:用戶節(jié)點(diǎn)、數(shù)據(jù)采集路由、社區(qū)路由、協(xié)調(diào)器,各模塊功能如下。
用戶節(jié)點(diǎn)負(fù)責(zé)監(jiān)護(hù)對(duì)象生命體征信息及求助信息的采集,并通過(guò)CC1101(433MHz)發(fā)送至社區(qū)路由器。
數(shù)據(jù)采集路由負(fù)責(zé)環(huán)境信息的采集,采集的信息由ZigBee(2.4GHz)發(fā)送;ZigBee具有中繼的功能,可以完成信息的遠(yuǎn)距離傳輸。本文僅以溫濕度傳感器AM2311作為測(cè)試示例。
社區(qū)路由負(fù)責(zé)數(shù)據(jù)的中繼,對(duì)接收的信息進(jìn)行分類處理,然后按照協(xié)議發(fā)送至PC協(xié)調(diào)器。
協(xié)調(diào)器為內(nèi)信息接收終端,核心為ZigBee,通過(guò)底板與PC串口通信,將收到的信息傳至PC,由PC進(jìn)行處理。
2)通信協(xié)議設(shè)計(jì)分析
傳感器網(wǎng)絡(luò)是任務(wù)型的網(wǎng)絡(luò),脫離傳感器網(wǎng)絡(luò)談?wù)搨鞲衅鞴?jié)點(diǎn)沒(méi)有任何意義。傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)采用節(jié)點(diǎn)編號(hào)標(biāo)識(shí),節(jié)點(diǎn)編號(hào)是否需要全網(wǎng)唯一取決于網(wǎng)絡(luò)通信協(xié)議的設(shè)計(jì)[3]。居家養(yǎng)老系統(tǒng)節(jié)點(diǎn)眾多,每個(gè)節(jié)點(diǎn)具有唯一地址,實(shí)現(xiàn)區(qū)分。用戶節(jié)點(diǎn)是移動(dòng)的,要對(duì)其進(jìn)行定位,故信息之中需要包含定位所需要的RSSI值。系統(tǒng)傳輸?shù)男畔⒎N類多,要對(duì)信息進(jìn)行分類標(biāo)識(shí)??紤]信息傳輸過(guò)程中可能出現(xiàn)錯(cuò)誤,需要添加引導(dǎo)碼及校驗(yàn)和。綜合考慮,確定通信協(xié)議的基本格式為:
引導(dǎo)碼+信息分類碼+用戶節(jié)點(diǎn)地址+路由地址+信號(hào)強(qiáng)度+求救+數(shù)據(jù)信息+校驗(yàn)和
1)通信協(xié)議設(shè)計(jì)實(shí)現(xiàn)
系統(tǒng)傳輸?shù)男畔⒅饕幸韵聨最悾汗?jié)點(diǎn)環(huán)境信息、用戶健康信息、緊急求助信息,據(jù)此,規(guī)范化的數(shù)據(jù)傳輸格式如表1所示。
下面就通信協(xié)議進(jìn)行說(shuō)明:
前導(dǎo)碼為FF,恒定不變;分類碼根據(jù)所發(fā)送信息種類不同,分為3類:FE(節(jié)點(diǎn)環(huán)境信息)、FD(用戶健康信息)、FB(緊急求助信息) ;人員地址用于區(qū)分系統(tǒng)之中的每一個(gè)用戶,具有唯一性;路由分為數(shù)據(jù)采集路由、社區(qū)路由兩類,也具有唯一性;信號(hào)強(qiáng)度用于協(xié)助定位,由第一個(gè)接收到求助信息的社區(qū)路由給出;求救位即緊急求助標(biāo)志位,有求助為11,無(wú)求助為00;校驗(yàn)和用來(lái)檢測(cè)數(shù)據(jù)在傳輸過(guò)程中是否出現(xiàn)錯(cuò)誤。
注意:
所有數(shù)據(jù)均以16進(jìn)制形式發(fā)送,表中凡是為“**”代表需要添加的數(shù)據(jù)。
數(shù)據(jù)位實(shí)際為32字節(jié),但是在設(shè)計(jì)時(shí)候僅用其18位,剩余以00補(bǔ)充,預(yù)留給以后增加的其他類型的傳感器。
2)硬件部分設(shè)計(jì)實(shí)現(xiàn)
表1 通信協(xié)議規(guī)范Tab.1 Communication protocol
硬件部分主要用到兩種模塊:威步科技的JASK51-1101、鼎泰克電子的DRF1605 。
JASK51-1101無(wú)線模塊提供源程序,任何應(yīng)用只需在源程序上進(jìn)行二次開(kāi)發(fā);DRF1605為2.4 GHz的ZigBee透明傳輸模塊,DRF1605 可連接至RS232底板,用戶無(wú)需任何更改。
①用戶節(jié)點(diǎn)
用戶節(jié)點(diǎn)由JASK51-1101、血壓傳感器、兩個(gè)按鍵組成。血壓傳感器自帶電源,通過(guò)串口與JASK-1101模塊相連;JASK-1101模塊供5 V電源,在P2.0與GND、P3.7與GND之間分別有一個(gè)按鍵。血壓傳感器采集到數(shù)據(jù)后會(huì)自動(dòng)通過(guò)串口發(fā)至JASK-1101,按鍵按下后JASK-1101會(huì)發(fā)送求助信息。
②協(xié)調(diào)器
協(xié)調(diào)器由ZigBee模塊以及其配用的底板組成,通過(guò)串口與PC機(jī)相連。底板由廠商提供。注意該部分的ZigBee模塊要設(shè)置為Coordinator。
③數(shù)據(jù)采集路由
數(shù)據(jù)采集路由JASK-1101、DRF1605、AM2311組成。
JASK-1101與ZigBee通過(guò)串口連接,AM2311與P1^6和P1^7連接,用普通I/O口模擬I2C總線。注意AM2311的SCL與SDA需要接5K的上拉電阻,DRF1605供3.3 V電。I2C總線的通信線路簡(jiǎn)單,程序編寫(xiě)方便,易于實(shí)現(xiàn)系統(tǒng)軟硬件模塊的標(biāo)準(zhǔn)化與通用化,便于系統(tǒng)升級(jí)擴(kuò)展[4]。
④社區(qū)路由
社區(qū)路由由JASK-1101與DRF1605組成,通過(guò)串口相連接。JASK-1101中的的單片機(jī)負(fù)責(zé)信息的處理,CC1101負(fù)責(zé)接收由用戶節(jié)點(diǎn)發(fā)送來(lái)的信息,DRF1605(CC2530)負(fù)責(zé)信息的中繼傳輸。
3)各模塊編程流程圖
用戶節(jié)點(diǎn)編程流程如圖1所示。用戶節(jié)點(diǎn)的主要任務(wù)有兩個(gè):發(fā)送緊急求助信息、接收處理并且轉(zhuǎn)發(fā)用戶健康數(shù)據(jù)。JASK-1101的數(shù)據(jù)發(fā)送、接收方式由軟件制造商提供,只需要編寫(xiě)程序,不斷掃描按鍵與串口,當(dāng)符合發(fā)送條件時(shí)候,將數(shù)據(jù)發(fā)送出去即可。
圖1 用戶端編程流程圖Fig. 1 End user programming flow chart
圖2 傳感器路由編程流程圖Fig. 2 Sensor routing programming flow chart
傳感器路由編程流程如圖2所示。傳感器路由的數(shù)據(jù)通過(guò)串口傳輸給DRF1605模塊進(jìn)行發(fā)送。由于AM2311數(shù)據(jù)傳輸I2C總線,需要用普通I/O口模擬I2C總線,占用空間多,導(dǎo)致CC1101無(wú)法編程使用,因此該模塊只數(shù)據(jù)采集與串口發(fā)送的功能。
圖3 社區(qū)路由編程流程圖Fig. 3 Community route programming flow chart
社區(qū)路由編程流程如圖3所示。社區(qū)路由程序運(yùn)行后,單片機(jī)不斷檢測(cè)是否有信息接收到。如果沒(méi)有,繼續(xù)檢測(cè);如果有,識(shí)別分類碼。讀取分類碼,如果不是求助類信息,直接由DRF1605發(fā)送;如果是求助類信息則加上本機(jī)地址與信號(hào)強(qiáng)度,再由DRF1605發(fā)送。
系統(tǒng)各部分電路完成后,燒寫(xiě)相對(duì)應(yīng)的代碼。給各個(gè)模塊上電,依次測(cè)試各部分功能,打開(kāi)PC機(jī)的串口助手,進(jìn)行信息的接收,結(jié)果如圖4所示。
測(cè)試結(jié)果如圖4所示。第一部分為前導(dǎo)碼,為FF;第二部分為信息分類碼,第一條信息為緊急求助信息,第二條為人員健康信息,第三條為環(huán)境信息;第三部分為用戶地址,求救信息與健康信息來(lái)自用戶節(jié)點(diǎn),故為用戶地址,健康信息來(lái)自環(huán)境監(jiān)測(cè)路由,故該部分為空;第四部分為路由地址,前兩條信息發(fā)出后由地址為ED B1的路由接收到后中繼傳輸,第三條環(huán)境信息直接由地址為EE A0的路由發(fā)送;第五部分為信號(hào)強(qiáng)度,用于用戶節(jié)點(diǎn)定位;第六部分表示是否為緊急求助信息;第六部分為人員健康信息,依次為血壓高、血壓低、心率;第七部分為環(huán)境信息,一次為溫度高、溫度低、濕度高、濕度低;其余為空閑數(shù)據(jù)位,留作用戶使用分配。
圖4 測(cè)試結(jié)果Fig. 4 Test result
文中就居家養(yǎng)老系統(tǒng)的軟硬件結(jié)構(gòu)進(jìn)行了設(shè)計(jì),經(jīng)實(shí)驗(yàn)測(cè)試,系統(tǒng)可較好的完成數(shù)據(jù)的采集與傳輸。系統(tǒng)使用單片機(jī)作為控制器,具有低功耗、小體積、高智能、價(jià)格低的特點(diǎn)[5],使系統(tǒng)的使用成本降低。根據(jù)實(shí)驗(yàn)測(cè)試,系統(tǒng)在STC89C52編程空間足夠的情況下,可以添加不同種類的傳感器完成不同的系統(tǒng)要求;系統(tǒng)提供RSSI值,利用RSSI值可以完成監(jiān)護(hù)對(duì)象節(jié)點(diǎn)定位[6]。該系統(tǒng)不僅可以用于居家養(yǎng)老系統(tǒng),而且可以對(duì)其進(jìn)行改造,用于智能交通、環(huán)境監(jiān)測(cè)、危險(xiǎn)爆炸物監(jiān)測(cè)等領(lǐng)域,具有較強(qiáng)的通用性。在理論上,系統(tǒng)可換用先進(jìn)的微處理器,完成其他更加復(fù)雜的任務(wù),具有較強(qiáng)的升級(jí)空間。
[1]王中生,曹琦. 基于ZigBee的社區(qū)居家養(yǎng)老系統(tǒng)的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展, 2010(12): 189-190.
WANG Zhong-Sheng, CAO Qi.The Research Home Care System of Community Based on ZigBee[J]. Computer Technology and Development, 2010(12):189-190.
[2]王妍,沈國(guó)華. ZigBee無(wú)線傳感器組網(wǎng)技術(shù)及其應(yīng)用[J].艦船電子工程, 2008(10):32-33.
WANG Yan,SHEN Guo-Hua. Zigbee Wireless Sensor Network Technology and Application[J].Ship Electronic Engineering,2008(10): 32-33.
[3]王婭.無(wú)線傳感器網(wǎng)絡(luò)路由協(xié)議設(shè)計(jì)原則[J].湖北第二師范學(xué)院學(xué)報(bào), 2009(2): 90-92.
WANG Ya. The design principles of routing for wireless sensor networks[J].Journal of Hubei University Of Education, 2009(2):90-92.
[4]唐紅文,陳少平. I2C總線在多機(jī)通信中的應(yīng)用[J].電子技術(shù)應(yīng)用, 2005(5): 51-52.
TANG Hong-Wen,CHEN Shao-Ping.Application of I2C bus in a multiple machine communication[J].Application of Electronic Technique, 2005(5): 51-52.
[5]劉杰.論單片機(jī)程序設(shè)計(jì)[J].現(xiàn)代商貿(mào)工業(yè), 2011(14): 230-231.
LIU Jie. The micro controller programming[J].Modern Business Trade Industry, 2011(14): 230-231.
[6]周艷.基于RSSI測(cè)距的傳感器網(wǎng)絡(luò)定位算法研究[J].計(jì)算機(jī)科學(xué),2009(4): 119-120.
ZHOU Yan. Study of wireless sensors network algorithm location based on RSSI[J]. Computer Science, 2009(4): 119-120.