Android设备上的传感器模拟工具:SensorSimulator
Android设备上的传感器模拟工具:SensorSimulator
本文介绍一个Android设备上的传感器模拟工具:SensorSimulator。
为什么要使用SensorSimulator
1.没有设备。
Android开发中要用到某些传感器,没有真实设备,或者已有的设备不具备某种传感器。
这种情况当然首先是买设备,毕竟程序最终是要跑在真实设备上的,再山寨的应用也务必在真实设备上跑一跑比较好,(真实设备用多了之后就发现不怎么爱用模拟器了)。
当然,考虑实际情况,在不一定立即有设备的情况下,可以用这个传感器模拟工具来开发。
2.比使用真实设备更容易控制、更方便。
即便有装备好的真实设备,利用这个工具也可以进行一些参数的具体调试,毕竟,要严格控制真实设备的各种角度,人手工操作不太准确;
并且开发的时候一边要写代码,一边要动来动去也不太方便。
3. Telnet Simulator部分的功能可以模拟GPS和电池电量。
因为GPS必须是在室外才可以得到数据,所以这项模拟功能很有必要(当然,Eclipse也可以往模拟器发送GPS的经纬度坐标值)。
SensorSimulator功能:
关于该项目功能的详细介绍可以参看文后的链接。
可以模拟的传感器有:
accelerometer(加速度计), compass(罗盘), orientation(方向传感器), temperature(温度传感器), light(光传感器), proximity(接近传感器), pressure(压力传感器), linear acceleration(线性加速度计), gravity(重力感应传感器), gyroscope(陀螺仪) and rotation vector sensors(旋转向量传感器)。
这个SensorSimulator工具可以把模拟的传感器数据传到Android模拟器,也可以记录真实设备上的传感器数据。
SensorSimulator下载和安装:
1.下载:
去这个链接
http://code.google.com/p/openintents/wiki/SensorSimulator
有项目相关介绍,然后点击其中的下载链接,进入下载页面:
http://code.google.com/p/openintents/downloads/list?q=sensorsimulator
下载最新的sensorsimulator-x.x.x.zip压缩包。
我写这篇文章的时候最新的压缩包是叫sensorsimulator-2.0-rc1.zip。
2.解压这个压缩包,得到一系列的东东:
readme中包含了目录结构的介绍和简单的使用指南。
3.安装手机端的程序
bin目录下扩展名为.apk的程序就是手机端的程序了。
有两个安装包。
请连好设备或者打开模拟器。
如果是豌豆荚和真机的话双击应该就能安装。
不行的话可以用命令行,进入当前路径后输入:
adb install SensorSimulatorSettings-2.0-rc1.apk
adb install SensorRecordFromDevice-2.0-rc1.apk
包名不同的话,请注意更改包名。。
安装完成后命令行会有Success提示。
在手机或模拟器上出现的图标是这样的:
4.打开PC端的程序:
bin目录下扩展名为.jar的程序即为PC端程序。
我是双击就可以执行,这个貌似跟配置有关,如果你双击执行不了,也可以进入命令行执行下列命令:
java –jar sensorsimulator-2.0-rc1.jar
后面是具体的jar包名,如果不同请注意修改。
成功后出现的界面如下:
5.运行手机端程序,进行连接
运行手机端程序,填入PC端程序中左下角显示的IP地址还有端口号。
端口号显示在PC程序设置面的Socket中。
设置完之后转入Testing Tab,选择连接。
开始的时候没有连接成功,用的IP是192.168.1.101。
吃了个饭回来换成10.0.2.2就连接成功了!
连接好后如下图:
左边是PC端程序,右边是我的模拟器。
6.使用PC端软件控制传感器数据
连接好后就可以利用PC端软件进行各种调节。
注意,选中的传感器类型变化之后需要Disconnect,再重新Connect一下。
可以看到模拟器中显示的数字是和数据显示区域实时对应的,不需要手动刷新。
这样,通过鼠标,就可以在PC端改变模拟器的传感器数值了。
参考资料
Google code:
http://code.google.com/p/openintents/wiki/SensorSimulator
相关介绍:
http://www.openintents.org/en/node/6
http://www.openintents.org/en/node/23