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