在 Android 设备上启动 MATLAB Mobile。
如有提示,请登录到 Cloud。
在 MATLAB Mobile 的传感器屏幕上,点击要从中发送数据的传感器。
如果是远程,请将设备放置在您要采集传感器数据的位置。
在 MATLAB 中,创建一个 mobiledev 对象 m。
m = mobiledev
mobiledev with properties:
Connected: 1
Available Cameras: {'back' 'front'}
Logging: 0
InitialTimestamp: ''
AccelerationSensorEnabled: 1
AngularVelocitySensorEnabled: 1
MagneticSensorEnabled: 1
OrientationSensorEnabled: 1
PositionSensorEnabled: 1
Supported functions
在显示的内容中,1 表示启用或打开,0 表示未启用或关闭。在此示例中,您可以看到设备和 Cloud 已连接,所有传感器都已启用(从“传感器”屏幕),但尚未记录数据。该设备包含所有五个传感器,但您的设备不一定全部包含。如果您的设备没有某个传感器,则在显示的内容中,该传感器始终为 0。时间戳为空,因为尚未记录任何数据。
通过启用 Logging 属性,开始记录来自选定传感器的数据。
m.Logging = 1
该操作开始传输来自所有选定传感器的数据。您也可以点击设备上 MATLABMobile 中的开始按钮开始传输。
现在,您可以使用 disp 函数查看已启动数据记录的对象。
disp(m)
mobiledev with properties:
Connected: 1
Available Cameras: {'back' 'front'}
Logging: 1
InitialTimestamp: '06-08-2014 13:45:56.529'
AccelerationSensorEnabled: 1
AngularVelocitySensorEnabled: 1
MagneticSensorEnabled: 1
OrientationSensorEnabled: 1
PositionSensorEnabled: 1
Current Sensor Values:
Acceleration: [0.27 0.23 -10.19] (m/s^2)
AngularVelocity: [-0.22 0.07 0.06] (rad/s)
MagneticField: [3.56 1.56 -48.19] (microtesla)
Orientation: [85.91 -27.1 0.35] (degrees)
Position Data:
Latitude: 41.29 (degrees)
Longitude: -72.35 (degrees)
Speed: 25 (m/s)
Course: 83.6 (degrees)
Altitude: 200.1 (m)
HorizontalAccuracy: 9.0 (m)
Supported functions
在显示的内容中,您可以看到设备和 Cloud 已连接,现在正在记录数据。现在,您还可以看到 InitialTimestamp 属性值;还显示了传感器值,该值为创建对象时的当前测量值。
记录数据时,可以使用传感器读取属性显示任何传感器的当前值。Acceleration、AngularVelocity、Orientation 和 MagneticField 属性分别显示其传感器的当前读数。如果位置传感器正在记录数据,您可以使用 Latitude、Longitude、HorizontalAccuracy、Altitude、Course 和 Speed 属性获取单个位置读数。
要从传感器获取当前值,请使用 .。例如,要获取对象 m 的加速度读数,请使用以下命令:
m.Acceleration
ans =
0.6945 -0.2579 9.9338
要从位置传感器获取经度读数,请使用以下命令:
m.Longitude
ans =
-71.3517
您可以在 MATLAB 中使用传感器控制属性来打开和关闭传感器。这与您在步骤 2 中选择或取消选择设备上 MATLAB Mobile 中的传感器按钮相同。每个控制属性包含两个值:1 表示打开或已启用,0 表示关闭或已禁用。例如,要从 MATLAB 中关闭加速度传感器,请使用以下命令:
m.AccelerationSensorEnabled = 0
要重新打开加速度传感器,请使用以下命令:
m.AccelerationSensorEnabled = 1
停止记录传感器数据。
m.Logging = 0
您可以在记录时使用传感器读取属性来获取传感器的当前值,如步骤 7 所示。如果您要查看所有读数的完整日志,请使用日志函数。您可以在记录数据期间使用这些函数,也可以在停止数据记录后使用。每种传感器类型都有一个日志函数,例如,accellog 从加速度传感器返回记录的加速度数据。
要从对象 m 获取记录的加速度数据,请使用变量 a 表示记录的加速度数据,使用变量 t 表示时间戳。
[a, t] = accellog(m);
然后,您可以绘制数据或对数据进行其他处理。
完成会话后,删除该对象。
clear m