Tizen Sensors (Tizen Ver. 2.3) Spring 2015 Soo Dong Kim, Ph.D. Professor, Department of Computer Science Software Engineering Laboratory Soongsil University Office 02-820-0909 Mobile 010-7392-2220 sdkim777@gmail.com http://soft.ssu.ac.kr 1
Unit 6-1. Sensors of Tizen Ver. 2.3 Specification 2
Sensor List of Tizen Ver. 2.3 Accelerometer Sensor Light Sensor Gravity Sensor Linear Accelerometer Sensor Magnetic Sensor Rotation Vector Sensor Orientation Sensor Gyroscope Sensor Proximity Sensor Pressure Sensor Ultraviolet Sensor Temperature Sensor Humidity Sensor GPS Sensor 3
Functionality Accelerometer Sensor To measure the device's accelerometer vector in 3 axes relative to its body frame Contexts Acquired Measurement Type Range Unit X Float Min value = -19.6 Max value = 19.6 Y Float Min value = -19.6 Max value = 19.6 Z Float Min value = -19.6 Max value = 19.6 m/s 2 m/s 2 m/s 2 4
Functionality Gravity Sensor To measure the vector components of gravity when the device is at rest or moving slowly Contexts Acquired Measurement Type Range Unit X Float Min value = -19.6 Max value = 19.6 Y Float Min value = -19.6 Max value = 19.6 Z Float Min value = -19.6 Max value = 19.6 m/s 2 m/s 2 m/s 2 5
Functionality Linear Accelerometer Sensor To measure user-driven changes in velocity without considering the gravity value Contexts Acquired Measurement Type Range Unit X Float Min value = -19.6 Max value = 19.6 Y Float Min value = -19.6 Max value = 19.6 Z Float Min value = -19.6 Max value = 19.6 m/s 2 m/s 2 m/s 2 6
Functionality Magnetic Sensor To measure magnetic field strength and fluctuations, and splits the measurement into X, Y, and Z components Contexts Acquired Measurement Type Unit X Float μt (micro Tesla) Y Float μt (micro Tesla) Z Float μt (micro Tesla) 7
Functionality Rotation Vector Sensor To represents the orientation of the device as a combination of an angle and an axis Contexts Acquired Measurement Type Range X Float Min value = -1 Max value = 1 Y Float Min value = -1 Max value = 1 Z Float Min value = -1 Max value = 1 W Float Min value = -1 Max value = 1 8
Functionality Orientation Sensor To combines the 3-axis accelerometer sensor and 3-axis magnetic sensor to determine the angular positions Contexts Acquired Measurement Type Range Unit Azimuth Float Min value = 0 Max value = 360 Pitch Float Min value = -180 Max value = 180 Roll Float Min value = -180 Max value = 180 Degrees ( ) Degrees ( ) Degrees ( ) 9
Functionality Gyroscope Sensor To detect angular velocity, which is calculated using the measurement data retrieved from a 3-axis gyroscope Contexts Acquired Measurement Type Range Unit X Float Min value = -573.0 Max value = 573.0 Y Float Min value = -573.0 Max value = 573.0 Z Float Min value = -573.0 Max value = 573.0 Degrees/s ( /s) Degrees/s ( /s) Degrees/s ( /s) 10
Functionality Light Sensor To detect the brightness of ambient light Contexts Acquired Measurement Type Range Unit Level Float Min value = 0 Max value = 45875 Lux 11
Functionality Proximity Sensor To detect the presence of nearby objects Contexts Acquired Measurement Type Range Unit Proximity Float - - 12
Functionality Pressure Sensor To measure pressure, typically the pressure of gases or liquids Contexts Acquired Measurement Type Range Unit Pressure Float Min value = 260 Max value = 1260 hpa 13
Functionality Ultraviolet Sensor To measure the ultraviolet index Contexts Acquired Measurement Type Range Unit UV Index Float Min value = 0 Max value = 15 uv index 14
Functionality Temperature Sensor To measure the temperature, just like a thermometer. Contexts Acquired Measurement Type Range Unit Temperature Float Min value = -30 Max value = 100 15
Functionality To measure Humidity Contexts Acquired Humidity Sensor Measurement Type Range Unit Humidity Float Min value = 0 Max value = 100 % 16
Functionality GPS Sensor To retrieve the current location of the device user Context Acquired Measurement Type Latitude double Longitude double 17
Unit 6-2. Sensors of Tizen Devices 18
List of Sensors in Samsung Z1 Accelerometer Sensor GPS Sensor 19
Required Header File sensor.h Accelerometer Sensor (1) sensor_create_listener () To create a sensor listener Parameters Type Name Description sensor_h sensor The sensor handle sensor_listener_h* listener The new listener handle Return 0 on success, otherwise a negative error value 20
Accelerometer Sensor (2) sensor_listener_set_event_cb () To register a callback function to be invoked when a sensor event occurs Parameters Return Type Name Description sensor_listener_h listener The sensor handle unsigned int interval_ms The interval at which sensor events are delivered sensor_event_cb callback The callback function to register void* data The user data to be passed to the callback function 0 on success, otherwise a negative error value 21
Accelerometer Sensor (3) sensor_listener_start () To start the sensor server for the given listener Parameter Type Name Description sensor_listener_h listener The listener handle Return 0 on success, otherwise a negative error value 22
Code Examples Accelerometer Sensor (4) To define a callback function for the accelerometer sensor void on_sensor_event(sensor_h sensor, sensor_event_s *event, void *user_data) { sensor_type_e type; sensor_get_type(sensor, &type); switch (type) { case SENSOR_ACCELEROMETER: // Codes go here. } } To register the callback function and start a sensor listener sensor_h sensor; sensor_listener_h listener; sensor_get_default_sensor(sensor_accelerometer, &sensor); sensor_create_listener (sensor, &listener); // Creates a sensor listener sensor_listener_set_event_cb( // Registers the callback function listener, 100, on_sensor_event, user_data); sensor_listener_start(listener); // Starts sensing 23
Required Header File locations.h location_manager_create() GPS Sensor (1) To create a new location manager Parameters Type Name Description location_method_e method The location method location_manager.h* manager The new location manager handle Return 0 on success otherwise a negative error value 24
GPS Sensor (2) location_manager_set_position_updated_cb () To register a callback function to be invoked at defined interval with updated position information Parameters Return Type Name Description location_manager_h manager The location manager handle location_position_updated_cb callback The callback function to register int interval The interval [1 ~ 120] (seconds) void* user_data The user data to be passed to the callback function 0 on success, otherwise a negative error value 25
location_manager_start () To start the location service Parameter GPS Sensor (3) Type Name Description location_manager_h manager The location manager handle Return 0 on success, otherwise a negative error value 26
Code Examples GPS Sensor (4) To define a callback function the GPS sensor static void _state_changed_cb(location_service_state_e state, void *user_data) { double latitude, longitude; time_t timestamp; } if (state == LOCATIONS_SERVICE_ENABLED) { // Codes go here. } To register the callback function and start a sensor listener location_manager_h manager; // Creates a location manager location_manager_create(locations_method_gps, &manager); // Registers a callback function to the manager location_manager_set_service_state_changed_cb(manager, _state_changed_cb, NULL); // Starts the manager location_manager_start(manager); 27
Thank You! 28