基于BB-Black开发板的智能硬件生理监测
2015-07-02柏雪峰杨斌刘博
柏雪峰,杨斌,刘博
(西南交通大学 信息科学与技术学院,成都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页面首行代码“