當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]本文以BeagleBone Black為核心,掛接ZigBee無線傳感節(jié)點和GSM/GPRS模塊;建立web服務器和SQLite數(shù)據(jù)庫,接收、解析和存儲ZigBee節(jié)點采集的生理數(shù)據(jù),控制GSM/GPRS進行緊急呼

本文以BeagleBone Black為核心,掛接ZigBee無線傳感節(jié)點和GSM/GPRS模塊;建立web服務器和SQLite數(shù)據(jù)庫,接收、解析和存儲ZigBee節(jié)點采集的生理數(shù)據(jù),控制GSM/GPRS進行緊急呼救和發(fā)短信;讓硬件智能化,提供自動生理監(jiān)測功能,為人們的生活提供便利。

目前,醫(yī)療設備的主要缺陷是價格昂貴、體積龐大和非智能;隨著技術(shù)的發(fā)展,近年來涌現(xiàn)了不少優(yōu)化的智能醫(yī)療設備,給人們的生活帶了極大便利。但仍存在功能單一,不可遠程訪問等缺陷。

BB-Black開發(fā)板以其價格便宜、功能強大等優(yōu)點廣泛應用于各種場景,怎樣利用BB-Black設計一個更智能、功能更齊全的實時遠程醫(yī)療監(jiān)測系統(tǒng),將是一個有意義、有市場前景的研究課題。

1. 應用系統(tǒng)總體結(jié)構(gòu)設計描述

1.1 硬件平臺相關(guān)介紹

設計共涉及BB-black、ZigBee和GSM/GPRS三個硬件模塊。其中BB-black開發(fā)板為核心模塊,是一款基于AM3359處理器的開發(fā)套件,其實物圖如圖1所示。處理器集成了高達 1GHz 的 ARM Cortex-A8 內(nèi)核,并提供了豐富的外設接口和兩個擴展接口,可擴展LCD、UART、eMMC、ADC、I2C、SPI和PWM等接口。其系統(tǒng)框圖如圖2所示。

AM3359 是基于 ARM Cortex-A8 內(nèi)核的微處理器,在圖像、圖形處理、外設和諸如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 內(nèi)核,這就允許設備有獨立的操作和時鐘,從而在復雜系統(tǒng)解決方案中有更大的靈活性。

 

 


1.2 系統(tǒng)功能模塊及信息處理過程

系統(tǒng)的功能模塊如下圖3所示,主要由數(shù)據(jù)采集模塊、GSM模塊、遠程登錄模塊和BB-Black模塊四部分組成。其中生理數(shù)據(jù)模塊采用ZigBee無線傳感節(jié)點實時采集用戶生理數(shù)據(jù);GSM模塊采用四頻 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ù)。

 


正如上圖所示系統(tǒng)的信息處理過程如下:

1. 生理數(shù)據(jù)采集模塊實時采集生理數(shù)據(jù)。

用戶可根據(jù)需要隨身攜帶相應的生理數(shù)據(jù)檢測模塊(如:血壓、血糖、脈搏等檢測模塊),在BB-black建立的無線傳感網(wǎng)絡覆蓋范圍內(nèi)移動、實時生理數(shù)據(jù)采集,按IEEE 802.15.4的通訊標準,通過無線網(wǎng)絡將生理數(shù)據(jù)包傳送出去;在BB-black開發(fā)板上連接的ZigBee終端節(jié)點將數(shù)據(jù)包接收。

2. BB-black模塊接收、分析和處理生理數(shù)據(jù)。

AM335x處理器定時的讀取終端節(jié)點接收的數(shù)據(jù)包,通過解析得到數(shù)據(jù)包中的生理數(shù)據(jù),并存儲到SQLite數(shù)據(jù)庫,同時根據(jù)健康指標對數(shù)據(jù)進行分析,若遇緊急情況,則向GSM/GPRS模塊發(fā)AT控制命令,進行緊急呼救。

3. 監(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所示。

 


2. 遠程監(jiān)控功能實現(xiàn)

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

 


首先,由客戶端通過瀏覽器向服務器發(fā)起請求,嵌入式Web服務器端收到請求后觸發(fā)指定的腳本程序?qū)φ埱筮M行解析,并執(zhí)行相應的CGI應用程序。

其次,CGI應用程序根據(jù)請求信息調(diào)用相應的SQLite數(shù)據(jù)庫操作程序,并把數(shù)據(jù)庫操作程序的執(zhí)行結(jié)果以HTML文檔形式傳遞給Web服務器;嵌入式Web服務器分析、處理HTML文檔信息,并將最終數(shù)據(jù)內(nèi)容傳送給客戶端瀏覽器。

最后,由客戶端瀏覽器對數(shù)據(jù)內(nèi)容進行解析,并以網(wǎng)頁形式顯示給客戶。

2.1 嵌入式Web服務器Boa

2.1.1 嵌入式服務器Boa的選用

ARM Linux開發(fā)環(huán)境下支持httpd、thttpd和Boa三種嵌入式Web服務器。作者選用的是可執(zhí)行文件小、運行過程中需要的資源小的嵌入式Web服務器Boa。

Boa作為一種單任務的HTTP服務器,通過建立HTTP請求列表來處理多路HTTP連接請求,同時在處理請求過程只為CGI程序創(chuàng)建新進程,在最大程度上節(jié)省了系統(tǒng)資源,對嵌入式系統(tǒng)來說至關(guān)重要。同時它還具有自動解壓文件、生成目錄等功能。[!--empirenews.page--]

2.1.2 Boa功能實現(xiàn)

設計中Boa服務器需實現(xiàn)接收客戶端請求、分析請求、響應請求和向客戶端返回請求結(jié)果等任務。其工作流程如下圖6所示。

 


Boa服務器初始化工作代碼實現(xiàn):

 


上述代碼首先創(chuàng)建一個無阻塞的流式套接字描述符socktfd,提供面向連接的可靠傳輸。然后利用bind()函數(shù)將指定端口與套接字描述符關(guān)聯(lián),最后利用listen()函數(shù)在指定端口監(jiān)聽,等待Request請求。

當監(jiān)聽到連接請求,服務器調(diào)用get_request()函數(shù)獲取請求信息,利用accept()函數(shù)建立連接,接收請求、分析信息,進行HTTP認證確認,處理請求信息,并將結(jié)果發(fā)送、顯示到Web瀏覽器;當有CGI請求時,創(chuàng)建CGI處理進程,并將處理結(jié)果發(fā)送、顯示到Web瀏覽器。

2.1.3 Boa在ARM上的移植

首先,針對BB-Black和實際應用場景對Boa服務器源代碼作以下修改:(1)根據(jù)監(jiān)護人數(shù)量指定HTTP請求列表限制參數(shù);將服務器的輸入輸出緩存空間設為最大值,以加快生理數(shù)據(jù)傳輸速度;(2)通過編寫實現(xiàn)一些簡單函數(shù),來精簡Linux操作系統(tǒng)庫函數(shù),節(jié)約資源。

其次,利用arm-linux-gcc交叉編譯環(huán)境,配置生成大小為175.8KB的boa可執(zhí)行程序。通過bin.arm-linux-strip boa指令剝?nèi)ジ綆У木幾g信息,得到僅59.4KB的ARM平臺可執(zhí)行文件。

最后,通過修改Web服務器的配置文件boa.conf:監(jiān)聽端口為80,注釋掉綁定IP地址設置欄,KeepAliveMax值為 50,KeepAliveTimeout值為10,服務器名字為www. RemoteMedicalMonitoringSystem.com;以及CGI路徑,訪問日志和錯誤日志的存放路徑等運行參數(shù);將該配置文件和可執(zhí)行文件boa放到BB-Block平臺的/home/www目錄下;執(zhí)行g(shù)enromfs-f romfs.img-d romdisk命令生成一個含有Boa服務器的根文件系統(tǒng),通過bootloader燒寫到存儲器。完成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頁面首行代碼用 action=“pluse_heart_monitor.cgi”將表單指向pluse_heart_monitor.cgi處理程序,method=“get”指定獲取環(huán)境變量的方式為get;程序的最后幾行用type=“submit”或type=“reset”指定點擊這兩個按鈕時提交表單;其他生理數(shù)據(jù)監(jiān)測頁面與此相似。

2.3.2 CGI和SQLite數(shù)據(jù)庫互動設計

CGI與SQLite數(shù)據(jù)的互動主要包括CGI程序在SQLite數(shù)據(jù)庫上建立生理數(shù)據(jù)表,插入生理數(shù)據(jù);CGI按照表單提交內(nèi)容對數(shù)據(jù)表進行增刪改查詢操作;其主要的控制函數(shù)代碼如下:

 


其中g(shù)etcgidata()實現(xiàn)GET和POST兩種方式從網(wǎng)頁獲取字符串函數(shù);若為””“GET”方式,則通過 getenv(“QUERY_STRING”)函數(shù)獲取字符串函數(shù);若為“POST”方式,首先用 atoi(getenv(“CONTENT_LENGTH”))函數(shù)獲取字符串長度,再利用(char)fgetc(stdin)函數(shù)依次獲取單個字符。

通過getcgidata()函數(shù)從網(wǎng)頁獲取的字符串中各數(shù)據(jù)項由‘&’符號隔開,getstringdata()函數(shù)則是去掉‘&’符號,提取有效信息,為select_pluse_spo2()函數(shù)對SQLite數(shù)據(jù)庫執(zhí)行查詢操作提供參數(shù)。

select_pluse_spo2()函數(shù)以getstringdata()函數(shù)得到的有效信息為參數(shù),執(zhí)行打開數(shù)據(jù)庫、查詢數(shù)據(jù)、向網(wǎng)頁打印數(shù)據(jù)操作。部分功能實現(xiàn)代碼:

 


3 參數(shù)發(fā)送和接受功能的設計

3.1 數(shù)據(jù)采集模塊功能實現(xiàn)

生理數(shù)據(jù)采集模塊,由數(shù)據(jù)監(jiān)測模塊和無線傳感節(jié)點ZigBee組成。數(shù)據(jù)監(jiān)測模塊負責采集數(shù)據(jù),ZigBee節(jié)點負責接收、解析和傳輸數(shù)據(jù);解析過程根據(jù)監(jiān)測項目調(diào)用相應的子程序(如:測血氧、脈搏、體溫等);傳輸數(shù)據(jù)時終端節(jié)點和非終端節(jié)點分別調(diào)用向串口發(fā)送子程序和發(fā)射子程序。具體的實現(xiàn)程序流程如下圖7所示。

 


3.2 ARM板上生理數(shù)據(jù)接收功能實現(xiàn)

在ARM板上首先打開串口,然后配置發(fā)短信所需的串口參數(shù),并初始化接收緩沖區(qū),開始循環(huán)讀串口數(shù)據(jù)包;當讀取到數(shù)據(jù),就對數(shù)據(jù)包進行分析,獲取包中隱含的血氧飽和度和脈搏值;并進行健康監(jiān)測(按照健康生理指標監(jiān)測),如果獲取的生理數(shù)據(jù)不正常就會向監(jiān)護人手機發(fā)送短信(包含相應的生理數(shù)據(jù)和健康狀況說明);最后將生理數(shù)據(jù)包轉(zhuǎn)化為16進制數(shù)存入文檔。具體的處理流程如下圖8所示。

 

[!--empirenews.page--]

4. 系統(tǒng)功能測試

測試前,需通過開發(fā)板上的USB和UART接口,將生理數(shù)據(jù)接收模塊和GSM/GPRS模塊連接;通過RJ45接口將開發(fā)板接入網(wǎng)絡;同時用戶根據(jù)需要佩戴數(shù)據(jù)采集模塊。完成硬件連接后各模塊上電,待系統(tǒng)會自動啟動各項服務完成后,進行測試。

以脈搏和血氧濃度為例,測試的登錄界面;查詢生理數(shù)據(jù)結(jié)果顯示,以及手機接收短信如下圖所示。

 


 


 

經(jīng)功能測試表明:

1. 在無線傳感網(wǎng)絡覆蓋范圍內(nèi),測試者可以攜帶監(jiān)測設備,隨意走動;系統(tǒng)自動進行生理監(jiān)測,數(shù)據(jù)傳輸和存儲。

2. 系統(tǒng)能夠智能的分析生理數(shù)據(jù)并將結(jié)果以短信形式發(fā)送到測試者手機上,同時能夠智能緊急呼叫測試者。

3. 測試者可以使用電腦或手機等其它上網(wǎng)設備,通過瀏覽器訪問Boa服務器,查看存儲的生理數(shù)據(jù)信息。

通過性能測試表明:

測試者穿戴完畢上電后,設備智能工作。測試者可以實時收到生理數(shù)據(jù)短信提示,同時也可以通過網(wǎng)頁快速的訪問、修改生理數(shù)據(jù)。但受傳感器信號覆蓋范圍的影響(據(jù)測試,兩個傳感節(jié)點間可傳遞數(shù)據(jù)包的間隔距離上限為1.5米),測試者的自有度有限。同時嵌入式設備存儲空間有限,存儲在SQLite數(shù)據(jù)中的數(shù)據(jù)會每隔一個小時以數(shù)據(jù)包的形式通過GSM發(fā)送給測試者。

總體來說該系統(tǒng)與傳統(tǒng)的醫(yī)療監(jiān)測設備相比,具有易攜帶、低功耗、低成本等優(yōu)點,在未來的家庭子女遠程監(jiān)護老人和提高人們生活質(zhì)量方面,有很大的市場前景。但系統(tǒng)仍存在不足,今后的工作主要是戶外無線傳感網(wǎng)絡環(huán)境的搭建研究,實現(xiàn)更大范圍、更實用的遠程醫(yī)療監(jiān)控。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉