可穿戴医学监测系统应用程序的设计与实现

2018-01-29 09:47张恩阳赵明刘传银周龙甫
中国医疗设备 2018年1期
关键词:功能区蓝牙应用程序

张恩阳,赵明,刘传银,周龙甫,

1.四川长虹电器股份有限公司 技术中心,四川 绵阳 621000;2.成都军区总医院 中心实验室,四川 成都 610083

引言

智能可穿戴设备已经成为当前小型医疗设备开发设计领域热点之一[1-5]。智能可穿戴设备由硬件装置和智能移动终端应用程序两部分构成[1-2,6-8]。两者之间实现数据互联互通、实时采集显示等[9-10],为使用者提供实时、动态、可视化的数据监测[11-12]。

1 研究目标

开发设计智能移动终端应用程序,与项目组所开发的基于北斗全球定位信息系统的智能可穿戴人体生命体征及环境信息监测装置协同工作。该应用程序具备以下主要功能:① 通过低功耗蓝牙,实时接收监测硬件装置所采集的多传感器数据,并且存储、分析与可视化展示;② 北斗定位与通信能力;③ 通过连接无线电台自组内网实现语音通话和消息传输。

2 关键技术

2.1 基于Xamarin Mono的Android App研发技术

Xamarin是由Mono项目演变而来,是一个跨平台开发框架[13],开发人员通过Xamarin Studio或Visual Studio开发工具,使用C#编程语言,搭配.NET Framework,开发iOS、Mac、Android 及Windows多平台的原生应用程序。Xamarin特点包括[14]:① 快速建立原生行动装置应用程序;② 程序代码可共享,具有跨平台开发能力;③ 与Visual Studio整合;④ 效能可与原生模式开发的应用程序媲美。

Xamarin.Android是Xamarin平台下负责开发Android应用程序的解决方案,它可以在Visual Studio或Xamarin Studio中创建、编译、调试和部署Android应用程序。Xamarin独特的高性能代码编译器使开发者可以方便访问Android SDK中原生的API,最终快速创建原生的Android应用程序。在Xamarin.Android中使用Nuget、Xamarin Component Store也可为开发者带来丰富的第三方组件,甚至可以通过创建Java Bindings Library项目来重用一些第三方jar包。

2.2 绑定Java库文件

自Xamarin.Android 4.2版本后Xamarin Mono引入了绑定Java库(.jar文件)的技术[15-16],同时引入了一种叫做Java Bindings Library Project的新项目模板,这种通过将jar文件转化为dll文件的技术扩展增强了Xamarin Mono的类库功能。

Adnroid生态系统下的第三方类库十分丰富,在Xamarin.Android中有两种方法来使用这些已有的类库[15-16]:一种是通过JNI(Java Native Interface)来直接调用,另外一种就是前面提到的通过创建绑定项目来达到重用这些类库的目的。

3 应用程序总体设计

3.1 功能层次结构图

整个程序分为3个大的功能区:北斗功能区,蓝牙功能区以及主功能区。系统功能层次结构,见图1。北斗功能区包括了北斗时间申请模块、北斗定位申请模块、北斗用户机串口速率申请模块、北斗IC卡检测模块、北斗用户机自检模块、发送所有北斗命令模块。蓝牙功能区包括了蓝牙管理模块以及蓝牙连接模块。主功能区包括了可穿戴设备曲线图展示模块、北斗短报文聊天模块、基于北斗用户机的百度地图定位模块、北斗用户机自检模块等。

图1 系统功能层次结构图

3.2 程序架构设计图

Android端APP由5个核心模块实现:数据通讯管理器、数据处理管理器、数据存储管理器、数据可视化管理器、Android系统管理。每一个核心模块的职责划分明确,并且核心模块和组件是完全独立于底层的传感器技术和通信技术。Android APP的系统架构设计,见图2。

图2 系统架构设计图

4 主要功能设计与实现

4.1 北斗功能区设计

北斗功能区包括了北斗时间申请模块、北斗定位申请模块、北斗用户机串口速率申请模块、北斗IC卡检测模块、北斗用户机自检模块、北斗用户机版本读取模块、发送所有北斗命令模块,这些模块的设计都遵循了北斗命令申请协议的定义。流程逻辑,见图3。

图3 北斗功能区流程逻辑图

在具体的设计实现这些模块功能时,最核心部分属于北斗协议的生成和解析,实现IBeiDouProtocol北斗协议接口,并且继承自BaseBeidouProtocol北斗协议基类。北斗协议接口要求所有的北斗申请或解析命令必须强制实现自身的数据校验和功能,保证了北斗数据的正确性。

目前主要局限性在于,由于北斗卫星网络自身信号微弱的原因,如果想正确的运行程序必须将北斗用户机放置于正南朝向的无遮挡露天区域下。

4.2 蓝牙功能区

蓝牙功能区包括蓝牙连接模块和蓝牙管理模块两大部分。其中蓝牙连接模块的主要功能是负责发现周围可连接或已配对的蓝牙设备;而蓝牙管理模块的主要功能是接收并解析已连接蓝牙设备发送而来的数据,然后将解析后的传感器数据进行图形化展示。流程逻辑,见图4。

4.2.1 蓝牙连接模块

如图4所示,蓝牙的核心类包括了:BluetoothLeService、SampleGattAttributes、BGattCallback以及LoacalBinder,在这些类的协同作用下实现了低功耗蓝牙的连接以及数据传输等核心功能。在实现业务层面的功能时通过DeviceScanActivity、LeDeviceListAdapter、ViewHolder类 来 实 现, 其 中DeviceScanActivity和ViewHolder为蓝牙设备搜索结果的界面控制器类,LeDeviceListAdapter为蓝牙搜索结果的数据适配器。

图4 蓝牙功能区流程逻辑图

4.2.2 蓝牙管理模块

蓝牙管理模块包括了可穿戴设备通信协议子模块、数据可视化子模块和可穿戴设备传感器数据列表子模块。可穿戴设备通信协议子模块主要负责可穿戴设备数据的解析工作,数据可视化子模块将解析后的数据进行实时的可视化展示,可穿戴设备传感器数据列表子模块为用户展示所有可用的传感器名称及最新数据列表。

4.3 可穿戴设备数据可视化子模块

可穿戴设备数据可视化子模块主要的功能是对已解析的蓝牙通信数据流进行实时的可视化曲线图形展示。

4.4 绑定百度地图

百度地图在本项目中用作北斗用户机的定位结果展示,以及北斗用户机运行路线的展示,以百度地图JAVA版本SDK库文件为基础,在Xamarin mono项目中使用百度SDK进行二次开发。通过创建JAVA库文件的绑定项目进行转化。以下内容为详细的转化过程:

(1)创建jar的绑定程序集。首先获取百度地图的SDK库文件;然后在Visual Studio主菜单中选择Mono for Android下的“Java Binding Library”,命名新建项目为“BaiduMapSDK”;把baidumapapi_v2_1_1.jar放到Jars文件夹下,选中jar文件,将“生成操作”属性设置为“EmbeddedJar”,生成解决方案。

(2)引用绑定程序集并编译为dll程序集。选择Mono for Android下的“Android Application”创建一个Android项目。在项目列表中选择第一步创建的“BaiduMapSDK”。把libapp_BaiduMapApplib_v2_1_1.so、libvi_voslib.so这两个库文件放到MapTest项目中,并且把so文件的“生成操作”设置为“AndroidNativeLibrary”。在MapTest项目中创建一个libs文件夹,并且在libs文件夹下创建一个armeabi文件夹,然后把libapp_BaiduMapApplib_v2_1_1.so、libvi_voslib.so放到这个文件夹下。如果运行到armeabi-v7a CPU下,还需要同样创建一份armeabi-v7a文件夹;同样如果运行在x86CPU下则同样需要创建x86文件夹。

(3)如果在编译过程中发生错误,修改EnumFields.xml 、EnumMethods.xml或Metadata.xml的文件内容。将dll程序集导入项目并设置权限:在axml中添加地图视图控件BaiduMapView。

4.5 绑定AChartEngine绘图库

AChartEngine是为Android应用而设计的绘图工具库。可用于绘制多种图表。本项目中将 AChartEngine应用于收集传感器数据,利用这些数据进行曲线图或是其他图形的绘制,以便给决策者更加直观的数据展示。

4.6 程序主要界面

所设计应用程序主要界面,见图5。

图5 应用程序主要界面

5 结束语

移动智能终端应用程序作为可穿戴移动监测装备的重要组成部分,已经成为国内外应用研究的热点之一。各种移动智能APP应用软件切实将可穿戴智能装备推进应用市场。

本系统的优点在于能够生成和解析北斗协议,实现IBeiDouProtocol北斗协议接口。为进一步将我国自主研发的北斗全球定位系统应用于可穿戴设备领域进行了有益地尝试。所设计的应用软件集Wi-Fi通讯技术、北斗短报文通讯技术、蓝牙通讯技术以及串口通讯技术于一身,满足不同通信场景中与医学监测硬件系统数据互联的需求。整套系统能够有效提高特殊环境下医疗卫生保障水平,能够为相关部门决策提供基础数据。不足之处在于目前仅可用于北斗用户机能够接收到信号区域,距离广泛市场应用尚有一定距离。

可穿戴式智能设备为医学监测、遥测提供了新的工具。随着传感器、卫星通信、计算机软件等相关技术的发展,必然会为小型化、家庭化便携医疗设备研发增添新内容。作为具有完全自主产权的北斗全球定位系统,在各个领域的应用开发进一步值得探索、研究。

[1] 周旺,贾天震,陈贤详,等.可穿戴医疗健康监护现状与展望[J].中国医疗设备,2017,32(6):1-5.

[2] Health Monitoring and Diagnostic Medical Devices Market Expected to Reach USD 8.03Billion Globally in 2019 Transparency Market Research[EB/OL].http://www.digitaljournal.com/pr/1877980.

[3] 颜延,邹浩,周林,等.可穿戴技术的发展[J].中国生物医学工程学报,2015,(6):12-15.

[4] Lee KM,Lee SM,Park KS.Belt-type wireless and non-contact electrocardiogram monitoring system using flexible active electrode[J].Int J Bioelectromagn,2010,(12):153-157.

[5] Fong EM,Kwon TH,Chung WY.Seamless and non-contact health monitoring system in cloud computing[A].Consumer Electronics (ICCE),2013 IEEE International Conference on[C].New York:IEEE,2013:530-531.

[6] 温煦,袁冰,李华,等.论智能可穿戴设备在我国体力活动大数据分析中的应用[J].中国体育科技,2017,(2):65-67.

[7] 许鑫.可穿戴计算机设备的领域应用及其对信息服务的影响[J].图书情报工作,2015,13:338-341.

[8] 黄海诚,汪丰.可穿戴技术在医疗中的研究与应用[J].中国医疗设备,2015,(1):4-9.

[9] Misra V,Bozkurt A,Calhoun B,et al.Flexible technologies for self-powered wearable health and environmental sensing[J].Pro IEEE,2015,103(4):665-681.

[10] 温川雪,周洪建,张俊飞.基于智能手机与移动网络的远程生命体征监测系统的设计[J].生物医学工程学杂志,2015,(1):5-9.

[11] Rachim VP,Chung WY.Wearable noncontact armband for mobile ECG monitoring system[J].IEEE Trans Biom Cir Sys,2016,10(6):1112-1118.

[12] 李峰.远程智能心率监测仪的研制[J].中国医学装备,2014,(8):26-29.

[13] Moretz C,Zhou Y,Dhamane AD,et al.Development and validation of a predictive model to identify individuals likely to have undiagnosed chronic obstructive pulmonary disease using an administrative claims database[J].J Manag Care Spec Phar,2015,21(12):1149-1159.

[14] 郭海鹏.基于WBSW技术的人体生命体征监控应用研究[J].长春理工大学学报,2013,(11):124-128.

[15] 李刚.疯狂Android讲义[M].北京:电子工业出版社,2011:6.

[16] 邓勇,刘威,李桐萱.移动医疗APP运行现状及其法律监管问题初探[J].中国医疗设备,2015,(8):72-75.

猜你喜欢
功能区蓝牙应用程序
蓝牙音箱的直线之美
产业功能区人才发展现状与探索
删除Win10中自带的应用程序
两种水功能区达标率计算法比对分析
谷歌禁止加密货币应用程序
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
宁夏水功能区管理工作进展及存在的主要问题
北京市声环境功能区调整研究
蓝牙4.0落地加速