柏雪峰,楊斌,劉博
(西南交通大學 信息科學與技術學院,成都610031)
?
柏雪峰,楊斌,劉博
(西南交通大學 信息科學與技術學院,成都610031)
隨著IT技術的不斷發(fā)展,智能硬件概念被提出,硬件的智能化程度逐漸成為衡量一個國家IT技術水平的標準之一。醫(yī)療設備作為人們最關注的領域之一,其智能化直接影響人們的生活質量。本文以BB-Black為核心,掛接ZigBee無線傳感節(jié)點和GSM/GPRS模塊,建立web服務器和SQLite數(shù)據(jù)庫,接收、解析和存儲ZigBee節(jié)點采集的生理數(shù)據(jù),控制GSM/GPRS進行緊急呼救和發(fā)短信,提供自動生理監(jiān)測功能,為人們的生活提供便利。
智能硬件;BB-Black;Web服務器;SQLite數(shù)據(jù)庫;GSM/GPRS;生理監(jiān)測
隨著技術的發(fā)展,近年來涌現(xiàn)了不少優(yōu)化的智能醫(yī)療設備,給人們的生活帶來了極大便利,但仍存在功能單一、不可遠程訪問等缺陷。BB-Black開發(fā)板以其價格便宜、功能強大等優(yōu)點廣泛應用于各種場景,利用BB-Black設計一個更智能、功能更齊全的實時遠程醫(yī)療監(jiān)測系統(tǒng),將是一個有意義的研究課題。
1.1 硬件平臺相關介紹
設計共涉及BB-Black、ZigBee和GSM/GPRS三個硬件模塊。其中BB-Black開發(fā)板為核心模塊,是一款基于AM3359處理器的開發(fā)套件,其實物圖如圖1所示。
圖1 BB-Black實物圖
處理器集成了高達1 GHz 的 ARM Cortex-A8 內核,并提供了豐富的外設接口和兩個擴展接口,可擴展LCD、UART、eMMC、ADC、I2C、SPI和PWM等接口。其系統(tǒng)框圖如圖2所示。
圖2 BB-Black系統(tǒng)框圖
AM3359是基于 ARM Cortex-A8 內核的微處理器,在圖像、圖形處理、外設,以及諸如etherCAT 和 PROFIBUS 的工業(yè)接口選項方面進行了增強,并支持 Linux、 WinCE 和Android 等高級操作系統(tǒng)。該處理器包含了多個子系統(tǒng):微處理器單元(MPU)子系統(tǒng)基于 ARM Cortex-A8 微處理器; POWERVR SGX 圖形加速子系統(tǒng)用于3D圖形加速,以支持顯示和游戲效果;可編程實時單元子系統(tǒng)(PRUSS)使用戶可以創(chuàng)建各種超越本地外設的數(shù)字資源。此外,PRUSS 獨立于 ARM 內核,允許設備擁有獨立的操作和時鐘,從而在復雜系統(tǒng)解決方案中有更大的靈活性。
1.2 系統(tǒng)功能模塊及信息處理過程
系統(tǒng)的功能模塊如圖3所示,主要由生理數(shù)據(jù)采集模塊、GSM短信發(fā)送模塊、遠程登錄模塊和BB-Black模塊4部分組成。其中生理數(shù)據(jù)采集模塊采用ZigBee無線傳感節(jié)點實時采集用戶生理數(shù)據(jù);GSM短信發(fā)送模塊采用四頻 GSM/GPRS ,實現(xiàn)緊急報警和定位;遠程登錄模塊是指手機或其他上網(wǎng)設備,供用戶遠程訪問和監(jiān)控;BB-Black模塊是本系統(tǒng)的核心模塊,該模塊又可分為數(shù)據(jù)處理、Boa服務器和SQLite數(shù)據(jù)庫三部分。數(shù)據(jù)處理模塊實現(xiàn)對數(shù)據(jù)的接收、解析、向SQLite數(shù)據(jù)庫插入數(shù)據(jù)和向GSM模塊下達緊急報警命令;SQLite數(shù)據(jù)庫主要用于存儲生理數(shù)據(jù);Boa服務器則實現(xiàn)用戶的遠程訪問,查詢SQLite數(shù)據(jù)中存儲的生理數(shù)據(jù)。
圖3 系統(tǒng)功能模塊框圖
系統(tǒng)的信息處理過程如下:
① 生理數(shù)據(jù)采集模塊實時采集生理數(shù)據(jù)。用戶可根據(jù)需要隨身攜帶相應的生理數(shù)據(jù)檢測模塊(如血壓、血糖、脈搏等檢測模塊),在BB-Black建立的無線傳感網(wǎng)絡覆蓋范圍內移動、實時生理數(shù)據(jù)采集,按IEEE802.15.4的通信標準,通過無線網(wǎng)絡將生理數(shù)據(jù)包傳送出去;在BB-Black開發(fā)板上連接的ZigBee終端節(jié)點將數(shù)據(jù)包接收。
② BB-Black模塊接收、分析和處理生理數(shù)據(jù)。AM3359處理器定時地讀取終端節(jié)點接收的數(shù)據(jù)包,通過解析得到數(shù)據(jù)包中的生理數(shù)據(jù),并存儲到SQLite數(shù)據(jù)庫,同時根據(jù)健康指標對數(shù)據(jù)進行分析,若遇緊急情況,則向GSM/GPRS模塊發(fā)送AT控制命令,進行緊急呼救。
③ 監(jiān)護人或醫(yī)生可隨時隨地訪問服務器查看、管理被監(jiān)護人近期生理數(shù)據(jù)。用戶通過上網(wǎng)設備打開瀏覽器登陸B(tài)oa服務器,提交查詢表單,即可訪問SQLite上存儲的被監(jiān)護人的生理數(shù)據(jù),實現(xiàn)遠程了解被監(jiān)護人近期身體狀況,實現(xiàn)遠程監(jiān)控。
本系統(tǒng)應用場景可如圖4所示。
圖4 系統(tǒng)應用場景圖
系統(tǒng)以BB-Black為平臺,提供用戶遠程登錄訪問嵌入式Web服務器Boa,查看該服務器上的被監(jiān)護人近期生理數(shù)據(jù)功能;為了實現(xiàn)嵌入式設備的數(shù)據(jù)存儲功能,采用開銷小、可移植性強、便于使用且高效的嵌入式SQLite數(shù)據(jù)庫。而CGI(Common Gateway Interface)通用網(wǎng)關接口,則是Web服務器和SQLite數(shù)據(jù)庫之間的橋梁,作為客戶端與Web服務器交互的標準接口,可按照該標準編寫應用程序實現(xiàn)靜態(tài)HTML網(wǎng)頁無法實現(xiàn)的數(shù)據(jù)庫訪問和搜索功能,實現(xiàn)客戶端與服務器的交互操作。其工作原理如圖5所示。
圖5 遠程監(jiān)控模塊軟件構成與工作原理
2.1 嵌入式Web服務器的使用
2.1.1 嵌入式Web服務器Boa
ARM Linux開發(fā)環(huán)境下支持httpd、thttpd和Boa三種嵌入式Web服務器。本文選用的是運行過程中需要較少資源的嵌入式Web服務器Boa。
Boa作為一種單任務的HTTP服務器,通過建立HTTP請求列表來處理多路HTTP連接請求,同時在處理請求過程中只為CGI程序創(chuàng)建新進程,在最大程度上節(jié)省了系統(tǒng)資源,對嵌入式系統(tǒng)來說至關重要。同時,它還具有自動解壓文件、生成目錄等功能。
2.1.2 Boa功能實現(xiàn)
設計中Boa服務器需實現(xiàn)接收客戶端請求、分析請求、響應請求和向客戶端返回請求結果等任務。其工作流程如圖6所示。
圖6 Boa服務器工作流程
Boa服務器初始化工作代碼略——編者注。
Boa在ARM上的移植略——編者注。
2.2 CGI與SQLite數(shù)據(jù)庫移植
BB-Black開發(fā)板在運行CGI和SQLite程序前,需要將相應的庫移植到開發(fā)板。設計通過交叉編譯之后將CGI的libcgic.a和capture拷貝到BB-Black開發(fā)板的/home/www/cgi-bin目錄下,完成移植工作(可通過網(wǎng)頁訪問該目錄,若在網(wǎng)頁上顯示cgic test的字樣,則表明CGI庫移植成功)。
將SQLite的sqlite3和libsqlite3.so.0.8.6分別下載到BB-Black開發(fā)板的/usr/bin和/usr/lib目錄中,并通過ln-s /usr/lib/libsqlite3.so.0.8.6 /usr/lib/libsqlite3.so.0命令建立軟鏈接(因為可執(zhí)行程序sqlite3在運行時搜尋libsqlite3.so.0動態(tài)庫),完成移植工作。
2.3 遠程監(jiān)控功能實現(xiàn)
2.3.1 HTML設計
遠程醫(yī)療監(jiān)控界面主要有監(jiān)護人登錄界面和被監(jiān)護人生理數(shù)據(jù)監(jiān)測界面。其中脈搏和心跳監(jiān)測HTML頁面首行代碼“