<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 醫(yī)療電子 > 設(shè)計(jì)應(yīng)用 > 狂拽炫酷的遠(yuǎn)程醫(yī)療監(jiān)測系統(tǒng)DIY

          狂拽炫酷的遠(yuǎn)程醫(yī)療監(jiān)測系統(tǒng)DIY

          作者: 時間:2017-10-25 來源:網(wǎng)絡(luò) 收藏

            基于生理監(jiān)測

          本文引用地址:http://www.ex-cimer.com/article/201710/368391.htm

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

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

            開發(fā)板以其價格便宜、功能強(qiáng)大等優(yōu)點(diǎn)廣泛應(yīng)用于各種場景,怎樣利用設(shè)計(jì)一個更智能、功能更齊全的實(shí)時系統(tǒng),將是一個有意義、有市場前景的研究課題。

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

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

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

            AM3359是基于ARM Cortex-A8內(nèi)核的微處理器,在圖像、圖形處理、外設(shè)和諸如etherCAT和PROFIBUS的工業(yè)接口選項(xiàng)方面進(jìn)行了增強(qiáng),并支持Linux、 WinCE和Android等高級操作系統(tǒng)。該處理器包含了多個子系統(tǒng)。微處理器單元(MPU)子系統(tǒng)基于ARM Cortex-A8微處理器;POWERVR SGX圖形加速子系統(tǒng)用于3D圖形加速以支持顯示和游戲效果;可編程實(shí)時單元子系統(tǒng)(PRUSS)使用戶可以創(chuàng)建各種超越本地外設(shè)的數(shù)字資源。此外,PRUSS獨(dú)立于ARM內(nèi)核,這就允許設(shè)備有獨(dú)立的操作和時鐘,從而在復(fù)雜系統(tǒng)解決方案中有更大的靈活性。

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

            圖2 BB-Black系統(tǒng)框圖

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

            系統(tǒng)的功能模塊如下圖3所示,主要由數(shù)據(jù)采集模塊、GSM模塊、遠(yuǎn)程登錄模塊和BB-Black模塊四部分組成。其中生理數(shù)據(jù)模塊采用ZigBee實(shí)時采集用戶生理數(shù)據(jù);GSM模塊采用四頻GSM/GPRS,實(shí)現(xiàn)緊急報警和定位;遠(yuǎn)程登錄模塊是指手機(jī)或其它上網(wǎng)設(shè)備,供用戶遠(yuǎn)程訪問和監(jiān)控;BB-Black模塊是本系統(tǒng)的核心模塊,該模塊又可分為數(shù)據(jù)處理、Boa服務(wù)器和SQLite數(shù)據(jù)庫三部分。數(shù)據(jù)處理模塊實(shí)現(xiàn)對數(shù)據(jù)的接收、解析、向SQLite數(shù)據(jù)庫插入數(shù)據(jù)和向GSM模塊下達(dá)緊急報警命令;SQLite數(shù)據(jù)庫主要用于存儲生理數(shù)據(jù);Boa服務(wù)器則實(shí)現(xiàn)用戶的遠(yuǎn)程訪問查詢 SQLite數(shù)據(jù)中存儲的生理數(shù)據(jù)。

            圖3系統(tǒng)功能模塊框圖

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

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

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

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

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

            3.監(jiān)護(hù)人或醫(yī)生可隨時隨地訪問服務(wù)器查看、管理被監(jiān)護(hù)人近期生理數(shù)據(jù)。

            用戶通過上網(wǎng)設(shè)備打開瀏覽器登陸B(tài)oa服務(wù)器,提交查詢表單,即可訪問SQLite上存儲的被監(jiān)護(hù)人的生理數(shù)據(jù),實(shí)現(xiàn)遠(yuǎn)程了解被監(jiān)護(hù)人近期身體狀況,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。

            本系統(tǒng)應(yīng)用場景可如圖4所示。

            圖4系統(tǒng)應(yīng)用場景圖

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

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

            圖5遠(yuǎn)程監(jiān)控模塊軟件構(gòu)成與工作原理

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

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

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

            2.1嵌入式Web服務(wù)器Boa

            2.1.1嵌入式服務(wù)器Boa的選用

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

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

            2.1.2 Boa功能實(shí)現(xiàn)

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

            圖6 Boa服務(wù)器工作流程

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

            

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

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

            2.1.3 Boa在ARM上的移植

            首先,針對BB-Black和實(shí)際應(yīng)用場景對Boa服務(wù)器源代碼作以下修改:(1)根據(jù)監(jiān)護(hù)人數(shù)量指定HTTP請求列表限制參數(shù);將服務(wù)器的輸入輸出緩存空間設(shè)為最大值,以加快生理數(shù)據(jù)傳輸速度;(2)通過編寫實(shí)現(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服務(wù)器的配置文件boa.conf:監(jiān)聽端口為80,注釋掉綁定IP地址設(shè)置欄,KeepAliveMax值為 50,KeepAliveTImeout值為10,服務(wù)器名字為www. RemoteMedicalMonitoringSystem.com;以及CGI路徑,訪問日志和錯誤日志的存放路徑等運(yùn)行參數(shù);將該配置文件和可執(zhí)行文件boa放到BB-Block平臺的/home/www目錄下;執(zhí)行g(shù)enromfs-f romfs.img-d romdisk命令生成一個含有Boa服務(wù)器的根文件系統(tǒng),通過bootloader燒寫到存儲器。完成Boa到ARM平臺的移植。

            2.2 CGI與SQLite數(shù)據(jù)庫移植

            BB-Black開發(fā)板在運(yùn)行CGI和SQLite程序前,需要將相應(yīng)的庫移植到開發(fā)板。設(shè)計(jì)通過交叉編譯之后將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命令,建立軟連接(因?yàn)榭蓤?zhí)行程序sqlite3在運(yùn)行的時候搜尋libsqlite3.so.0動態(tài)庫),完成移植工作。

            2.3遠(yuǎn)程監(jiān)控功能實(shí)現(xiàn)

            2.3.1 HTML設(shè)計(jì)

            遠(yuǎn)程醫(yī)療監(jiān)控界面主要有監(jiān)護(hù)人登錄界面和被監(jiān)護(hù)人生理數(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”指定點(diǎn)擊這兩個按鈕時提交表單;其他生理數(shù)據(jù)監(jiān)測頁面與此相似。

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

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

            

            其中g(shù)etcgidata()實(shí)現(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ù)項(xiàng)由‘

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

            

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

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

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

            圖7 ZigBee節(jié)點(diǎn)參數(shù)接收和發(fā)送流程圖

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

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

            圖8 ARM板接收和處理生理數(shù)據(jù)的流程圖

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

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

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

            圖9用戶登錄界面

            圖10用戶查詢生理數(shù)據(jù)結(jié)果顯示

            圖11手機(jī)接收生理監(jiān)測的生理數(shù)據(jù)短信

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

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

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

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

            通過性能測試表明:

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

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



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();