Android内蔵のセンサーを使ったアプリ開発に必須な「SensorSimulator」

openintents から 無料で公開されている.

sensorsimulator01a_anim

サポートされるセンサーは以下.

加速度計
時針
向き
温度

近接性
気圧
重力
線形加速度
回転ベクトル
ジャイロスコープ

できること

デバイスにセンサーイベントを送信
パソコン上及びデバイス上でそのイベントを記録
記録したイベントをデバイス上で再生

SensorSimulator - openintents - Sensor Simulator for simulating sensor data in real time. - Make Android applications work together. - Google Project Hosting

Downloads - openintents - Make Android applications work together. - Google Project Hosting

ダウンロードした zipアーカイブを展開して bin/ 以下.

sensorsimulator-2.0-rc1/
├── bin
│   ├── SensorRecordFromDevice-2.0-rc1.apk
│   ├── SensorSimulatorSettings-2.0-rc1.apk
│   └── sensorsimulator-2.0-rc1.jar

デバイス向けapk とパソコン向けjar が確認できる.

イベントの送受信は,

SensorSimulatorSettings-2.0-rc1.apk
sensorsimulator-2.0-rc1.jar

の2つ.

デバイスにインストールして, パソコン上でクライアントを起動.

$ cd sensorsimulator-2.0-rc1
$ adb install bin/SensorRecordFromDevice-2.0-rc1.apk
$ adb install bin/SensorSimulatorSettings-2.0-rc1.apk
$ open bin/sensorsimulator-2.0-rc1.jar

SensorSimulator

パソコンから送信したセンサーイベントの記録は, 「Senario Simulator」タブから.

実機でのセンサー操作の記録は, SensorRecordFromDevice-2.0-rc1.apk 側から.

その他ソースコード, サンプルなど, アーカイブに同梱されている.

sensorsimulator-2.0-rc1/
├── SensorRecordFromDevice
│   ├── AndroidManifest.xml
│   ├── assets
│   ├── build.properties
│   ├── build.xml
│   ├── default.properties
│   ├── lib
│   ├── libs
│   ├── proguard.cfg
│   ├── readme_SensorRecordFromDevice.txt
│   ├── res
│   │   ├── drawable-hdpi
│   │   │   └── icon.png
│   │   ├── drawable-ldpi
│   │   │   └── icon.png
│   │   ├── drawable-mdpi
│   │   │   └── icon.png
│   │   ├── layout
│   │   │   ├── list_item.xml
│   │   │   └── record.xml
│   │   └── values
│   │       └── strings.xml
│   ├── src
│   │   └── org
│   │       └── openintents
│   │           └── sensorsimulator
│   │               └── record
│   │                   ├── Global.java
│   │                   ├── SensorRecordFromDeviceActivity.java
│   │                   ├── SensorRecordService.java
│   │                   ├── SensorsAdapter.java
│   │                   └── SimpleSensor.java
│   ├── template\ of\ build-private.properties
│   └── template\ of\ local.properties
├── SensorSimulator
│   ├── TODOs
│   ├── build-release.xml
│   ├── configDir.txt
│   ├── interpolationFiles
│   │   ├── load.ss.xml
│   │   └── save.ss.xml
│   ├── readme_SensorSimulator.txt
│   └── src
│       ├── configPhone.txt
│       ├── org
│       │   └── openintents
│       │       └── tools
│       │           └── simulator
│       │               ├── Global.java
│       │               ├── SensorServer.java
│       │               ├── SensorServerThread.java
│       │               ├── SensorSimulator.java
│       │               ├── SensorsScenario.java
│       │               ├── SimulatorInstances.java
│       │               ├── TelnetSimulator.java
│       │               ├── controller
│       │               │   ├── AllSensorsController.java
│       │               │   ├── DeviceController.java
│       │               │   ├── SensorSimulatorController.java
│       │               │   ├── SensorsScenarioController.java
│       │               │   ├── StateControllerBig.java
│       │               │   ├── StateControllerSmall.java
│       │               │   ├── TelnetSimulatorController.java
│       │               │   ├── sensor
│       │               │   │   ├── AccelerometerController.java
│       │               │   │   ├── BarcodeReaderController.java
│       │               │   │   ├── GravityController.java
│       │               │   │   ├── GyroscopeController.java
│       │               │   │   ├── LightController.java
│       │               │   │   ├── LinearAccelerationController.java
│       │               │   │   ├── MagneticFieldController.java
│       │               │   │   ├── OrientationController.java
│       │               │   │   ├── PressureController.java
│       │               │   │   ├── ProximityController.java
│       │               │   │   ├── RotationVectorController.java
│       │               │   │   ├── SensorController.java
│       │               │   │   ├── TemperatureController.java
│       │               │   │   └── WiiAccelerometerController.java
│       │               │   └── telnet
│       │               │       ├── BatteryAddonController.java
│       │               │       └── GPSAddonController.java
│       │               ├── main
│       │               │   └── SensorSimulatorMain.java
│       │               ├── model
│       │               │   ├── SensorsScenarioModel.java
│       │               │   ├── StateModel.java
│       │               │   ├── sensor
│       │               │   │   ├── SensorSimulatorModel.java
│       │               │   │   └── sensors
│       │               │   │       ├── AccelerometerModel.java
│       │               │   │       ├── BarcodeReaderModel.java
│       │               │   │       ├── GravityModel.java
│       │               │   │       ├── GyroscopeModel.java
│       │               │   │       ├── LightModel.java
│       │               │   │       ├── LinearAccelerationModel.java
│       │               │   │       ├── MagneticFieldModel.java
│       │               │   │       ├── OrientationModel.java
│       │               │   │       ├── PressureModel.java
│       │               │   │       ├── ProximityModel.java
│       │               │   │       ├── RotationVectorModel.java
│       │               │   │       ├── SensorModel.java
│       │               │   │       ├── TemperatureModel.java
│       │               │   │       └── WiiAccelerometerModel.java
│       │               │   └── telnet
│       │               │       ├── FileRunnable.java
│       │               │       ├── FileThread.java
│       │               │       ├── TelnetServer.java
│       │               │       ├── TelnetSimulatorModel.java
│       │               │       ├── Vector.java
│       │               │       ├── WiiMoteData.java
│       │               │       └── addons
│       │               │           ├── BatteryAddonModel.java
│       │               │           └── GPSAddonModel.java
│       │               ├── util
│       │               │   ├── FileExtensionFilter.java
│       │               │   ├── HtmlTextPane.java
│       │               │   ├── Interpolate.java
│       │               │   ├── JTextFieldLimit.java
│       │               │   ├── PhoneSensors.java
│       │               │   ├── SynchronizedInteger.java
│       │               │   └── XMLUtil.java
│       │               └── view
│       │                   ├── DevicePanel.java
│       │                   ├── SensorsScenarioView.java
│       │                   ├── StateViewBig.java
│       │                   ├── StateViewSmall.java
│       │                   ├── gui
│       │                   │   └── util
│       │                   │       ├── SensorButton.java
│       │                   │       └── TimeScrollBar.java
│       │                   ├── help
│       │                   │   └── HelpWindow.java
│       │                   ├── sensor
│       │                   │   ├── AllSensorsView.java
│       │                   │   ├── DeviceView.java
│       │                   │   ├── SensorSimulatorView.java
│       │                   │   └── sensors
│       │                   │       ├── AccelerometerView.java
│       │                   │       ├── BarcodeReaderView.java
│       │                   │       ├── GravityView.java
│       │                   │       ├── GyroscopeView.java
│       │                   │       ├── LightView.java
│       │                   │       ├── LinearAccelerationView.java
│       │                   │       ├── MagneticFieldView.java
│       │                   │       ├── OrientationView.java
│       │                   │       ├── PressureView.java
│       │                   │       ├── ProximityView.java
│       │                   │       ├── RotationVectorView.java
│       │                   │       ├── SensorView.java
│       │                   │       ├── TemperatureView.java
│       │                   │       └── WiiAccelerometerView.java
│       │                   └── telnet
│       │                       ├── TelnetSimulatorView.java
│       │                       └── addons
│       │                           ├── BatteryAddonView.java
│       │                           └── GPSAddonView.java
│       └── pics
│           ├── button_start.png
│           ├── button_stop.png
│           ├── icon_add.png
│           ├── icon_copy.png
│           ├── icon_cursor.png
│           ├── icon_delete.png
│           ├── icon_edit.png
│           ├── icon_help.png
│           ├── icon_play_pause.png
│           ├── icon_sensor_simulator.png
│           ├── icon_stop.png
│           ├── menu_console.png
│           ├── menu_help.png
│           ├── menu_sensor_simulator.png
│           └── menu_settings.png
├── SensorSimulatorSettings
│   ├── AndroidManifest.xml
│   ├── build-lib-content.txt
│   ├── build.properties
│   ├── build.xml
│   ├── default.properties
│   ├── libs
│   ├── proguard.cfg
│   ├── readme_SensorSimulatorSettings.txt
│   ├── res
│   │   ├── drawable
│   │   │   ├── mobile001a.png
│   │   │   ├── mobile001a_32.png
│   │   │   ├── mobile_shake001a_32.png
│   │   │   ├── mobile_shake_application001.png
│   │   │   ├── mobile_shake_application001a.png
│   │   │   ├── settings001a.png
│   │   │   └── settings001a_32.png
│   │   ├── drawable-hdpi
│   │   ├── drawable-ldpi
│   │   ├── drawable-mdpi
│   │   ├── layout
│   │   │   ├── sensorsimulator.xml
│   │   │   └── sensorsimulator_row.xml
│   │   └── values
│   │       └── strings.xml
│   ├── src
│   │   └── org
│   │       └── openintents
│   │           └── sensorsimulator
│   │               ├── SensorSimulatorSettingsActivity.java
│   │               ├── db
│   │               │   ├── SensorSimulator.java
│   │               │   └── SensorSimulatorConvenience.java
│   │               ├── dbprovider
│   │               │   └── SensorSimulatorProvider.java
│   │               └── hardware
│   │                   ├── Sensor.java
│   │                   ├── SensorEvent.java
│   │                   ├── SensorEventListener.java
│   │                   ├── SensorManagerSimulator.java
│   │                   ├── SensorNames.java
│   │                   └── SensorSimulatorClient.java
│   ├── template\ of\ build-private.properties
│   └── template\ of\ local.properties
├── bin
│   ├── SensorRecordFromDevice-2.0-rc1.apk
│   ├── SensorSimulatorSettings-2.0-rc1.apk
│   ├── readme_SensorRecordFromDevice.txt
│   ├── readme_SensorSimulator.txt
│   ├── readme_SensorSimulatorSettings.txt
│   └── sensorsimulator-2.0-rc1.jar
├── lib
│   └── sensorsimulator-lib-2.0-rc1.jar
├── readme.txt
├── release
│   ├── RELEASE-CHECKS.txt
│   ├── build.properties
│   ├── build.xml
│   └── readme.txt
└── samples
    ├── SensorRealDevice
    │   ├── AndroidManifest.xml
    │   ├── default.properties
    │   ├── res
    │   │   ├── drawable
    │   │   │   └── icon.png
    │   │   ├── layout
    │   │   │   └── main.xml
    │   │   └── values
    │   │       └── strings.xml
    │   └── src
    │       └── org
    │           └── openintents
    │               └── samples
    │                   └── SensorRealDevice
    │                       └── SensorRealDeviceActivity.java
    └── SensorSimulatorDemo
        ├── AndroidManifest.xml
        ├── default.properties
        ├── lib
        │   └── gsoc_openintents_sensorsimulator.jar
        ├── res
        │   ├── drawable
        │   │   └── icon.png
        │   ├── layout
        │   │   └── main.xml
        │   └── values
        │       └── strings.xml
        └── src
            └── org
                └── openintents
                    └── samples
                        └── SensorSimulatorDemo
                            └── SensorSimulatorDemoActivity.java
82 directories, 185 files

実機でシナリオ作成して, 繰り返しテストするのに良いだろう,とか.


関連ワード:  Androidアプリツールライブラリ開発