该方法可实现安卓手机内置的加速度传感器、陀螺仪、磁场数据、角速度传感器和GPS数据采集到MATLAB。
1.硬件准备:Android手机、电脑,在同一局域网;
2.软件准备:安卓手机安装MATLABmobile(以下简称mobile);电脑安装MATLAB(R2014a以上版本,以下简称MATLAB),且需安装MATLAB Support Package for Android Sensors in MATLAB。
3.具体步骤:
① 在MATLAB中建立与mobile连接,MATLAB命令行输入connectoron ,第一次联系需要输入密码。
connector on复制代码
1.png (5.15 KB, 下载次数: 58)
2017-5-5 21:36 上传
DNS name为主机名,IPaddress为IP地址,如192.168.1.xxx,默认为31415端口号,一般不需要修改。
②打开Mobile,选择登录电脑,输入IP点击地址(计算机局域网地址)和密码Connect连接到计算机。
③ 连接成功后,在MATLAB中建立一个mobiledev对象,命令行输入:
m = mobiledev;复制代码
3.png (8.18 KB, 下载次数: 56)
2017-5-5 21:36 上传
其中 Connectd 只读,表示连接状态,1 连接,0不连接。Logging = 1开始采集,Logging = 0 结束采集,AccelerattionSensorEnabled = 1表示 其他传感器类似于打开加速度传感器。默认采样率为10Hz,如果要修改,可以通过m. SampleRate修改,最高1000Hz. 如m. SampleRate = ‘high意思是采样率为1000Hz, m. SampleRate = ‘medium表示采样率为10Hz, m. SampleRate = ‘medium表示采样率为1Hz。
④数据采集和传感器数值采集的开始/结束。
采集过程可控制两种方法:
● MATLAB:m.Logging = 开始收集,m.Logging = 0 结束采集。
● Mobile:点击Start Sending开始收集,点击Stop Sending结束采集。
4.png (59.16 KB, 下载次数: 38)
2017-5-5 21:39 上传
在命令行中输入当前加速度传感器值m. Acceleration获取其他传感器,如AngularVelocity、Orientation、MagneticField等。
具体可用properties(m)查看mobiledev所有属性,或查看帮助文档中的介绍。 ⑤在整个采集过程中获得所有值(不必要)。收集结束后,可以通过[a, t] = accellog(m);在整个采集过程中获得加速度传感器的值,然后才能进行 其他操作,如绘图、滤波等。
[a, t] = accellog(m);
plot(t,a);复制代码
5.png (39.45 KB, 下载次数: 38)
2017-5-5 21:38 上传
通过其它传感器angvellog角速传感器数据;magfieldlog磁场 ...等等。放弃本采集过程的结果通过discardlogs。
⑥采集过程结束后:清除变量并断开连接:
clear m;
connector off复制代码