APP下载

基于BB-Black开发板的智能硬件生理监测

2015-07-02柏雪峰杨斌刘博

单片机与嵌入式系统应用 2015年6期
关键词:开发板数据包生理

柏雪峰,杨斌,刘博

(西南交通大学 信息科学与技术学院,成都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.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 系统应用场景图

2 远程监控功能实现

系统以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页面首行代码“

”用“action="pluse_heart_monitor.cgi"”将表单指向pluse_heart_monitor.cgi处理程序,method="get"指定获取环境变量的方式为get;程序的最后几行用type="submit"或type="reset"指定点击这两个按钮时提交表单;其他生理数据监测页面与此相似。

2.3.2 CGI和SQLite数据库互动设计

CGI与SQLite数据的互动主要包括CGI程序在SQLite数据库上建立生理数据表,插入生理数据;CGI按照表单提交内容对数据表进行增删改查询操作。其主要的控制函数代码略——编者注。

其中getcgidata()实现GET和POST两种方式从网页获取字符串函数;若为””“GET”方式,则通过getenv("QUERY_STRING")函数获取字符串函数;若为“POST”方式,首先用atoi(getenv("CONTENT_LENGTH"))函数获取字符串长度,再利用(char)fgetc(stdin)函数依次获取单个字符。

通过getcgidata()函数从网页获取的字符串中各数据项由‘&’符号隔开,getstringdata()函数则是去掉‘&’符号,提取有效信息,为select_pluse_spo2()函数对SQLite数据库执行查询操作提供参数。

select_pluse_spo2()函数以getstringdata()函数得到的有效信息为参数,执行打开数据库、查询数据、向网页打印数据操作。部分功能实现代码代码略——编者注。

3 参数发送和接收功能的设计

3.1 数据采集模块功能实现

生理数据采集模块,由数据监测模块和无线传感节点ZigBee组成。数据监测模块负责采集数据,ZigBee节点负责接收、解析和传输数据;解析过程根据监测项目调用相应的子程序(如测血氧、脉搏、体温等);传输数据时终端节点和非终端节点分别调用向串口发送子程序和发射子程序。具体的实现程序流程如图7所示。

图7 ZigBee节点参数接收和发送流程图

3.2 ARM板上生理数据接收功能实现

在ARM板上首先打开串口,然后配置发短信所需的串口参数,并初始化接收缓冲区,开始循环读串口数据包;当读取到数据时,对数据包进行分析,获取隐含的血氧饱和度和脉搏值,并进行健康监测(按照健康生理指标监测),如果获取的生理数据不正常,则会向监护人手机发送短信(包含相应的生理数据和健康状况说明)。最后,将生理数据包转换为十六进制数据存入文档。具体的处理流程如图8所示。

图8 ARM板接收和处理生理数据的流程图

4 系统功能测试

测试前,需通过开发板上的USB和UART接口,将生理数据接收模块和GSM/GPRS模块连接;通过RJ45接口将开发板接入网络;同时用户根据需要佩戴数据采集模块。完成硬件连接后各模块上电,待系统自动启动各项服务后,进行测试。

以脉搏和血氧浓度为例,测试登录界面,用户查询生理数据结果显示,以及手机接收短信,如图9所示。

通过性能测试表明: 测试者穿戴完毕上电后,设备可智能工作。测试者可以实时收到生理数据短信提示,同时也可以通过网页快速地访问、修改生理数据。但受传感器信号覆盖范围的影响(据测试,两个传感节点间可传递数据包的间隔距离上限为1.5 m),测试者的自由度有限。由于嵌入式设备存储空间有限,存储在SQLite数据中的数据会每隔一个小时以数据包的形式通过GSM发送给测试者。

图9 用户登录界面

总体来说,该系统与传统的医疗监测设备相比,具有易携带、低功耗、低成本等优点,在未来的家庭子女远程监护老人和提高人们生活质量方面,有良好的市场前景。但系统仍存在不足,今后的工作主要是户外无线传感网络环境的搭建研究,实现更大范围、更实用的远程医疗监控。

[1] 彭燕. 基于ZigBee的无线传感器网络研究[J]. 现代电子技术,2011(5).

[2] 吴晓云,冯兴乐. 基于S3C2440A的嵌入式Linux系统的搭建[J]. 微计算机信息,2010(17).

[3] 张舸,刘利强,周细义,等. IEEE 802.15.4协议的性能分析与仿真[J].电子技术,2011(5).

[4] 邓耀华,吴黎明. 数据采集终端Web通信服务器嵌入式设计[J].计算机与现代化,2010(5).

[5] 李波,关沫. 一种基于ARM的嵌入式Web服务器的研究与实现[J].计算机技术与发展,2013(7).

[6] 戴昱,黄德才. SQLite的SQL语句高速缓存技术[J]. 计算机系统应用,2012(1).

[7] 潘浩,董齐芬,张贵军,等. 无线传感器网络操作系统TinyOS[M]. 北京:清华大学出版社,2011.

[8] 韩国(株)韩伯电子.医疗保健应用实验设备HBE-Vbi-Health Care [EB/OL].[2014-12].http:www.han back.cn.

柏雪峰、刘博(硕士研究生),研究方向为嵌入式系统软件开发及应用;杨斌(教授),研究方向为单片机及嵌入式系统应用。

Bai Xuefeng,Yang Bin,Liu Bo

(School of Information Science and Technology,Southwest Jiaotong University,Chengdu 610031,China)

With the continuous development of IT technology,a new conception of intelligent hardware is proposed,the intelligent degree of the hardware has become one of the standard measurement of a country's IT technology level.Medical equipments as one of areas of concerned,the intelligent directly affects people's quality of life.This paper takes BB-Black as the core,conbining with ZigBee wireless sensor node and GSM/GPRS module,sets up Web server and SQLite database,then can receive,analyze and store physiological data acquired by the ZigBee node.Lastly,it controls GSM/GPRS to send emergency call and text messages.The solution lets the hardware is intelligent,which provides automatic physiological monitoring function and makes convenience for people's life.

intelligent hardware;BB-black;Web server;SQLite database;GSM/GPRS;physiological monitoring

TP399

A

迪娜

2014-12-04)

猜你喜欢

开发板数据包生理
打破生理“平衡”
基于BP神经网络的旋转血泵生理控制
SmartSniff
妈妈们产后的生理烦恼
Microchip最新推出两款PIC32 Curiosity开发板
浅析单片机开发板的设计与制作
“DIY式”小创新在神经电生理监测中的应用
基于Libpcap的网络数据包捕获器的设计与实现
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板
Arduino和Atmel发布Arduino Zero开发板