柏雪峰,楊斌,劉博
(西南交通大學 信息科學與技術學院,成都610031)
?
柏雪峰,楊斌,劉博
(西南交通大學 信息科學與技術學院,成都610031)
隨著IT技術的不斷發展,智能硬件概念被提出,硬件的智能化程度逐漸成為衡量一個國家IT技術水平的標準之一。醫療設備作為人們最關注的領域之一,其智能化直接影響人們的生活質量。本文以BB-Black為核心,掛接ZigBee無線傳感節點和GSM/GPRS模塊,建立web服務器和SQLite數據庫,接收、解析和存儲ZigBee節點采集的生理數據,控制GSM/GPRS進行緊急呼救和發短信,提供自動生理監測功能,為人們的生活提供便利。
智能硬件;BB-Black;Web服務器;SQLite數據庫;GSM/GPRS;生理監測
隨著技術的發展,近年來涌現了不少優化的智能醫療設備,給人們的生活帶來了極大便利,但仍存在功能單一、不可遠程訪問等缺陷。BB-Black開發板以其價格便宜、功能強大等優點廣泛應用于各種場景,利用BB-Black設計一個更智能、功能更齊全的實時遠程醫療監測系統,將是一個有意義的研究課題。
1.1 硬件平臺相關介紹
設計共涉及BB-Black、ZigBee和GSM/GPRS三個硬件模塊。其中BB-Black開發板為核心模塊,是一款基于AM3359處理器的開發套件,其實物圖如圖1所示。

圖1 BB-Black實物圖
處理器集成了高達1 GHz 的 ARM Cortex-A8 內核,并提供了豐富的外設接口和兩個擴展接口,可擴展LCD、UART、eMMC、ADC、I2C、SPI和PWM等接口。其系統框圖如圖2所示。

圖2 BB-Black系統框圖
AM3359是基于 ARM Cortex-A8 內核的微處理器,在圖像、圖形處理、外設,以及諸如etherCAT 和 PROFIBUS 的工業接口選項方面進行了增強,并支持 Linux、 WinCE 和Android 等高級操作系統。該處理器包含了多個子系統:微處理器單元(MPU)子系統基于 ARM Cortex-A8 微處理器; POWERVR SGX 圖形加速子系統用于3D圖形加速,以支持顯示和游戲效果;可編程實時單元子系統(PRUSS)使用戶可以創建各種超越本地外設的數字資源。此外,PRUSS 獨立于 ARM 內核,允許設備擁有獨立的操作和時鐘,從而在復雜系統解決方案中有更大的靈活性。
1.2 系統功能模塊及信息處理過程
系統的功能模塊如圖3所示,主要由生理數據采集模塊、GSM短信發送模塊、遠程登錄模塊和BB-Black模塊4部分組成。其中生理數據采集模塊采用ZigBee無線傳感節點實時采集用戶生理數據;GSM短信發送模塊采用四頻 GSM/GPRS ,實現緊急報警和定位;遠程登錄模塊是指手機或其他上網設備,供用戶遠程訪問和監控;BB-Black模塊是本系統的核心模塊,該模塊又可分為數據處理、Boa服務器和SQLite數據庫三部分。數據處理模塊實現對數據的接收、解析、向SQLite數據庫插入數據和向GSM模塊下達緊急報警命令;SQLite數據庫主要用于存儲生理數據;Boa服務器則實現用戶的遠程訪問,查詢SQLite數據中存儲的生理數據。

圖3 系統功能模塊框圖
系統的信息處理過程如下:
① 生理數據采集模塊實時采集生理數據。用戶可根據需要隨身攜帶相應的生理數據檢測模塊(如血壓、血糖、脈搏等檢測模塊),在BB-Black建立的無線傳感網絡覆蓋范圍內移動、實時生理數據采集,按IEEE802.15.4的通信標準,通過無線網絡將生理數據包傳送出去;在BB-Black開發板上連接的ZigBee終端節點將數據包接收。
② BB-Black模塊接收、分析和處理生理數據。AM3359處理器定時地讀取終端節點接收的數據包,通過解析得到數據包中的生理數據,并存儲到SQLite數據庫,同時根據健康指標對數據進行分析,若遇緊急情況,則向GSM/GPRS模塊發送AT控制命令,進行緊急呼救。
③ 監護人或醫生可隨時隨地訪問服務器查看、管理被監護人近期生理數據。用戶通過上網設備打開瀏覽器登陸Boa服務器,提交查詢表單,即可訪問SQLite上存儲的被監護人的生理數據,實現遠程了解被監護人近期身體狀況,實現遠程監控。
本系統應用場景可如圖4所示。

圖4 系統應用場景圖
系統以BB-Black為平臺,提供用戶遠程登錄訪問嵌入式Web服務器Boa,查看該服務器上的被監護人近期生理數據功能;為了實現嵌入式設備的數據存儲功能,采用開銷小、可移植性強、便于使用且高效的嵌入式SQLite數據庫。而CGI(Common Gateway Interface)通用網關接口,則是Web服務器和SQLite數據庫之間的橋梁,作為客戶端與Web服務器交互的標準接口,可按照該標準編寫應用程序實現靜態HTML網頁無法實現的數據庫訪問和搜索功能,實現客戶端與服務器的交互操作。其工作原理如圖5所示。

圖5 遠程監控模塊軟件構成與工作原理
2.1 嵌入式Web服務器的使用
2.1.1 嵌入式Web服務器Boa
ARM Linux開發環境下支持httpd、thttpd和Boa三種嵌入式Web服務器。本文選用的是運行過程中需要較少資源的嵌入式Web服務器Boa。
Boa作為一種單任務的HTTP服務器,通過建立HTTP請求列表來處理多路HTTP連接請求,同時在處理請求過程中只為CGI程序創建新進程,在最大程度上節省了系統資源,對嵌入式系統來說至關重要。同時,它還具有自動解壓文件、生成目錄等功能。
2.1.2 Boa功能實現
設計中Boa服務器需實現接收客戶端請求、分析請求、響應請求和向客戶端返回請求結果等任務。其工作流程如圖6所示。

圖6 Boa服務器工作流程
Boa服務器初始化工作代碼略——編者注。
Boa在ARM上的移植略——編者注。
2.2 CGI與SQLite數據庫移植
BB-Black開發板在運行CGI和SQLite程序前,需要將相應的庫移植到開發板。設計通過交叉編譯之后將CGI的libcgic.a和capture拷貝到BB-Black開發板的/home/www/cgi-bin目錄下,完成移植工作(可通過網頁訪問該目錄,若在網頁上顯示cgic test的字樣,則表明CGI庫移植成功)。
將SQLite的sqlite3和libsqlite3.so.0.8.6分別下載到BB-Black開發板的/usr/bin和/usr/lib目錄中,并通過ln-s /usr/lib/libsqlite3.so.0.8.6 /usr/lib/libsqlite3.so.0命令建立軟鏈接(因為可執行程序sqlite3在運行時搜尋libsqlite3.so.0動態庫),完成移植工作。
2.3 遠程監控功能實現
2.3.1 HTML設計
遠程醫療監控界面主要有監護人登錄界面和被監護人生理數據監測界面。其中脈搏和心跳監測HTML頁面首行代碼“