一种智能手机传感器数据在线采集与实时处理方法

文档序号:8298956阅读:7929来源:国知局
一种智能手机传感器数据在线采集与实时处理方法
【技术领域】
[0001] 本发明涉及一种对手机内置传感器数据做在线采集且实时处理与分析的方法,具 体涉及一种通过手机蓝牙模块将手机传感器采集的数据实时传送至MATLAB做实时数值处 理的方法。
【背景技术】
[0002] 智能手机正在迅速成为个人计算和通讯的核心设备,得益于硬件技术的进步和移 动互联网的普及。基于智能手机的感知手段日益丰富,可感知信息的维度不断增加,在健 康、医疗、生活、交通、教育和娱乐等领域的应用层出不穷。目前,智能手机已内置了种类繁 多的传感器;与此同时,越来越多的外置传感器也能通过无线网络或有线接口与智能手机 相连。这些传感器提供了感知智能手机用户和环境的极佳途径。常见的智能手机内置传感 器包括加速度传感器、方向传感器、磁力传感器、陀螺仪、GPS、距离传感器、环境光传感器、 摄像头、麦克风、Wi-Fi、蓝牙、近场通讯(NFC)等,而且新版本的Android原生系统也不断增 加智能手机对更多内置传感器的支持。为了获取手机内置传感器的强大感知能力,实现对 传感器数据的实时采集、处理、分析变得十分必要。
[0003] 目前,MATLAB是国内外学者使用最为广泛的数值分析软件,是美国MathWorks公 司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计 算语言和交互式环境,为科学研究、工程设计以及需要进行数值计算的众多科学领域提供 了一种全面的解决方案,代表了当今国际科学计算软件的先进水平。MATLAB包括使用方便 的一系列函数和工具,此外,还包括许多专门领域的模块集和工具箱,它们都是由特定领域 的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写 代码。但是,其大部分情况下都是对已经采集好的数据进行离线处理,缺乏对实验数据实时 处理的支持。当面对"实时对比不同数据处理方法效果优劣"和"数据动态特征的捕获、分 析、提取"等问题时,变的无能为力。因此开发一种能够将智能手机传感器数据在线采集并 发送到上位机,由安装在上位机的MATLAB进行实时处理与分析的方法变得十分有意义。

【发明内容】

[0004] 本发明提供一种智能手机传感器数据在线采集与实时处理方法,解决了手机内置 传感器数据不能用MATLAB实时分析、处理的问题。
[0005] 为此,所采用的技术方案为: 一种智能手机传感器数据在线采集与实时处理方法,包括智能手机及安装有MATLAB软件的上位机,该处理方法利用智能手机App应用实时采集内置传感器数据,利用智能手 机通过内置蓝牙模块将采集到的数据实时发送到上位机,上位机利用蓝牙适配器接收智能 手机发送的传感器数据,上位机中的MATLAB软件异步读取虚拟串口数据,分析、处理并绘 制实时波形。
[0006] 该处理方法的具体步骤为: 步骤1 :安装智能手机App,该App具有手机内置传感器数据采集和蓝牙通信功能; 步骤2 :上位机开启蓝牙功能,然后利用蓝牙适配器驱动软件创建蓝牙COM虚拟串口, 并通过计算机管理中设备管理器查看虚拟出的串口编号,该步骤完成后上位机将作为蓝牙 通信服务端等待智能手机配对连接请求; 步骤3 :打开智能手机App应用,选择传感器类型并设定采样频率,开启蓝牙功能,根据 设置的蓝牙名字搜索上位机蓝牙适配器并建立配对连接,待连接成功后便可通过该App利 用手机蓝牙通信向上位机实时发送内置传感器采集到的数据; 步骤4 :上位机中MATLAB软件通过串口操作相关函数异步读取COM虚拟串口接收到的 字符流数据,经解析后把字符流转化为实际数值型数据,然后利用MATLAB函数进行处理、 分析,并将处理结果数据不断迭代存入6*N定长矩阵M中,其中N根据显示窗口长度设定, 即每读入一个完整数据该矩阵就把最新数据加入,同时丢弃较早存入的数据,维持矩阵的 长度为固定值N,然后利用绘图函数绘制当前矩阵M中存放数据的波形,最后循环调用刷屏 函数绘制不同时刻每帧的波形,实现动态数据波形显示效果。
[0007] 所述步骤3中手机APP与上位机之间的蓝牙通信其具体方法为: 蓝牙Client端首先获得BluetoothAdapter对象,通过Client端Adapter对象的getRemoteDevice (address)方法获得设备BluetoothDevice,其中参数address是Server 端设备的MAC地址;BluetoothDevice调用createRfcommSocketToServiceRecord(MY_ UUID)方法获得Socket对象,其中的MY_UUID是Server端的UUID ;通过Socket, connect() 方法发送连接请求,这是一个堵塞操作,等待Server端的应答。如果这个过程没有配对,系 统会弹出对话框进行配对。在Server端先获得BluetoothAdapter对象,通过Server端 Adapter对象的adapter. listenUsingRfcommWithServiceRecord(Name, MY_UUID)方法获 得ServerSocket对象;其中,Name是一个服务名字可以自己指定,MY_UUID是Server端的 UUID ;ServerSocket调用accept()阻塞操作方法监听客户端连接,直到Client端有连接 请求;如果这个过程没有配对,系统会弹出对话框进行配对。
[0008] 所述步骤4中上位机中MATLAB软件读取串口接收到的字符流数据的解析方法 为: 通过Socket. get0utputStream()方法获得字符输出流outputStream对象,该对象中 的write方法用来实现数据的发送;SDK源码中该方法的实现原型为:publicvoid write (byte[]buffer),其限定参数只能为字符数组,因此无论传输任何类型的数据都必须首先 按照预定义的转换格式,将实际数据转换为字符数组类型,之后才能调用write方法以字 符流的方式发送出去;鉴于SDK这种传输实现方式的限制,导致数据接收端也必须对接收 到的字符流重新按预定义解析格式对数据做解析才能得到实际数据格式。所述预定义解析 格式是预定义解析格式1或预定义解析格式2,预定义解析格式1是在字符流数据中加入 标记字符,如'A'、'0'辅助解析,其形式如字符序列【xAyAzxOyOz】所示;预定义解析格式2 是根据多路数据特性分块进行解析,其形式如字符序列【x y z x y z】所示。
[0009] 所述内置传感器包括加速度传感器、方向传感器、陀螺仪、环境光传感器、麦克风、 Wi-Fi〇
[0010] 与现有的手机传感器数据处理、分析方法和技术相比,本发明具有以下优点:(1) 通过蓝牙实时传输手机传感器采集的原始数据,减小数据存储对手机内存空间的大量占 用,同时无线传输使得实验中无需连线,彻底摆脱物理传输线路的限制,极大增强数据采集 时手机的移动灵活性,只要在蓝牙可通信范围内(蓝牙4. 0最远可达100m)都可进行大范 围、复杂场所下实验数据的采集;(2)利用MATLAB强大数值处理能力对传感器数据做实时 分析、处理,能有效解决场景1中传感器数据动态特征捕获、分析、提取的问题;(3)本发明 所实现的软件示波器功能,能够动态绘制数据实时波形曲线,直观反映数据状态,为实验决 策提供有效参考。
[0011] 本发明解决了在实验过程中手机内置传感器数据采集、分析、处理三位一体的实 时同步性问题,适用于将智能手机传感器采集的数据直接发送到上位机中,并在安装有 MATLAB软件的上位机中对实验数据做实时分析。它为数据的在线采集、实时分析、处理及效 果反馈提供便利手段,具有在线、实时、直观的优点。
【附图说明】
[0012] 图1为本发明实现原理示意图; 图2为本发明实现整体架构图; 图3为本发明蓝牙Socket通信流程图; 图4为本发明串口调试助手获取的格式1型字符流; 图5为本发明预
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1