# Sensor > ![icon-note.gif](public_sys-resources/icon-note.gif) **Note:** > The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version. ## Modules to Import ``` import sensor from '@ohos.sensor'; ``` ## System Capabilities SystemCapability.Sensors.Sensor ## Required Permissions To use the pedometer sensor, you must declare the **ohos.permission.ACTIVITY_MOTION** permission. To use the heart rate sensor, you must declare the **ohos.permission.READ_HEALTH_DATA** permission. To use the acceleration sensor, you must declare the **ohos.permission.ACCELEROMETER** permission. To use the gyroscope sensor, you must declare the **ohos.permission.GYROSCOPE** permission. ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER) on(type: sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, callback: AsyncCallback<AccelerometerResponse>,options?: Options): void Subscribes to data changes of the acceleration sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ACCELEROMETER**.| | callback | AsyncCallback<[AccelerometerResponse](#accelerometerresponse)> | Yes| Callback used to return the acceleration sensor data. The reported data type in the callback is **AccelerometerResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION) on(type:sensor.SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:AsyncCallback<LinearAccelerometerResponse>, options?: Options): void Subscribes to data changes of the linear acceleration sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_LINEAR_ACCELERATION**.| | callback | AsyncCallback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes| Callback used to return the linear acceleration sensor data. The reported data type in the callback is **LinearAccelerometerResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED) on(type:sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED,callback:AsyncCallback<AccelerometerUncalibratedResponse>, options?: Options): void Subscribes to data changes of the uncalibrated acceleration sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED**.| | callback | AsyncCallback<[AccelerometerUncalibratedResponse](#accelerometeruncalibratedresponse)> | Yes| Callback used to return the uncalibrated acceleration sensor data. The reported data type in the callback is **AccelerometerUncalibratedResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GRAVITY) on(type: sensor.SensorType.SENSOR_TYPE_ID_GRAVITY, callback: AsyncCallback<GravityResponse>,options?: Options): void Subscribes to data changes of the gravity sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_GRAVITY**.| | callback | AsyncCallback<[GravityResponse](#gravityresponse)> | Yes| Callback used to return the gravity sensor data. The reported data type in the callback is **GravityResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GRAVITY,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE) on(type: sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE, callback: AsyncCallback<GyroscopeResponse>, options?: Options): void Subscribes to data changes of the gyroscope sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_GYROSCOPE**.| | callback | AsyncCallback<[GyroscopeResponse](#gyroscoperesponse)> | Yes| Callback used to return the gyroscope sensor data. The reported data type in the callback is **GyroscopeResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED) on(type:sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED,callback:AsyncCallback<GyroscopeUncalibratedResponse>, options?: Options): void Subscribes to data changes of the uncalibrated gyroscope sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED**.| | callback | AsyncCallback<[GyroscopeUncalibratedResponse](#gyroscopeuncalibratedresponse)> | Yes| Callback used to return the uncalibrated gyroscope sensor data. The reported data type in the callback is **GyroscopeUncalibratedResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION) on(type: sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, callback: AsyncCallback<SignificantMotionResponse>, options?: Options): void Subscribes to data changes of the significant motion sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_SIGNIFICANT_MOTION**.| | callback | AsyncCallback<[SignificantMotionResponse](#significantmotionresponse)> | Yes| Callback used to return the significant motion sensor data. The reported data type in the callback is **SignificantMotionResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Scalar data: ' + data.scalar); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION) on(type: sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, callback: AsyncCallback<PedometerDetectResponse>, options?: Options): void Subscribes to data changes of the pedometer detection sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_PEDOMETER_DETECTION**.| | callback | AsyncCallback<[PedometerDetectResponse](#pedometerdetectresponse)> | Yes| Callback used to return the pedometer detection sensor data. The reported data type in the callback is **PedometerDetectResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Scalar data: ' + data.scalar); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER) on(type: sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER, callback: AsyncCallback<PedometerResponse>, options?: Options): void Subscribes to data changes of the pedometer sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_PEDOMETER**.| | callback | AsyncCallback<[PedometerResponse](#pedometerresponse)> | Yes| Callback used to return the pedometer sensor data. The reported data type in the callback is **PedometerResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Steps: ' + data.steps); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE) on(type:sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE,callback:AsyncCallback<AmbientTemperatureResponse>, options?: Options): void Subscribes to data changes of the ambient temperature sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_AMBIENT_TEMPERATURE**.| | callback | AsyncCallback<[AmbientTemperatureResponse](#ambienttemperatureresponse)> | Yes| Callback used to return the ambient temperature sensor data. The reported data type in the callback is **AmbientTemperatureResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Temperature: ' + data.temperature); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD) on(type: sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, callback: AsyncCallback<MagneticFieldResponse>,options?: Options): void Subscribes to data changes of the magnetic field sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_MAGNETIC_FIELD**.| | callback | AsyncCallback<[MagneticFieldResponse](#magneticfieldresponse)> | Yes| Callback used to return the magnetic field sensor data. The reported data type in the callback is **MagneticFieldResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED) on(type:sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED,callback:AsyncCallback<MagneticFieldUncalibratedResponse>, options: Options): void Subscribes to data changes of the uncalibrated magnetic field sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED**.| | callback | AsyncCallback<[MagneticFieldUncalibratedResponse](#magneticfielduncalibratedresponse)> | Yes| Callback used to return the uncalibrated magnetic field sensor data. The reported data type in the callback is **MagneticFieldUncalibratedResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY) on(type:sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY, callback: AsyncCallback<ProximityResponse>,options?: Options): void Subscribes to data changes of the proximity sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_PROXIMITY**.| | callback | AsyncCallback<[ProximityResponse](#proximityresponse)> | Yes| Callback used to return the proximity sensor data. The reported data type in the callback is **ProximityResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Distance: ' + data.distance); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY) on(type: sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY, callback: AsyncCallback<HumidityResponse>,options?: Options): void Subscribes to data changes of the humidity sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HUMIDITY**.| | callback | AsyncCallback<[HumidityResponse](#humidityresponse)> | Yes| Callback used to return the humidity sensor data. The reported data type in the callback is **HumidityResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Humidity: ' + data.humidity); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_BAROMETER) on(type:sensor.SensorType.SENSOR_TYPE_ID_BAROMETER, callback: AsyncCallback<BarometerResponse>,options?: Options): void Subscribes to data changes of the barometer sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_BAROMETER**.| | callback | AsyncCallback<[BarometerResponse](#barometerresponse)> | Yes| Callback used to return the barometer sensor data. The reported data type in the callback is **BarometerResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_BAROMETER,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Atmospheric pressure: ' + data.pressure); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_HALL) on(type: sensor.SensorType.SENSOR_TYPE_ID_HALL, callback: AsyncCallback<HallResponse>, options?: Options): void Subscribes to data changes of the Hall effect sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HALL**.| | callback | AsyncCallback<[HallResponse](#hallresponse)> | Yes| Callback used to return the Hall effect sensor data. The reported data type in the callback is **HallResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_HALL,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Status: ' + data.status); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT) on(type:sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, callback: AsyncCallback<LightResponse>, options?: Options): void Subscribes to data changes of the ambient light sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_AMBIENT_LIGHT**.| | callback | AsyncCallback<[LightResponse](#lightresponse)> | Yes| Callback used to return the ambient light sensor data. The reported data type in the callback is **LightResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info(' Illumination: ' + data.intensity); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION) on(type: sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION, callback: AsyncCallback<OrientationResponse>, options?: Options): void Subscribes to data changes of the orientation sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ORIENTATION**.| | callback | AsyncCallback<[OrientationResponse](#orientationresponse)> | Yes| Callback used to return the orientation sensor data. The reported data type in the callback is **OrientationResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR) on(type:sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR,callback:AsyncCallback<RotationVectorResponse>,options?: Options): void Subscribes to data changes of the rotation vector sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ROTATION_VECTOR**.| | callback | AsyncCallback<[RotationVectorResponse](#rotationvectorresponse)> | Yes| Callback used to return the rotation vector sensor data. The reported data type in the callback is **RotationVectorResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); ``` ## sensor.on(sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION) on(type: sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, callback: AsyncCallback<WearDetectionResponse>,options?: Options): void Subscribes to data changes of the wear detection sensor. If this API is called multiple times for the same application, the last call takes effect. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_WEAR_DETECTION**.| | callback | AsyncCallback<[WearDetectionResponse](#weardetectionresponse)> | Yes| Callback used to return the wear detection sensor data. The reported data type in the callback is **WearDetectionResponse**.| | options | [Options](#options) | No| Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns.| - Example ``` sensor.on(sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Wear status: ' + data.value); }, {interval: 10000000} ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER) once(type: sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, callback: AsyncCallback<AccelerometerResponse>): void Subscribes to only one data change of the acceleration sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ACCELEROMETER**.| | callback | AsyncCallback<[AccelerometerResponse](#accelerometerresponse)> | Yes| One-shot callback used to return the acceleration sensor data. The reported data type in the callback is **AccelerometerResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER,function(error,data){ if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION) once(type:sensor.SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:AsyncCallback<LinearAccelerometerResponse>): void Subscribes to only one data change of the linear acceleration sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_LINEAR_ACCELERATION**.| | callback | AsyncCallback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes| One-shot callback used to return the linear acceleration sensor data. The reported data type in the callback is **LinearAccelerometerResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED) once(type:sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED,callback:AsyncCallback<AccelerometerUncalibratedResponse>): void Subscribes to only one data change of the uncalibrated acceleration sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED**.| | callback | AsyncCallback<[AccelerometerUncalibratedResponse](#accelerometeruncalibratedresponse)> | Yes| One-shot callback used to return the uncalibrated acceleration sensor data. The reported data type in the callback is **AccelerometerUncalibratedResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GRAVITY) once(type:sensor.SensorType.SENSOR_TYPE_ID_GRAVITY, callback: AsyncCallback<GravityResponse>): void Subscribes to only one data change of the gravity sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_GRAVITY**.| | callback | AsyncCallback<[GravityResponse](#gravityresponse)> | Yes| One-shot callback used to return the gravity sensor data. The reported data type in the callback is **GravityResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GRAVITY, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE) once(type: sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE, callback: AsyncCallback<GyroscopeResponse>): void Subscribes to only one data change of the gyroscope sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_GYROSCOPE**.| | callback | AsyncCallback<[GyroscopeResponse](#gyroscoperesponse)> | Yes| One-shot callback used to return the gyroscope sensor data. The reported data type in the callback is **GyroscopeResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED) once(type:sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED,callback:AsyncCallback<GyroscopeUncalibratedResponse>): void Subscribes to only one data change of the uncalibrated gyroscope sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED**.| | callback | AsyncCallback<[GyroscopeUncalibratedResponse](#gyroscopeuncalibratedresponse)> | Yes| One-shot callback used to return the uncalibrated gyroscope sensor data. The reported data type in the callback is **GyroscopeUncalibratedResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION) once(type: sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION,callback:AsyncCallback<SignificantMotionResponse>): void Subscribes to only one data change of the significant motion sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_SIGNIFICANT_MOTION**.| | callback | AsyncCallback<[SignificantMotionResponse](#significantmotionresponse)> | Yes| One-shot callback used to return the significant motion sensor data. The reported data type in the callback is **SignificantMotionResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Scalar data: ' + data.scalar); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION) once(type:sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION,callback:AsyncCallback<PedometerDetectResponse>): void Subscribes to only one data change of the pedometer detection sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_PEDOMETER_DETECTION**.| | callback | AsyncCallback<[PedometerDetectResponse](#pedometerdetectresponse)> | Yes| One-shot callback used to return the pedometer detection sensor data. The reported data type in the callback is **PedometerDetectResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Scalar data: ' + data.scalar); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER) once(type: sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER, callback: AsyncCallback<PedometerResponse>): void Subscribes to only one data change of the pedometer sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_PEDOMETER**.| | callback | AsyncCallback<[PedometerResponse](#pedometerresponse)> | Yes| One-shot callback used to return the pedometer sensor data. The reported data type in the callback is **PedometerResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Steps: ' + data.steps); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE) once(type:sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE,callback:AsyncCallback<AmbientTemperatureResponse>): void Subscribes to only one data change of the ambient temperature sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_AMBIENT_TEMPERATURE**.| | callback | AsyncCallback<[AmbientTemperatureResponse](#ambienttemperatureresponse)> | Yes| One-shot callback used to return the ambient temperature sensor data. The reported data type in the callback is **AmbientTemperatureResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Temperature: ' + data.temperature); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD) once(type: sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, callback: AsyncCallback<MagneticFieldResponse>): void Subscribes to only one data change of the magnetic field sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_MAGNETIC_FIELD**.| | callback | AsyncCallback<[MagneticFieldResponse](#magneticfieldresponse)> | Yes| One-shot callback used to return the magnetic field sensor data. The reported data type in the callback is **MagneticFieldResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED) once(type:sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED,callback:AsyncCallback<MagneticFieldUncalibratedResponse>): void Subscribes to only one data change of the uncalibrated magnetic field sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED**.| | callback | AsyncCallback<[MagneticFieldUncalibratedResponse](#magneticfielduncalibratedresponse)> | Yes| One-shot callback used to return the uncalibrated magnetic field sensor data. The reported data type in the callback is **MagneticFieldUncalibratedResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY) once(type: sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY, callback: AsyncCallback<ProximityResponse>): void Subscribes to only one data change of the proximity sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_PROXIMITY**.| | callback | AsyncCallback<[ProximityResponse](#proximityresponse)> | Yes| One-shot callback used to return the proximity sensor data. The reported data type in the callback is **ProximityResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Distance: ' + data.distance); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY) once(type: sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY, callback: AsyncCallback<HumidityResponse>): void Subscribes to only one data change of the humidity sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HUMIDITY**.| | callback | AsyncCallback<[HumidityResponse](#humidityresponse)> | Yes| One-shot callback used to return the humidity sensor data. The reported data type in the callback is **HumidityResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Humidity: ' + data.humidity); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_BAROMETER) once(type: sensor.SensorType.SENSOR_TYPE_ID_BAROMETER, callback: AsyncCallback<BarometerResponse>): void Subscribes to only one data change of the barometer sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_BAROMETER**.| | callback | AsyncCallback<[BarometerResponse](#barometerresponse)> | Yes| One-shot callback used to return the barometer sensor data. The reported data type in the callback is **BarometerResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_BAROMETER, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Atmospheric pressure: ' + data.pressure); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HALL) once(type: sensor.SensorType.SENSOR_TYPE_ID_HALL, callback: AsyncCallback<HallResponse>): void Subscribes to only one data change of the Hall effect sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HALL**.| | callback | AsyncCallback<[HallResponse](#hallresponse)> | Yes| One-shot callback used to return the Hall effect sensor data. The reported data type in the callback is **HallResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HALL, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('Status: ' + data.status); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT) once(type: sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, callback: AsyncCallback<LightResponse>): void Subscribes to only one data change of the ambient light sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_AMBIENT_LIGHT**.| | callback | AsyncCallback<[LightResponse](#lightresponse)> | Yes| One-shot callback used to return the ambient light sensor data. The reported data type in the callback is **LightResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info(' Illumination: ' + data.intensity); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION) once(type: sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION, callback: AsyncCallback<OrientationResponse>): void Subscribes to only one data change of the orientation sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ORIENTATION**.| | callback | AsyncCallback<[OrientationResponse](#orientationresponse)> | Yes| One-shot callback used to return the orientation sensor data. The reported data type in the callback is **OrientationResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR) once(type: sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, callback: AsyncCallback<RotationVectorResponse>): void Subscribes to only one data change of the rotation vector sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ROTATION_VECTOR**.| | callback | AsyncCallback<[RotationVectorResponse](#rotationvectorresponse)> | Yes| One-shot callback used to return the rotation vector sensor data. The reported data type in the callback is **RotationVectorResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HEART_RATE) once(type: sensor.SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: AsyncCallback<HeartRateResponse>): void Subscribes to only one data change of the heart rate sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HEART_RATE**.| | callback | AsyncCallback<[HeartRateResponse](#heartrateresponse)> | Yes| One-shot callback used to return the heart rate sensor data. The reported data type in the callback is **HeartRateResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HEART_RATE, function(error, data) { if (error) { console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message); return; } console.info("Heart rate: " + data.heartRate); } ); ``` ## sensor.once(sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION) once(type: sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, callback: AsyncCallback<WearDetectionResponse>): void Subscribes to only one data change of the wear detection sensor. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_WEAR_DETECTION**.| | callback | AsyncCallback<[WearDetectionResponse](#weardetectionresponse)> | Yes| One-shot callback used to return the wear detection sensor data. The reported data type in the callback is **WearDetectionResponse**.| - Example ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, function(error, data) { if (error) { console.error("Failed to register data, error code is" + error.code + ", message: " + error.message); return; } console.info("Wear status: "+ data.value); } ); ``` ## sensor.off off(type: SensorType, callback?: AsyncCallback<void>): void Unsubscribes from sensor data changes. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | [SensorType](#sensortype) | Yes| Type of the sensor to unsubscribe from.| | callback | AsyncCallback<void> | Yes| Callback used to return the execution result.| - Example ``` sensor.off(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, function(error) { if (error) { console.error("Failed to unsubscribe from acceleration sensor data. Error code: " + error.code + "; message: " + error.message); return; } console.info("Succeeded in unsubscribing from acceleration sensor data."); } ); ``` ## sensor.getGeomagneticField getGeomagneticField(locationOptions: LocationOptions, timeMillis: number, callback: AsyncCallback<GeomagneticResponse>): void Obtains the geomagnetic field of a geographic location. This method uses a callback to return the result. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | locationOptions | [LocationOptions](#locationoptions) | Yes| Geographic location.| | timeMillis | number | Yes| Time for obtaining the magnetic declination, in milliseconds.| | callback | AsyncCallback<[GeomagneticResponse](#geomagneticresponse)> | Yes| Callback used to return the geomagnetic field.| - Example ``` sensor.getGeomagneticField([80, 0, 0], {'timeMillis':1580486400000}, function(err, data) { if (err) { console.error('Operation failed. Error code: ' + err.code + '; message: ' + err.message); return; } console.info('sensor_getGeomagneticField_promise x: ' + data.x + ',y: ' + data.y + ',z: ' + data.z + ',geomagneticDip: ' + data.geomagneticDip + ',deflectionAngle: ' + data.deflectionAngle + ',levelIntensity: ' + data.levelIntensity + ',totalIntensity: ' + data.totalIntensity); }); ``` ## sensor.getGeomagneticField getGeomagneticField(locationOptions: LocationOptions, timeMillis: number): Promise<GeomagneticResponse> Obtains the geomagnetic field of a geographic location. This method uses a callback to return the result. - Parameters | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | locationOptions | [LocationOptions](#locationoptions) | Yes| Geographic location.| | timeMillis | number | Yes| Time for obtaining the magnetic declination, in milliseconds.| - Return value | Type| Description| | -------- | -------- | | Promise<[GeomagneticResponse](#geomagneticresponse)> | Callback used to return the geomagnetic field.| - Example ``` const promise = sensor.getGeomagneticField([80, 0, 0], {'timeMillis':1580486400000}); promise.then((data) => { console.info('sensor_getGeomagneticField_promise x: ' + data.x + ',y: ' + data.y + ',z: ' + data.z + ',geomagneticDip: ' + data.geomagneticDip + ',deflectionAngle: ' + data.deflectionAngle + ',levelIntensity: ' + data.levelIntensity + ',totalIntensity: ' + data.totalIntensity); }).catch((reason) => { console.info('Operation failed.'); }) ``` ## SensorType Enumerates the sensor types. | Name| Default Value| Description| | -------- | -------- | -------- | | SENSOR_TYPE_ID_ACCELEROMETER | 1 | Acceleration sensor.| | SENSOR_TYPE_ID_GYROSCOPE | 2 | Gyroscope sensor.| | SENSOR_TYPE_ID_AMBIENT_LIGHT | 5 | Ambient light sensor.| | SENSOR_TYPE_ID_MAGNETIC_FIELD | 6 | Magnetic field sensor.| | SENSOR_TYPE_ID_BAROMETER | 8 | Barometer sensor.| | SENSOR_TYPE_ID_HALL | 10 | Hall effect sensor.| | SENSOR_TYPE_ID_PROXIMITY | 12 | Proximity sensor.| | SENSOR_TYPE_ID_HUMIDITY | 13 | Humidity sensor.| | SENSOR_TYPE_ID_ORIENTATION | 256 | Orientation sensor.| | SENSOR_TYPE_ID_GRAVITY | 257 | Gravity sensor.| | SENSOR_TYPE_ID_LINEAR_ACCELERATION | 258 | Linear acceleration sensor.| | SENSOR_TYPE_ID_ROTATION_VECTOR | 259 | Rotation vector sensor.| | SENSOR_TYPE_ID_AMBIENT_TEMPERATURE | 260 | Ambient temperature sensor.| | SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED | 261 | Uncalibrated magnetic field sensor.| | SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED | 263 | Uncalibrated gyroscope sensor.| | SENSOR_TYPE_ID_SIGNIFICANT_MOTION | 264 | Significant motion sensor.| | SENSOR_TYPE_ID_PEDOMETER_DETECTION | 265 | Pedometer detection sensor.| | SENSOR_TYPE_ID_PEDOMETER | 266 | Pedometer sensor.| | SENSOR_TYPE_ID_HEART_RATE | 278 | Heart rate sensor.| | SENSOR_TYPE_ID_WEAR_DETECTION | 280 | Wear detection sensor.| | SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED | 281 | Uncalibrated acceleration sensor.| ## Response Describes the timestamp of the sensor data. | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | timestamp | number | Yes| Yes| Timestamp when the sensor reports data.| ## AccelerometerResponse Describes the acceleration sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | x | number | Yes| Yes| Acceleration along the x-axis of the device, in m/s2.| | y | number | Yes| Yes| Acceleration along the y-axis of the device, in m/s2.| | z | number | Yes| Yes| Acceleration along the z-axis of the device, in m/s2.| ## LinearAccelerometerResponse Describes the linear acceleration sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | x | number | Yes| Yes| Linear acceleration along the x-axis of the device, in m/s2.| | y | number | Yes| Yes| Linear acceleration along the y-axis of the device, in m/s2.| | z | number | Yes| Yes| Linear acceleration along the z-axis of the device, in m/s2.| ## AccelerometerUncalibratedResponse Describes the uncalibrated acceleration sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | x | number | Yes| Yes| Uncalibrated acceleration along the x-axis of the device, in m/s2.| | y | number | Yes| Yes| Uncalibrated acceleration along the y-axis of the device, in m/s2.| | z | number | Yes| Yes| Uncalibrated acceleration along the z-axis of the device, in m/s2.| | biasX | number | Yes| Yes| Uncalibrated acceleration bias along the x-axis of the device, in m/s2.| | biasY | number | Yes| Yes| Uncalibrated acceleration bias along the y-axis of the device, in m/s2.| | biasZ | number | Yes| Yes| Uncalibrated acceleration bias along the z-axis of the device, in m/s2.| ## GravityResponse Describes the gravity sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | x | number | Yes| Yes| Gravitational acceleration along the x-axis of the device, in m/s2.| | y | number | Yes| Yes| Gravitational acceleration along the y-axis of the device, in m/s2.| | z | number | Yes| Yes| Gravitational acceleration along the z-axis of the device, in m/s2.| ## OrientationResponse Describes the orientation sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | x | number | Yes| Yes| Rotation angle of the device around the x-axis, in rad.| | y | number | Yes| Yes| Rotation angle of the device around the y-axis, in rad.| | z | number | Yes| Yes| Rotation angle of the device around the z-axis, in rad.| ## RotationVectorResponse Describes the rotation vector sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | x | number | Yes| Yes| X-component of the rotation vector.| | y | number | Yes| Yes| Y-component of the rotation vector.| | z | number | Yes| Yes| Z-component of the rotation vector.| ## GyroscopeResponse Describes the gyroscope sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | x | number | Yes| Yes| Angular velocity of rotation around the x-axis of the device, in rad/s.| | y | number | Yes| Yes| Angular velocity of rotation around the y-axis of the device, in rad/s.| | z | number | Yes| Yes| Angular velocity of rotation around the z-axis of the device, in rad/s.| ## GyroscopeUncalibratedResponse Describes the uncalibrated gyroscope sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | x | number | Yes| Yes| Uncalibrated angular velocity of rotation around the x-axis of the device, in rad/s.| | y | number | Yes| Yes| Uncalibrated angular velocity of rotation around the y-axis of the device, in rad/s.| | z | number | Yes| Yes| Uncalibrated angular velocity of rotation around the z-axis of the device, in rad/s.| | biasX | number | Yes| Yes| Uncalibrated angular velocity bias of rotation around the x-axis of the device, in rad/s.| | biasY | number | Yes| Yes| Uncalibrated angular velocity bias of rotation around the y-axis of the device, in rad/s.| | biasZ | number | Yes| Yes| Uncalibrated angular velocity bias of rotation around the z-axis of the device, in rad/s.| ## SignificantMotionResponse Describes the significant motion sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | scalar | number | Yes| Yes| Intensity of a motion. This parameter specifies whether a device has a significant motion on three physical axes (X, Y, and Z). The value **0** means that the device does not have a significant motion, and **1** means the opposite.| ## ProximityResponse Describes the proximity sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | distance | number | Yes| Yes| Proximity between the visible object and the device monitor. The value **0** means the two are close to each other, and **1** means that they are far away from each other.| ## LightResponse Describes the ambient light sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | intensity | number | Yes| Yes| Illumination, in lux.| ## HallResponse Describes the Hall effect sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | status | number | Yes| Yes| Hall effect sensor status. This parameter specifies whether a magnetic field exists around a device. The value **0** means that a magnetic field exists around the device, and **1** means the opposite.| ## MagneticFieldResponse Describes the magnetic field sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | x | number | Yes| Yes| Magnetic field strength on the x-axis, in μT.| | y | number | Yes| Yes| Magnetic field strength on the y-axis, in μT.| | z | number | Yes| Yes| Magnetic field strength on the z-axis, in μT.| ## MagneticFieldUncalibratedResponse Describes the uncalibrated magnetic field sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | x | number | Yes| Yes| Uncalibrated magnetic field strength on the x-axis, in μT.| | y | number | Yes| Yes| Uncalibrated magnetic field strength on the y-axis, in μT.| | z | number | Yes| Yes| Uncalibrated magnetic field strength on the z-axis, in μT.| | biasX | number | Yes| Yes| Bias of the uncalibrated magnetic field strength on the x-axis, in μT.| | biasY | number | Yes| Yes| Bias of the uncalibrated magnetic field strength on the y-axis, in μT.| | biasZ | number | Yes| Yes| Bias of the uncalibrated magnetic field strength on the z-axis, in μT.| ## PedometerResponse Describes the pedometer sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | steps | number | Yes| Yes| Number of steps a user has walked.| ## HumidityResponse Describes the humidity sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | humidity | number | Yes| Yes| Ambient relative humidity, in a percentage (%).| ## PedometerDetectResponse Describes the pedometer detection sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | scalar | number | Yes| Yes| Pedometer detection. This parameter specifies whether a user takes a step. The value **0** means that the user does not take a step, and **1** means that the user takes a step.| ## AmbientTemperatureResponse Describes the ambient temperature sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | temperature | number | Yes| Yes| Ambient temperature, in degree Celsius.| ## BarometerResponse Describes the barometer sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | pressure | number | Yes| Yes| Atmospheric pressure, in pascal.| ## HeartRateResponse Describes the heart rate sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | heartRate | number | Yes| Yes| Heart rate, in beats per minute (bpm).| ## WearDetectionResponse Describes the wear detection sensor data. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | value | number | Yes| Yes| Whether the device is being worn. The value **1** means that the device is being worn, and **0** means the opposite.| ## Options Describes the sensor data reporting frequency. | Name| Type| Description| | -------- | -------- | -------- | | interval | number | Frequency at which a sensor reports data. The default value is 200,000,000 ns.| ## GeomagneticResponse Describes a geomagnetic response object. It extends from [Response](#response). | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | x | number | Yes| Yes| North component of the geomagnetic field.| | y | number | Yes| Yes| East component of the geomagnetic field.| | z | number | Yes| Yes| Vertical component of the geomagnetic field.| | geomagneticDip | number | Yes| Yes| Magnetic dip, also called magnetic inclination, which is the angle measured from the horizontal plane to the magnetic field vector.| | deflectionAngle | number | Yes| Yes| Magnetic declination, which is the angle between true north (geographic north) and the magnetic north (the horizontal component of the field).| | levelIntensity | number | Yes| Yes| Horizontal intensity of the magnetic field vector field.| | totalIntensity | number | Yes| Yes| Total intensity of the magnetic field vector.| ## LocationOptions | Name| Type| Readable| Writable| Description| | -------- | -------- | -------- | -------- | -------- | | latitude | number | Yes| Yes| Latitude.| | longitude | number | Yes| Yes| Longitude.| | altitude | number | Yes| Yes| Altitude.|