美章网 资料文库 iOS和SensorTag的数据采集系统设计范文

iOS和SensorTag的数据采集系统设计范文

本站小编为你精心准备了iOS和SensorTag的数据采集系统设计参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

iOS和SensorTag的数据采集系统设计

摘要:

传感器数据采集是可穿戴终端设计是否实用的关键系统。本文选取集成了低功耗蓝牙和6种传感器的SensorTag作为终端,在ios系统的基础上开发出能实现环境温湿度、红外温度以及方向等参数的采集系统。系统设计过程中,主要使用UIKit、CoreBluetooth等框架,重点给出低功耗蓝牙通信和传感数据计算的设计要点。测试结果表明,所采集的各项数据正确,符合设计要求。

关键词:

数据采集;sensortag;iOS;低功耗蓝牙

自2012年谷歌GoogleGlass首次掀起可穿戴终端的热潮,2015年苹果推出的AppleWatch更是成为引爆点[1]。目前,可穿戴终端多以手机辅助设备的形式出现,其中以智能手环最为常见,通常具有健身计步、睡眠监测、心率测量等功能。基于上述情况,可穿戴终端的关键器件包括主控芯片、传感器、通信芯片、屏幕等,且均要求低功耗。德州仪器公司推出低功耗蓝牙开发套件SensorTag,集成6种传感器,使可穿戴终端的开发变得简单,同时也让新型智能手机和平板电脑获益[2]。文章选取SensorTag作为采集终端,在iOS平台的基础上设计和实现数据采集系统。

1数据采集平台

数据采集平台主要由iPhone手机和德州仪器公司(TexasInstruments,TI)的SensorTag套件构成,两者之间通过低功耗蓝牙进行通信和数据传输。SensorTag套件基于TI的低功耗蓝牙芯片CC2541,集成了6个常用传感器:压力传感器、湿度传感器、温度传感器、罗盘、加速计及陀螺仪。所设计的数据采集软件能实现环境温度、相对湿度、目标温度、气压等数据的采集,能指示当前方位、重力的变化方向以及设备的运动轨迹。其对硬件的要求为iPhone4S及以上型号手机,对操作系统要求为iOS6以上。

1.1软件框架数据采集软件的主要功能为:一、通过低功耗蓝牙与SensorTag通信,读取相关传感器数据;二、对原始数据进行运算和补偿,降低误差提高测量精度。iOS的系统架构包括4层结构,由下至上分别为:核心操作层(CoreOS)、核心服务层(CoreServices)、媒体层(Media)、可触摸层(CocoTouch)[3,4]。该软件涉及CoreOS核心操作层CoreBluetooth框架、CoreServices层的CoreLocation框架以及CocoTouch层的UIKit框架等。其中CoreBluetooth框架完全基于BLE4.0标准且支持非iOS设备,继承于NSObject,为软件的核心框架[5,6]。CoreBluetooth设计类似于客户-服务器(Client-Sever)设计,作为服务器端的设备称为外围设备(Peripheral),作为客户端的设备叫做中央设备(Central),CoreBlueTooth整个框架就是基于这两个概念来设计的,其相关类如图1所示。CBPeripheralManager:用于外围设备管理,通常用于并广播服务,告诉周围的中央设备其可用服务和特征;CBCentralManager:用于中央设备管理,通常用于扫描外围设备并试图建立连接,一旦连接成功即可使用这些服务和特征;外围设备和中央设备之间交互的桥梁是服务(Service,CBService类型)和特征(Characteristic,CBCharacteristic类型),二者都由一个128位通用唯一识别码(UUID,CBUUID类型)来确定,每个服务可由多个特征组成。每个特征由属性(properties,表示特征是否可读写)、特征值(value,特征的具体数据)和描述(descriptor,特征的详细描述)字段组成[7,8]。

1.2传感器套件SensorTagSensorTag的硬件构架见图2。图中核心为TI的低功耗蓝牙芯片CC2541,TMP006为TI的非接触式红外温度传感器;SHT21为湿度传感器,分辨率为12位相对湿度和14位温度;IMU-3000为16位3轴陀螺仪;KXTJ9为3轴可编程分辨率14位的加速度计;MAG3110为3轴罗盘,T5400为16位气压传感器。主控芯片分时通过I2C总线对各个传感器进行配置和数据读取,同时预留调试接口和Ez430电池接口[2]。

2软件设计及实现

软件主要功能为蓝牙通信和数据采集。蓝牙通信主要实现与SensorTag进行数据交互,包括蓝牙设备扫描,建立连接,发现服务和属性,进行数据传输等过程。数据采集程序的功能是对SensorTag所获取的传感器数据进行计算、误差校正、单位换算、更新以及显示。其总体流程见图3。

2.1蓝牙通信的实现iOS手机端作为中央设备与SensorTag建立连接的过程可分为如下几个步骤:创建中央设备管理对象CBCentralManager并指定;扫描并发现传感器标签(SensorTag),根据用户定义的连接参数建立连接;查找SensorTag所提供的服务和特征,查找到可用特征并读取特征数据。在读取数据之前,首先要使能传感器,可通过对每个传感器的配置特征写入值(0x00:禁止,0x01:使能)来激活。使能传感器后,获取数据的方式有两种,分别为:一、订阅带有数据的特征,默认数据更新周期为1秒;二、手机启用定时器,定时读取带有测量数据的特征,由于各个传感器需要一定的时延来完成测量,推荐时延设置为100ms。相对而言方式一更省电,本软件采用方式一来获取数据。所有传感器的服务和特征均使用128位的UUID来区分,TI的UUID基数为F0000000-4000-8000-B000-000000000000。在UUID基数基础上,传感器服务和特征的UUID可以缩减为16位,例如非接触式红外温度传感器测量数据特征UUID为:F000AA01-4000-8000-B000-000000000000,与UUID基数相比,可简化为16位二进制值即0xAA01。每个传感器拥有1个服务、1个数据特征(只读,订阅)、1个配置特征(可读,可写)以及1个读取周期设置特征(可读,可写)。

2.2传感器数据处理红外温度传感器原始数据为4个字节,分别为环境温度TDIE的高低位和目标电压VOBJ的高低位,根据原始数据可计算出目标温度值。目标电压值的准确度取决于目标离传感器正中心的距离d和目标的大小(目标的半径:r),d/r最佳比值为1/2。加速度传感器的测量范围为[-2g,2g],单位为1/64g。其数据6个字节,分别为X、Y、Z三个方向的高低位。数据的处理只需进行简单的单位换算即可。湿度传感器的原始数据为4个字节,分别为环境温度的高低位和相对湿度的高低位。电子罗盘的测量范围为[-1000,+1000],单位μT,数据6个字节,分别为X、Y、Z三个方向数值的高低位。陀螺仪可通配置特征选择其3轴中的任意组合,具体组合详情为:0x00:关闭陀螺仪;0x01:X轴有效;0x02:Y轴有效;0x03:X轴和Y轴组合;0x04:Z轴有效;0x05:X轴和Z轴组合;0x06:Y轴和Z轴组合;0x07:X轴、Y轴和Z轴组合。其数据为6个字节,分别为X、Y、Z三个方向轴的高低位值。

3运行结果及分析

实际数据测试时,首先开启SensorTag电源,打开手机端数据采集软件搜索蓝牙设备,搜索到的蓝牙设备的界面见图4(a),设备名称为TIBLESensorTag。点击设备名称,即可建立蓝牙连接,并显示传感器采集的测试数据,其运行界面见图4(b)。表1为不同天气下的环境温湿度测量数据,与温度计读取的数据相比误差在小数点范围之内。环境湿度在下雨天室内和室外的差距较大,且与天气预报的降雨概率预测对应。表2为人体食指离红外温度传感器不同距离时温度的测试值,测试当天室温为26摄氏度。从表中可以看出,距离在0cm~2cm时,温度变化明显;当距离超过2cm时,测试温度与室温相当。一般人的食指半径大约在1cm左右,根据之上红外温度传感器的测试计算式可知,测试的最佳距离为测试目标半径的2倍,大约在2cm左右。测试数据的结果完全符合计算要求。表3为不同方位情况下,SensorTag的电子罗盘XYZ三方向的磁场数据记录表。有表中可知,当方位变化时,三轴的读数会发生变化,可以通过坐标关系换算和三角函数关系可以得到具体的方位角度。

4结论

SensorTag涵盖低功耗蓝牙和压力、湿度、温度、罗盘、加速计及陀螺仪等共6种传感器,为传感器应用提供了1个集成平台,降低可穿戴终端等智能设备的开发难度。本文基于iOS系统和SensorTag,实现对环境温度、环境湿度、目标温度、气压、当前方位、目标角度和直线变化等数据的采集和显示。实验结果表明,所测试的数据正确,均在误差范围内,这为后续可穿戴终端以及相关的应用开发奠定了良好基础。

参考文献:

[1]赵静,王朝辉,陈平辉.智能穿戴终端产业发展分析与展望[J].移动通信,2014(21):85-89.

[2]《集成电路应用》编辑部.SensorTag套件简化低功耗蓝牙系统应用设计[J].集成电路应用,2013(10):26-27.

[3]周建亮,朱晓民.基于iOS平台智能点餐系统的设计与实现[J].软件,2015,36(1):131-134.

[4]顾喆,吕卫,褚晶辉.基于iOS终端的监控平台设计与实现[J].电子测量技术,2013,36(9):94-98.

[5]JoeConway,AaronHillegass.iOS编程[M].武汉:华中科技大学出版社,2013,3.

[6]张历,段发阶,李超.基于iOS平台的脉搏血氧仪设计与实现[J].计算机工程与应用,2015,51(8):53-60.

[7]吕松栋,黎卓芳.蓝牙4.0低功耗技术及其认证要求[J].现代电信科技,2011(10):17-20.

[8]RobinHeydon,陈灿峰,刘嘉.低功耗蓝牙开发权威指南[M].北京:机械工业出版社,2014,7.

作者:胡江 王阳 单位:浙江万里学院宁波市 EDA 重点实验室