成都理工大學 代銀華 李宏穆 趙維毅東華理工大學 何劍鋒
基于嵌入式Linux的遠程家庭醫(yī)療監(jiān)護系統(tǒng)設計與實現(xiàn)
成都理工大學 代銀華 李宏穆 趙維毅東華理工大學 何劍鋒
伴隨著我國邁入老齡化社會的現(xiàn)實,發(fā)展遠程醫(yī)療并構(gòu)建一個高效實時的遠程家庭醫(yī)療監(jiān)護系統(tǒng)顯得尤為必要。該系統(tǒng)以ARM9-S3C2440A和嵌入式Linux2.6操作系統(tǒng)為核心,搭建支持Web Server的開發(fā)平臺,實現(xiàn)Boa嵌入式Web服務器的移植和配置,采用CGI程序設計,并結(jié)合生理特征信號檢測儀,Zigbee網(wǎng)絡和Internet網(wǎng)絡,提出了一套完整的遠程家庭醫(yī)療監(jiān)護系統(tǒng)解決方案。利用這個系統(tǒng),監(jiān)護中心的人在遠端PC機上的瀏覽器里即可看到被監(jiān)護人的生理特征信息,從而實現(xiàn)遠程家庭監(jiān)護與診斷。
遠程醫(yī)療;嵌入式Linux;web;Boa服務器;CGI
我們熟知的傳統(tǒng)醫(yī)療監(jiān)護往往需要病人長期住在醫(yī)院病房里或者經(jīng)常往返于家庭與醫(yī)院之間,這樣給處于康復期的病人或者需要監(jiān)護的中老年人的生活帶來很多不便,同時住院監(jiān)護不僅給病人家庭帶來更多經(jīng)濟負擔,也可能引起住院部床位緊張等問題。
為了改變這種現(xiàn)狀,研究一種遠程家庭醫(yī)療監(jiān)護系統(tǒng)是未來醫(yī)療監(jiān)護的必然趨勢。通過Zigbee網(wǎng)絡把生理體征信號檢測儀(如OEM病人監(jiān)護儀)與Web server相連,再把Web服務器接入以太網(wǎng),設計出一套基于嵌入式Linux的Web遠程家庭醫(yī)療監(jiān)護系統(tǒng)。此系統(tǒng)能使經(jīng)常需要測量生理指標的人(如慢性病患者/中老年人)在家中或者小區(qū)里,只要有Zigbee網(wǎng)絡覆蓋的地方就能夠自由地測量某些常規(guī)指標(如呼吸體溫、脈率、心電ECG等醫(yī)學信號),大大地增加了被監(jiān)護人的自由活動空間,并能提高了被監(jiān)護人的生活舒適度。通過這個監(jiān)護系統(tǒng),監(jiān)護中心的人就可以實時準確地了解到被監(jiān)護人的身體狀況,并進行最及時有效的遠程診斷。

在設計嵌入式遠程家庭監(jiān)護系統(tǒng)時,考慮到開發(fā)工作量和運行維護成本等方面的問題,該系統(tǒng)最終選擇B/S模式,將這種模式嵌入到網(wǎng)絡設計中,改變了以前需要同時開發(fā)上位機和下位機軟硬件的做法,而今只需要在下位機(服務器端)的嵌入式設備中集成一個小型服務器,并且利用HTML設計網(wǎng)頁模塊,就能在瀏覽器端使用360安全瀏覽器等瀏覽器接受和查看服務器嵌入的網(wǎng)頁內(nèi)容。系統(tǒng)由四部分構(gòu)成:用戶終端PC,嵌入式Web服務器,Zigbee生理特征信號檢測儀終端,被監(jiān)護人。
由ARM9處理器組成的嵌入式Web服務器是整個系統(tǒng)的核心,是連接ZigBee網(wǎng)絡和Internet網(wǎng)絡的網(wǎng)關,并使兩網(wǎng)能暢通傳輸,監(jiān)護中心在任何時間,只需通過聯(lián)網(wǎng)PC打開瀏覽器登錄服務器,即可了解到被監(jiān)護人的生理指標檢測情況,監(jiān)護系統(tǒng)框圖見圖1。
以三星公司S3C2440A處理器配合Linux 2.6內(nèi)核作為家庭監(jiān)護系統(tǒng)網(wǎng)關的平臺,本系統(tǒng)硬件框圖見圖2。
圖2所示,由S3C2440A組成的嵌入式Web服務器是整個系統(tǒng)的核心,S3C2440A芯片屬于SoC,它集成了處理器、內(nèi)存管理單元(MMU),并具有8路10位CMOS A/D轉(zhuǎn)換器,其參考電壓3.3v;外圍存儲電路包括64M NAND Flash以及2片64M SDRAM;外圍接口電路包括2個USB、3個串口以及網(wǎng)口等,串口2連接CC2430芯片。
Zigbee是一種近距離、低復雜度、低功耗、安全可靠、時延短、低成本的雙向無線通信技術(shù),它的傳輸距離在10-75m的范圍內(nèi),但還可以繼續(xù)增加。Zigbee無線收發(fā)模塊選用TI公司生產(chǎn)的CC2430芯片,該芯片是一款低功耗無線收發(fā)芯片,內(nèi)部有一個高性能DSSS和一顆工業(yè)級8051控制器,工作在2.4GHz的免費ISM頻段,射頻收發(fā)符合IEEE802.15.4/Zigbee標準,能滿足本系統(tǒng)射頻通信的要求。Zigbee無線網(wǎng)絡分為協(xié)調(diào)器和終端節(jié)點,其中帶有各種傳感器的生理特征信號檢測儀Zigbee終端節(jié)點,與嵌入式Web服務器連接的Zigbee協(xié)調(diào)器構(gòu)成傳感網(wǎng)絡,生理特征信號檢測儀把各項檢測結(jié)果通過無線發(fā)送到Zigbee協(xié)調(diào)器,Zigbee協(xié)調(diào)器通過串口把數(shù)據(jù)傳給嵌入式Web服務器,將收到的信息存儲于片外Flash ROM中,并在網(wǎng)頁上實時顯示,實現(xiàn)與監(jiān)護中心的動態(tài)交互。
本系統(tǒng)的軟件設計框圖如圖3所示,系統(tǒng)軟件設計主要包括Linux的移植,嵌入式Web服務器Boa的移植,CGI程序的設計,外部功能程序的設計。
在操作系統(tǒng)內(nèi)核和用戶應用程序運行之前,首先運行一段程序是Bootloader,程序主要完成硬件設備被初始化為系統(tǒng)的軟硬件環(huán)境配置一個合適的環(huán)境,也為最終操作系統(tǒng)內(nèi)核和用戶應用程序的調(diào)用建立一個好的環(huán)境,本人機界面系統(tǒng)采用vivi作為引導加載程序,文件系統(tǒng)用cramfs.
(1)本系統(tǒng)采用Linux-2.6.38內(nèi)核,Linux內(nèi)核的目錄arch中Makefile,Makefile是用來指定編譯規(guī)則的,目標板是ARM平臺,需要修改ARCH和CROSSCOMPILE,修改為ARCH=arm;CROSSCOMPILE=arm-linux-;
(2)修改arch/arm目錄下的config.in文件,配置S3C2440A的相關信息;
(3)修改平臺的輸入時鐘,在arch/arm/mach-s3c2440/mach-smdk2440.c中,將1 6 3行的s 3 c 2 4 x x_i n i t_clocks(16934400)改為s3c24xx_init_clocks(12000000);
(4)需要修改arch/arm/boot/中的Makefile文件,在58行添加@cp-farch/arm/boot/zImage zImage.bin,實現(xiàn)把生成的zImage文件復制到內(nèi)核源碼根目錄下;
(5)在內(nèi)核修改完成后,用命令make menuconfig配置Linux,再用make zImage命令編譯內(nèi)核,這種方式,編譯好的內(nèi)核映象文件先被燒寫到Flash內(nèi),啟動時由引導程序?qū)?nèi)核從Flash加載到系統(tǒng)RAM中解壓,然后運行。
典型的Web服務器有Boa和thttpd等,它們和Apache等高性能的嵌入式Web服務器主要區(qū)別是它們一般是單進程服務器,只有在完成一個用戶請求后才能響應另一個用戶的請求,而無法并發(fā)響應,這在嵌入式設備的應用場合里已經(jīng)足夠了。
Boa是單任務Web server,源代碼開放,性能高,支持CGI,能為CGI程序fork出一個進程來執(zhí)行,所以選擇Boa.
移植Boa程序:
(1)從www.boa,org下載Boa-0.94.13,將其解壓并進入源碼目錄的src子目錄




最后將生成的可執(zhí)行程序boa掛在到目標系統(tǒng),若能成功地訪問靜態(tài)HTML網(wǎng)頁和運行測試用的CGI程序,則表明配置成功。
CGI(common Gateway Interface)是外部擴展應用程序與Web服務器交互的一個標準接口,遵循CGI標準的外部擴展應
用程序能處理Web客戶端與Web服務器的動態(tài)交互,通過CGI讀取客戶端需要的動態(tài)信息,這樣不僅擴展了Web服務器的功能,也豐富了對網(wǎng)絡的使用,其原理如圖4所示。
瀏覽器將表單數(shù)據(jù)以post方法/Get方法提交給Web服務器,服務器守護進程接收到該請求后,就創(chuàng)建一個子進程(稱CGI進程),該CGI子進程將CGI請求的有關數(shù)據(jù)設置成環(huán)境變量,在外部CGI程序與服務器間建立兩條數(shù)據(jù)通道(標準I/O),然后啟動URL所指定的CGI程序,并與該子進程保持同步,以檢測CGI程序的執(zhí)行狀態(tài)。CGI進程通過入STDIN接受瀏覽器用戶的請求內(nèi)容和若干系統(tǒng)參數(shù),通過調(diào)用用戶自定義的外部功能程序來完成數(shù)據(jù)處理,并將結(jié)果通過STDOUT以HTML或Web服務器可識別的其他格式輸出。Web服務器對輸出內(nèi)容進行語法分析后將其轉(zhuǎn)送回Web瀏覽器,完成一次與用戶的交互。
在設計時,安裝移植CGIC庫,CGIC庫是一個強大的支持CGI開發(fā)的開放源碼的標準C庫,再安裝GD(Graphic Device)庫,GD庫是標準的C語言庫,使用GD庫可以處理圖片或生成圖片。為了能使在網(wǎng)頁上看到動態(tài)的心電圖或腦電圖等,將每次采集到的數(shù)據(jù)經(jīng)過外部功能程序處理后存儲的同時送給CGI程序,并且利用gd庫提供的函數(shù)來創(chuàng)建圖像。
為了滿足系統(tǒng)軟件實現(xiàn)需要,主程序首先應該完成對系統(tǒng)的初始化,然后監(jiān)聽以太網(wǎng)接口是否有連接請求,如果有連接請求,就在服務器端產(chǎn)生中斷;讀取網(wǎng)絡數(shù)據(jù)并進行解析,解析HTTP協(xié)議,需要判斷連接請求是否滿足服務器要求的請求格式,判斷請求輸入是何種方式,判斷驗證信息是不是正確的,判斷所請求的文件是否在服務器上等等;在處理A/D采集到的數(shù)據(jù)過程中,第一步要對采集的信號進行濾波處理,完成濾波后,就把數(shù)據(jù)送到本地的LCD顯示,同時也將當前數(shù)據(jù)以網(wǎng)頁格式傳輸?shù)紹OA服務器上。
監(jiān)護者在客戶端瀏覽器里輸入服務器的IP(http://192.168.2.230),進入登陸頁面,登陸以后,可以實時看到被監(jiān)護人的生理特征信號,實驗演示如圖5,圖6所示。
本文介紹了一套基于嵌入式Linux的Web遠程家庭醫(yī)療監(jiān)護系統(tǒng)的體系結(jié)構(gòu),詳細闡述了Boa嵌入式Web服務器的移植和配置方法以及CGI程序的工作原理。本系統(tǒng)通過Zigbee網(wǎng)絡把生理特征信號檢測儀與Web服務器相連,再把Web服務器與Internet相連,監(jiān)護中心只需在遠端PC機上的瀏覽器里輸入Web服務器設置的IP地址,就能看到被監(jiān)護人的生理特征信息。本系統(tǒng)設計在未來醫(yī)療領域中應用還是比較適合的,由于受到成本及其他條件限制不能進行硬件演示,從而只能對軟件和硬件設計方案及構(gòu)思進行探討。醫(yī)療監(jiān)護在患者自己熟悉的環(huán)境中進行,減少了心理壓力,有利于提高診斷的準確性。這種遠程家庭醫(yī)療系統(tǒng)結(jié)構(gòu)的推廣有利于改善目前我國遠程家庭醫(yī)療監(jiān)護的落后局面,同時也能減輕被監(jiān)護人家人的經(jīng)濟負擔。
[1]顧春華,張雪芹.付歌.Web程序設計[M].華東理工大學出版社,2006.
[2]韋東山.嵌入式Linux應用開發(fā)完全手冊[M].人民郵電出版社,2008.
[3]張玉杰,馬立云.基于嵌入式的遠程醫(yī)療監(jiān)測系統(tǒng)研究[M].自動化技術(shù)與應用,2009,2(9):57-59.
[4]HILL J,HORTON M,KLING R,etal.The platforms enabling wireless sensor networks[J].Communications of the ACM,2004,47(6):41-46.
For China had entered an aging society,it is necessary for us to establish telemedicine system and construct a high eff i ciency and real time Home Tele-medicine Monitoring system.ARM9-S3C2440A and Embedded Linux as its center,which sustain to set up Web server development platform,the system realizes the transplantation and conf i guration of Embedded Web server---Boa,and uses CGI programming techniques,and Combines Physiological signal detector,Zigbee network and Internet network,and a complete Home telemedicine Monitoring system scheme is given.With the help of this system,monitoring center personnel can view the physiological characteristics information of the person being guarded through a browser on the remote PC,as a result,patients can be monitored and diagnosed remotely.
Telemedicine;Embeded Linux;Web;Boa Server;CGI(common Gateway Interface)
代銀華(1986—),女,四川德陽人,成都理工大學核技術(shù)與自動化工程學院碩士研究生,主要研究方向:數(shù)據(jù)采集與信號處理、嵌入式系統(tǒng)應用開發(fā)。