利用BB-Black的遠程醫療監測智能硬件設計
導讀: 本文以BeagleBone Black為核心,掛接ZigBee無線傳感節點和GSM/GPRS模塊;建立web服務器和SQLite數據庫,接收、解析和存儲ZigBee節點采集的生理數據,控制GSM/GPRS進行緊急呼救和發短信;讓硬件智能化,提供自動生理監測功能,為人們的生活提供便利。
本文引用地址:http://www.j9360.com/article/201808/387409.htm本文以BeagleBone Black為核心,掛接ZigBee無線傳感節點和GSM/GPRS模塊;建立web服務器和SQLite數據庫,接收、解析和存儲ZigBee節點采集的生理數據,控制GSM/GPRS進行緊急呼救和發短信;讓硬件智能化,提供自動生理監測功能,為人們的生活提供便利。
目前,醫療設備的主要缺陷是價格昂貴、體積龐大和非智能;隨著技術的發展,近年來涌現了不少優化的智能醫療設備,給人們的生活帶了極大便利。但仍存在功能單一,不可遠程訪問等缺陷。
BB-Black開發板以其價格便宜、功能強大等優點廣泛應用于各種場景,怎樣利用BB-Black設計一個更智能、功能更齊全的實時遠程醫療監測系統,將是一個有意義、有市場前景的研究課題。
1. 應用系統總體結構設計描述
1.1 硬件平臺相關介紹
設計共涉及BB-black、ZigBee和GSM/GPRS三個硬件模塊。其中BB-black開發板為核心模塊,是一款基于AM3359處理器的開發套件,其實物圖如圖1所示。處理器集成了高達 1GHz 的 ARM Cortex-A8 內核,并提供了豐富的外設接口和兩個擴展接口,可擴展LCD、UART、eMMC、ADC、I2C、SPI和PWM等接口。其系統框圖如圖2所示。
AM3359 是基于 ARM Cortex-A8 內核的微處理器,在圖像、圖形處理、外設和諸如etherCAT 和 PROFIBUS 的工業接口選項方面進行了增強,并支持Linux、 WinCE 和Android 等高級操作系統。該處理器包含了多個子系統。微處理器單元(MPU)子系統基于 ARM Cortex-A8 微處理器; POWERVR SGX 圖形加速子系統用于 3D 圖形加速以支持顯示和游戲效果;可編程實時單元子系統(PRUSS)使用戶可以創建各種超越本地外設的數字資源。此外,PRUSS 獨立于 ARM 內核,這就允許設備有獨立的操作和時鐘,從而在復雜系統解決方案中有更大的靈活性。

圖1 BB-black實物圖背面(左),正面(右)

圖2 BB-Black系統框圖
1.2 系統功能模塊及信息處理過程
系統的功能模塊如下圖3所示,主要由數據采集模塊、GSM模塊、遠程登錄模塊和BB-Black模塊四部分組成。其中生理數據模塊采用ZigBee無線傳感節點實時采集用戶生理數據;GSM模塊采用四頻 GSM/GPRS ,實現緊急報警和定位;遠程登錄模塊是指手機或其它上網設備,供用戶遠程訪問和監控;BB-Black模塊是本系統的核心模塊,該模塊又可分為數據處理、Boa服務器和SQLite數據庫三部分。數據處理模塊實現對數據的接收、解析、向SQLite數據庫插入數據和向GSM模塊下達緊急報警命令;SQLite數據庫主要用于存儲生理數據;Boa服務器則實現用戶的遠程訪問查詢SQLite數據中存儲的生理數據。

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

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

圖5 遠程監控模塊軟件構成與工作原理
首先,由客戶端通過瀏覽器向服務器發起請求,嵌入式Web服務器端收到請求后觸發指定的腳本程序對請求進行解析,并執行相應的CGI應用程序。
其次,CGI應用程序根據請求信息調用相應的SQLite數據庫操作程序,并把數據庫操作程序的執行結果以HTML文檔形式傳遞給Web服務器;嵌入式Web服務器分析、處理HTML文檔信息,并將最終數據內容傳送給客戶端瀏覽器。
最后,由客戶端瀏覽器對數據內容進行解析,并以網頁形式顯示給客戶。
2.1 嵌入式Web服務器Boa
2.1.1 嵌入式服務器Boa的選用
ARM Linux開發環境下支持httpd、thttpd和Boa三種嵌入式Web服務器。作者選用的是可執行文件小、運行過程中需要的資源小的嵌入式Web服務器Boa。
Boa作為一種單任務的HTTP服務器,通過建立HTTP請求列表來處理多路HTTP連接請求,同時在處理請求過程只為CGI程序創建新進程,在最大程度上節省了系統資源,對嵌入式系統來說至關重要。同時它還具有自動解壓文件、生成目錄等功能。
2.1.2 Boa功能實現
設計中Boa服務器需實現接收客戶端請求、分析請求、響應請求和向客戶端返回請求結果等任務。其工作流程如下圖5所示。

圖6 Boa服務器工作流程
Boa服務器初始化工作代碼實現:

評論