Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic Sensor Testing using Household Items #33

Open
lukpueh opened this issue May 13, 2016 · 9 comments
Open

Automatic Sensor Testing using Household Items #33

lukpueh opened this issue May 13, 2016 · 9 comments

Comments

@lukpueh
Copy link

lukpueh commented May 13, 2016

Recently, we discussed ideas about how to programmatically test Sensors found on Android devices with real values. Below you find a list of testing setups and needed resources for almost all of the available Android Sensors.
Most of the ideas include a moving device (e.g. a turntable) that can be switched on/off programmatically using a Smart Power Outlet and other devices (e.g. light source, heat source, electromagnet, ...) that are placed around the moving device with the Android devices attached to it.

This document is based on Simple, Repeatable Smartphone Sensor Calibration Using Elementary Physics And Household Items by courtesy of @aaaaalbert and ideas from @JustinCappos.

Testing setups per Sensors

Move/accelerate device on three axis
accelerometer, linear_acceleration, orientation, gravity, rotation_vector, gyroscope, gyroscope_uncalibrated, game_rotation_vector, geomagnetic_rotation_vector
Resources:

  • Smart Power Outlet
  • Something that moves, e.g. turntable
  • Ramp
  • Hinge
  • duct tape :)

If the device lies flat on the turntable we can only cover two axis. We could attach one end of the phone to a hinge attached to the turntable and place a fixed ramp next to the turntable so that when the device turns by, the free part slides over the ramp and hence changes its inclination. Also I don't know if the acceleration produced when starting/stopping the turntable would be significant enough.

Change ambient temperature and pressure
ambient_temperature, pressure
Resources:

  • Smart Power Outlet
  • Heat source, e.g. incandescent light bulb, hair dryer, electric heater
  • Heat isolation material

Change ambient humidity
relative_humidity
Resources:

  • Smart Power Outlet
  • Humidifier

Change light by switching on/off or moving towards/away from light source
light
Resources:

  • Smart Power Outlet
  • (Something that moves, e.g. turntable)
  • Light source
  • Light isolation

Move device towards/away from object
proximity
Resources:

  • Smart Power Outlet
  • Something that moves, e.g. turntable
  • An object that bounces back whatever signal is used for the sensor

Change magnetic field by switching on/off or moving towards/away form electromagnetic device
magnetic_field, magnetic_field_uncalibrated
Resources:

  • Smart Power Outlet
  • (Something that moves, e.g. turntable)
  • Electromagnet or any electrical device

Monitor battery drain
Battery
Attaching the Android device to a power source in case it moves on turntable will be difficult anyways

Change strength/availability by switching on/off or moving towards/away from a WiFi access point or placing obstacles between signal source and device
WiFi interface, cellular network
Resources:

  • Smart Power Outlet
  • (Something that moves, e.g. turntable)
  • WiFi access point(s)
  • Isolating material (Any ideas what to use?)
  • Jammer (I guess they are expensive and other people in the lab won't be happy)

Sensors/Services not covered:
Heart rate, location, microphone, speaker

@lukpueh lukpueh changed the title Automatic testing using household items Automatic Sensor Testing using Household Items May 13, 2016
@JustinCappos
Copy link

Won't the turntable make noise that you can use to test the mic?

Additionally / alternatively, can you just make a noise in the speaker and
listen for it with the mic?

Thanks,
Justin

On Fri, May 13, 2016 at 1:52 PM, lukpueh notifications@github.com wrote:

Recently, we discussed ideas about how to programmatically test Sensors
found on Android devices with real values. Below you find a list of testing
setups and needed resources for almost all of the available Android
Sensors.
Most of the ideas include a moving device (e.g. a turntable) that can be
switched on/off programmatically using a Smart Power Outlet and other
devices (e.g. light source, heat source, electromagnet, ...) that are
placed around the moving device with the Android devices attached to it.

This document is based on Simple, Repeatable Smartphone Sensor
Calibration Using Elementary Physics And Household Items
https://docs.google.com/document/d/1ZLt7u0an-TQPOB4TdhaznQjiHzpAQffE8ekbUOXWna0/edit?pref=2&pli=1#
by courtesy of @aaaaalbert https://github.com/aaaaalbert and ideas from
@JustinCappos https://github.com/JustinCappos.
Testing setups per Sensors

Move/accelerate device on three axis
accelerometer, linear_acceleration, orientation, gravity, rotation_vector,
gyroscope, gyroscope_uncalibrated, game_rotation_vector,
geomagnetic_rotation_vector
Resources:

  • Smart Power Outlet
  • Something that moves, e.g. turntable
  • Ramp
  • Hinge
  • duct tape :)

If the device lies flat on the turntable we can only cover two axis. We
could attach one end of the phone to a hinge attached to the turntable and
place a fixed ramp next to the turntable so that when the device turns by,
the free part slides over the ramp and hence changes its inclination. Also
I don't know if the acceleration produced when starting/stopping the
turntable would be significant enough.

Change ambient temperature and pressure
ambient_temperature, pressure
Resources:

  • Smart Power Outlet
  • Heat source, e.g. incandescent light bulb, hair dryer, electric
    heater
  • Heat isolation material

Change ambient humidity
relative_humidity
Resources:

  • Smart Power Outlet
  • Humidifier

Change light by switching on/off or moving towards/away from light source
light
Resources:

  • Smart Power Outlet
  • (Something that moves, e.g. turntable)
  • Light source
  • Light isolation

Move device towards/away from object
proximity
Resources:

  • Smart Power Outlet
  • Something that moves, e.g. turntable
  • An object that bounces back whatever signal is used for the sensor

Change magnetic field by switching on/off or moving towards/away form
electromagnetic device

magnetic_field, magnetic_field_uncalibrated
Resources:

  • Smart Power Outlet
  • (Something that moves, e.g. turntable)
  • Electromagnet or any electrical device

Monitor battery drain
Battery
Attaching the Android device to a power source in case it moves on
turntable will be difficult anyways

Change strength/availability by switching on/off or moving towards/away
from a WiFi access point or placing obstacles between signal source and
device

WiFi interface, cellular network
Resources:

  • Smart Power Outlet
  • (Something that moves, e.g. turntable)
  • WiFi access point(s)
  • Isolating material (Any ideas what to use?)
  • Jammer (I guess they are expensive and other people in the lab won't
    be happy)

Sensors/Services not covered:
Heart rate, location, microphone, speaker


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#33

@yyzhuang
Copy link
Contributor

👍 duct tape, humidifier.

I'm not sure if any electric device can affect the magnetic field, I could be wrong. IMO magnetic object will definitely have an impact.

@lukpueh
Copy link
Author

lukpueh commented May 16, 2016

I think there are several ways to produce noise. I don't know if we can use a phone's speaker and its microphone at the same time, but I will find out.

@aaaaalbert
Copy link
Contributor

  • Light: A computer screen is also a controllable light source.
  • Three-axis acceleration: One-dimensional acceleration will suffice to stimulate three accelerometers. Just point the acceleration vector so that every axis is partially stimulated. (To get some reading, tilt the phone along two axes and use the gravitational acceleration.) You could also test what effect the device's vibrator has.
  • Wireless interfaces: Try mesh wire.
  • Relative humidity: This is a temperature-dependent measure, and temperature is likely easier to control.
  • Magnetic field: Any single conductor carrying sufficient current will do. Unmodified cables for USB chargers or wall outlets etc. won't work too well, as the magnetic field induced by currents in opposing conductors will mostly cancel out.

(A filament lamp should be able to do both heat and magnetic field.)

@RohanBhirangi
Copy link

  • WiFi: Iron or Aluminium can be used as an isolating material. An iron or aluminium sheet/box (attached to the turntable or something that moves) connected to the smart power outlet might help.
  • Proximity: Any solid material might help trigger the proximity sensor. The material can be attached to a crane-like device which can be controlled by the smart power outlet.

I will try to find devices that suit our needs.

@lukpueh
Copy link
Author

lukpueh commented Jun 23, 2016

I reviewed a couple of Smart Power Outlets some time ago and I never posted my findings. So here they are:

I’d go for a Belkin WeMo, because it seems to be the one that has been used most in an open way.
There is an unofficial Python library/REST API on PyPi which has a long release history and is under active development.
See also Bradut’s comment on 23 March, 2016 in

They are sold on amazon for about 35 Dollars. I think we should get a couple of those.

@yyzhuang
Copy link
Contributor

@lukpueh sorry you mentioned:

So here they are:

Is this the link to it? http://www.makeuseof.com/tag/6-smart-plugs-arent-belkin-wemo/

@RohanBhirangi
Copy link

RohanBhirangi commented Oct 13, 2016

Found a couple of turn tables around $30. Might be useful for the task.
Product1

Product2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants
@lukpueh @JustinCappos @yyzhuang @aaaaalbert @RohanBhirangi and others