This page was last modified 07:36, 18 June 2008.
Sensor API
From Forum Nokia Wiki
| "Danger, Will Robinson!" |
|---|
|
Mobile sensor APIs (available in the Sensor plug-in for S60 SDK [1]) allow us to get the data from the embedded sensors.
That 3D accelerometer inside N95 , N93i or N82 is from STMicroelectronics (type LIS302DL). The European chip maker STMicroelectronics (STM)has also supplied the motion-control chip for the Nintendo Wii console's controller. This chip is built around a technology known as Micro Electro-Mechanical Systems (MEMS). Essentially chips with tiny moving parts like gears.
More information about it can be found in the public spec from ST web site http://www.st.com/stonline/products/families/sensors/accelerometers.htm
Contents |
N95 with firmware < 20.0.015
It allows us to get notification about the phone tilt for example whether the phone is tilted 0,90,180,270 degrees.
The UID of the sensor is 0x303E. This UID can be used to get the call back notifications about the movement. The following link, sensor example, has the example for 5500 sensor.The UID of the 5500 sensor is 0x10273024. Simply changing in the file SensorTestAppui.cpp the 5500 UID to the N95 one allows us to get the call backs for N95.
Note that with N95 you can only get one sensor and it gives only 4 different values (0/90/180/270), whereas with 5500 you get lot more information as well as there is tap sensor included with 5500.
Until you can upgrade your firmware to V 20.0.015, you can also use the N95 RD Accelerometer plug-in described in Nokia Research Center's activity monitor project. This allows for a higher amount of detail to be received from the N95 accelerometer. The MovingBall example on that page also gives a good indication of what is possible with the N95 accelerometer. Please note that this R&D API is not binary compatible with the Sensor API offered by the S60 Platform.
N95 with firmware >= 20.0.015
SensorAPI example used 'out-of the-box' give you the values on the 3 axis not limited to 4 values.
Note however the SensorAPI example used with N95 V 20.0.015 (13/11/07) and the UID 0x303E still give only one axis with 4 values.
Device coverage
- Here's a panel for matching sensor API and R&D Plugin and device supporting it.
| Device | Sensor API | R&D Plugin |
| N95 firmware < 20.0.015 | Tilt only | v |
| N95 firmware >= 20.0.015 [0x303E] | Tilt only | v |
| N95 firmware >= 20.0.015 [0x10273024] | v | v |
| N95 8GB | v | v |
| N93i firmware < 20.0.084 | ? | v |
| N93i firmware >= 20.0.084 | v | v |
| N82 | v | v |
| 5500 | v | |
Applications
Several developers have announced applications that make use of 5500 , N95,N93i or N82's sensors using either the Sensor API (previouly used with only 5500) or the middleware released by the Nokia Research Center (NRC). Here are the ones known at this time:
| Application | Author | Download link | Video demo | Supported API |
| Activity Monitor | NRC | Download | | Plugin |
| MovingBall | NRC | Download | View | Plugin |
| Shake Control | The Dude | Not released. | View | Plugin |
| RotateMe 2.0 beta5 | Samir | Download | View | Plugin |
| Nokmote | Samir | Not released. | View | Plugin |
| Shutup | Samir | Not released. | View | Plugin |
| Inclinometer | symbianyucca | Download | View | Sensor |
| Lightsabre | Graham Oldfield | Download | View | Plugin or Sensor |
| Wattery screensaver | Psiloc | Download | | Sensor |
| Groove Labyrinth | Bitside | Download | | Sensor |
| Accelerinvaders | Luis Valente | Download | View | Plugin |
| Tunnel Run | Mobile Radicals | Not released. | View | Sensor |
| gBoarder | FH Hagenberg Stefan Damm and Benjamin Gmeiner | Download | View | Sensor |
| CarMeter | FH Hagenberg Alexander Erifiu, Grammer Mario and Martin Legath | Download | | Sensor |
| ShakerRacer | FH Hagenberg Andreas Jakl, Stephan Selinger | Download | View | Sensor or plugin |
| pyWuzzler | FH Hagenberg Benjamin Gmeiner, Yen-Chia Lin | Download | View | Sensor |
| xyz2NXT : control a LEGO NXT robot car with your phone. | Goodan | Download | View | Plugin with Python wrapper |
| MovingBall in JAVA | BjoernQ | Download | | Plugin with Python socket server |
| BallGame in JAVA | BjoernQ | Download | View | Plugin with Python socket server |
| emTube | Sebastian Jedruszkiewicz | Download | | Sensor or Plugin |
| Channels Media Service | Nokia beta labs | Download | View | Sensor or plugin |
| FLVPlayer | OPDA | Download | Sensor or plugin | |
| Glogger | Glogger | Download | Plugin | |
| FlipSilent | Tong Reng | Download | View | Plugin |
| pyPiwo | Ariek | Download | View | Sensor |
| pyRybka | Ariek | Download | View | Sensor |
| NiiMe : Mouse Control with N95 | A2JSoft (Alcyone) | Download | View | Plugin |
| MIRAGE-X : 3-D motion control for the N95 | MobileRadicals | Download | View | Sensor or plugin |
| PyAcceleREMOTER | Serk01 | Download | View | Sensor |
| Phone Fight | lastminute.com labs | Download | View | Plugin with Python wrapper |
| 16 Puzzle | Jouni Miettunen | Download | Sensor | |
| Sensor Analyzer | Jouni Miettunen | Download | Sensor | |
| Rol-a-Bol | Jouni Miettunen | Download | Sensor |
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Sensor Disappointment | s_scythe | Mobile Java Networking & Messaging & Security | 0 | 2005-07-13 13:25 |
| Bluetooth devices information | merchan | Symbian Networking & Messaging | 2 | 2007-11-06 12:00 |
| N95 8GB problem | genting | General Discussion | 1 | 2007-11-12 08:39 |
| RS232 Nokia | lfluque | PC Suite API and PC Connectivity SDK | 3 | 2006-02-03 21:41 |
| JSR-256 (Sensor API) for Nokia 5500? | AnthonyAndrews | Mobile Java Tools & SDKs | 3 | 2007-07-16 20:17 |
