matlab数据流,传感器数据流演示 - MATLAB & Simulink - MathWorks 中国

在 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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值