此示例显示如何在Android™或IOS移动设备上的多个传感器在一个时间轴上绘制数据。角速度和取向的测量将从设备收集并绘制绝对时间。这将允许基于实际测量时间来可视化两个传感器之间的数据之间的相关性。
为了从Matlab®中的移动设备接收数据,您需要在移动设备上安装和设置Matlab Mobile™应用程序。
从MATLAB Mobile设置登录到MathWorks®云。
在这一点命令Matlab Mobile的屏幕,使用Mobiledev.
命令创建表示移动设备的对象。
m=移动电视;
显示的输出应该显示连接:1
,表明Mobiledev.
对象已成功建立与应用程序的连接。
使用适当的Mobiledev.
在设备上启用传感器的属性。
m.angularvelocitysensorenabled = 1;m.orientationsensorenabled = 1;
启用传感器后,传感器MATLAB Mobile的屏幕将显示传感器测得的电流数据。这个记录
属性允许您开始将传感器数据发送到Mobiledev.
。
M.Logging = 1;
该设备正在发送传感器数据。
开始记录时,设备平放在桌子上,屏幕朝上。角速度传感器的正Y轴定义为从设备顶部伸出。方向传感器的正滚动被定义为当面对轴的正方向时绕Y轴顺时针旋转。
在日志记录期间,设备围绕其围绕其围绕其朝上并面朝下降几次。这产生了角度速度和滚动变化的y轴变化。
这记录
属性再次用于使设备停止向发送传感器数据Mobiledev.
。
m.logging = 0;
每个传感器的数据都可以从Mobiledev.
目的。创建两个不同的时间戳变量,因为可以同时通过设备记录角速度和方向数据。
[AV,TAV] = Angvellog(M);[o,to] = Orientlog(m);
感兴趣的传感器数据被分离成单独的变量并绘制出来。
yangvel = av(:,2);Roll = O(:,3);情节(TAV,Yangvel,卷);传奇('y角速度'那'卷');Xlabel('相对时间(s)');
数据相对于逐秒绘制数据Mobiledev.
sinitialtimestamp.
财产。此属性提供传感器记录的第一个数据点的绝对时间并将其发送到MATLAB。它充当使用诸如的功能访问的所有传感器数据的时间戳的参考点Angvellog.
和Orientlog.
,相对于initialtimestamp.
。
将所有传感器时间戳转换为绝对时间戳,initialtimestamp.
值被转换为a日期时间
目的。以秒为单位的单个传感器时间戳被转换为秒
. 这简化了将相对时间戳转换为绝对时间戳的日期算法。
tinit = datetime(m.initialtimestamp,'InputFormat'那'dd-mm-yyyy hh:mm:ss.sss');唐佛= Tinit +秒(TAV);tacient = tinit +秒(至);
两个传感器现在都有绝对的时间戳使用日期时间
。这使得可以轻松地可视化传感器读数中发生重大事件的实际时间。
方向传感器使用程度的单位,而角速度传感器使用每秒弧度的单位。在策划之前,yangvel.
被转换为每秒度数。
yangveldeg = yangvel * 180 / pi;情节(唐佛,阳德格,硬环,卷);传奇('y角速度'那'卷');Xlabel('绝对时间');
关闭启用的传感器并清除Mobiledev.
。
m.angularvelocitysensorenabled = 0;m.orientationsensorenabled = 0;清除m;