未验证 提交 bf5cd6cf 编写于 作者: O openharmony_ci 提交者: Gitee

!2753 修改docs文档

Merge pull request !2753 from 陈飞飞/OpenHarmony-3.1-Release
......@@ -67,67 +67,47 @@
"when":"inuse"
}
},
{
"name":"ohos.permission.VIBRATE",
"reason"":"",
"usedScene":{
"ability": [".MainAbility"],
"when":"inuse"
}
},
]
```
2. 持续监听传感器数据变化。
```
import sensor from "@ohos.sensor"
sensor.on(sensor.sensorType,function(error,data){
if (error) {//调用失败,打印error.code和error.message
console.error("Subscription failed. Error code: " + error.code + "; message: " + error.message);
return;
};
console.info("Subscription succeeded. data = "+ data);//调用成功,打印对应传感器的数据
sensor.on(sensor.sensorType.SENSOR_TYPE_ACCELEROMETER,function(data){
console.info("Subscription succeeded. data = " + data);//调用成功,打印对应传感器的数据
}
);
```
以SensorType为SENSOR_TYPE_ID_ACCELEROMETER为例展示运行结果,持续监听传感器接口的结果如下图所示:
![zh-cn_image_0000001241693881](figures/zh-cn_image_0000001241693881.png)
3. 注销传感器数据监听。
```
import sensor from "@ohos.sensor"
sensor.off(sensor.sensorType,function(error) {
if (error) {//注销失败,返回error.code和error.message
console.error("Failed to unsubscribe from acceleration sensor data. Error code: " + error.code + "; message: " + error.message);
return;
};
sensor.off(sensor.sensorType.SENSOR_TYPE_ACCELEROMETER,function() {
console.info("Succeeded in unsubscribing from acceleration sensor data.");//注销成功,返回打印结果
}
);
```
以SensorType为SENSOR_TYPE_ID_ACCELEROMETER为例展示运行结果,注销传感器成功结果如下图所示:
![zh-cn_image_0000001196654004](figures/zh-cn_image_0000001196654004.png)
4. 获取一次传感器数据变化。
```
import sensor from "@ohos.sensor"
sensor.once(sensor.sensorType,function(error, data) {
if (error) {//获取数据失败,返回error.code和error.message
console.error("Failed to obtain data. Error code: " + error.code + "; message: " + error.message);
return;
};
console.info("Data obtained successfully. data="+data);//获取数据成功,打印对应传感器的数据
sensor.once(sensor.sensorType.SENSOR_TYPE_ACCELEROMETER,function(data) {
console.info("Data obtained successfully. data=" + data);//获取数据成功,打印对应传感器的数据
}
);
```
以SensorType为SENSOR_TYPE_ID_ACCELEROMETER为例展示运行结果,获取数据成功日志如下图所示:
![zh-cn_image_0000001241733907](figures/zh-cn_image_0000001241733907.png)
......@@ -4,86 +4,40 @@
OpenHarmony系统传感器是应用访问底层硬件传感器的一种设备抽象概念。开发者根据传感器提供的Sensor API,可以查询设备上的传感器,订阅传感器数据,并根据传感器数据定制相应的算法开发各类应用,比如指南针、运动健康、游戏等。
根据传感器的用途,可以将传感器分为六大类:运动类传感器、环境类传感器、方向类传感器、光线类传感器、健康类传感器、其他传感器(如霍尔传感器),每一大类传感器都包含不同类型的传感器,某些类型的传感器可能是单一的物理传感器,也可能是由多个物理传感器复合而成。下面为传感器列表:
**表1** 运动类-ohos.sensor.agent.CategoryMotionAgent
| 传感器类型 | 中文描述 | 说明 | 主要用途 |
| -------------------------------------- | --------- | ---------------------------------------- | --------------- |
| SENSOR_TYPE_ACCELEROMETER | 加速度传感器 | 测量三个物理轴(x、y  z)上,施加在设备上的加速度(包括重力加速度),单位 : m/s2 | 检测运动状态 |
| SENSOR_TYPE_ACCELEROMETER_UNCALIBRATED | 未校准加速度传感器 | 测量三个物理轴(x、y  z)上,施加在设备上的未校准的加速度(包括重力加速度),单位 : m/s2 | 检测加速度偏差估值 |
| SENSOR_TYPE_LINEAR_ACCELERATION | 线性加速度传感器 | 测量三个物理轴(x、y  z)上,施加在设备上的线性加速度(不包括重力加速度),单位 : m/s2 | 检测每个单轴方向上的线性加速度 |
| SENSOR_TYPE_GRAVITY | 重力传感器 | 测量三个物理轴(x、y  z)上,施加在设备上的重力加速度,单位 : m/s2 | 测量重力大小 |
| SENSOR_TYPE_GYROSCOPE | 陀螺仪传感器 | 测量三个物理轴(x、y  z)上,设备的旋转角速度,单位 : rad/s | 测量旋转的角速度 |
| SENSOR_TYPE_GYROSCOPE_UNCALIBRATED | 未校准陀螺仪传感器 | 测量三个物理轴(x、y  z)上,设备的未校准旋转角速度,单位 : rad/s | 测量旋转的角速度及偏差估值 |
| SENSOR_TYPE_SIGNIFICANT_MOTION | 大幅度动作传感器 | 测量三个物理轴(x、y  z)上,设备是否存在大幅度运动;如果取值为1则代表存在大幅度运动,取值为0则代表没有大幅度运动 | 用于检测设备是否存在大幅度运动 |
| SENSOR_TYPE_DROP_DETECTION | 跌落检测传感器 | 检测设备的跌落状态;如果取值为1则代表发生跌落,取值为0则代表没有发生跌落 | 用于检测设备是否发生了跌落 |
| SENSOR_TYPE_PEDOMETER_DETECTION | 计步器检测传感器 | 检测用户的计步动作;如果取值为1则代表用户产生了计步行走的动作;取值为0则代表用户没有发生运动 | 用于检测用户是否有计步的动作 |
| SENSOR_TYPE_PEDOMETER | 计步器传感器 | 统计用户的行走步数 | 用于提供用户行走的步数数据 |
**表2** 环境类-ohos.sensor.agent.CategoryOrientationAgent
| 传感器类型 | 中文描述 | 说明 | 主要用途 |
| --------------------------------------- | -------- | ---------------------------------------- | --------------- |
| SENSOR_TYPE_AMBIENT_TEMPERATURE | 环境温度传感器 | 测量环境温度,单位 : 摄氏度 (°C) | 测量环境温度 |
| SENSOR_TYPE_MAGNETIC_FIELD | 磁场传感器 | 测量三个物理轴向(x、y、z)上,环境地磁场,单位 : μT | 创建指南针 |
| SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED | 未校准磁场传感器 | 测量三个物理轴向(x、y、z)上,未校准环境地磁场,单位 : μT | 测量地磁偏差估值 |
| SENSOR_TYPE_HUMIDITY | 湿度传感器 | 测量环境的相对湿度,以百分比 (%) 表示 | 监测露点、绝对湿度和相对湿度 |
| SENSOR_TYPE_BAROMETER | 气压计传感器 | 测量环境气压,单位 : hPa  mbar | 测量环境气压 |
| SENSOR_TYPE_SAR | 比吸收率传感器 | 测量比吸收率,单位:W/kg | 测量设备的电磁波能量吸收比值。 |
**表3** 方向类-ohos.sensor.agent.CategoryOrientationAgent
| 传感器类型 | 中文描述 | 说明 | 主要用途 |
| ---------------------------------------- | ----------------------- | ---------------------------------------- | --------------------------------- |
| SENSOR_TYPE_6DOF | 自由度传感器 | 测量上下、前后、左右方向上的位移,单位:m或mm;测量俯仰、偏摆、翻滚的角度,单位:rad | 检测设备的三个平移自由度以及旋转自由度,用于目标定位追踪,如:VR |
| SENSOR_TYPE_SCREEN_ROTATION | 屏幕旋转传感器 | 检测设备屏幕的旋转状态 | 用于检测设备屏幕是否发生了旋转 |
| SENSOR_TYPE_DEVICE_ORIENTATION | 设备方向传感器 | 测量设备的旋转方向,单位:rad | 用于检测设备旋转方向的角度值 |
| SENSOR_TYPE_ORIENTATION | 方向传感器 | 测量设备围绕所有三个物理轴(x、y、z)旋转的角度值,单位:rad | 用于提供屏幕旋转的3个角度值 |
| SENSOR_TYPE_ROTATION_VECTOR | 旋转矢量传感器 | 测量设备旋转矢量,复合传感器:由加速度传感器、磁场传感器、陀螺仪传感器合成 | 检测设备相对于东北天坐标系的方向 |
| SENSOR_TYPE_GAME_ROTATION_VECTOR<br/>SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR | 游戏旋转矢量传感器<br/>地磁旋转矢量传感器 | 测量设备游戏旋转矢量,复合传感器:由加速度传感器、陀螺仪传感器合成<br/>测量设备地磁旋转矢量,复合传感器:由加速度传感器、磁场传感器合成 | 应用于游戏场景<br/>用于测量地磁旋转矢量 |
**表4** 光线类-ohos.sensor.agent.CategoryLightAgent
| 传感器类型 | 中文描述 | 说明 | 主要用途 |
| ----------------------------- | -------- | ---------------------- | -------------------- |
| SENSOR_TYPE_PROXIMITY | 接近光传感器 | 测量可见物体相对于设备显示屏的接近或远离状态 | 通话中设备相对人的位置 |
| SENSOR_TYPE_TOF | ToF传感器 | 测量光在介质中行进一段距离所需的时间 | 人脸识别 |
| SENSOR_TYPE_AMBIENT_LIGHT | 环境光传感器 | 测量设备周围光线强度,单位:lux | 自动调节屏幕亮度,检测屏幕上方是否有遮挡 |
| SENSOR_TYPE_COLOR_TEMPERATURE | 色温传感器 | 测量环境中的色温 | 应用于设备的影像处理 |
| SENSOR_TYPE_COLOR_RGB | RGB颜色传感器 | 测量环境中的RGB颜色值 | 通过三原色的反射比率实现颜色检测 |
| SENSOR_TYPE_COLOR_XYZ | XYZ颜色传感器 | 测量环境中的XYZ颜色值 | 用于辨识真色色点,还原色彩更真实 |
**表5** 健康类-ohos.sensor.agent.CategoryBodyAgent
| 传感器类型 | 中文描述 | 说明 | 主要用途 |
| -------------------------- | ------- | --------- | -------------- |
| SENSOR_TYPE_HEART_RATE | 心率传感器 | 测量用户的心率数值 | 用于提供用户的心率健康数据 |
| SENSOR_TYPE_WEAR_DETECTION | 佩戴检测传感器 | 检测用户是否佩戴 | 用于检测用户是否佩戴智能穿戴 |
**表6** 其他
| 传感器类型 | 中文描述 | 说明 | 主要用途 |
| ----------------------------- | ------- | -------------- | ---------------- |
| SENSOR_TYPE_HALL | 霍尔传感器 | 测量设备周围是否存在磁力吸引 | 设备的皮套模式 |
| SENSOR_TYPE_GRIP_DETECTOR | 手握检测传感器 | 检测设备是否有抓力施加 | 用于检查设备侧边是否被手握住 |
| SENSOR_TYPE_MAGNET_BRACKET | 磁铁支架传感器 | 检测设备是否被磁吸 | 检测设备是否位于车内或者室内 |
| SENSOR_TYPE_PRESSURE_DETECTOR | 按压检测传感器 | 检测设备是否有压力施加 | 用于检测设备的正上方是否存在按压 |
传感器是指用于侦测环境中所发生事件或变化,并将此消息发送至其他电子设备(如中央处理器)的设备,通常由敏感组件和转换组件组成。传感器是实现物联网智能化的重要基石,为实现全场景智慧化战略,支撑“1+8+N”产品需求,需要构筑统一的传感器管理框架,达到为各产品/业务提供低时延、低功耗的感知数据的目的。下面为传感器列表:
| 传感器类型 | 描述 | 说明 | 主要用途 |
| --------------------------------------- | ------------------ | ------------------------------------------------------------ | ---------------------------------------- |
| SENSOR_TYPE_ACCELEROMETER | 加速度传感器 | 测量三个物理轴(x、y&nbsp;&nbsp;z)上,施加在设备上的加速度(包括重力加速度),单位&nbsp;:&nbsp;m/s2 | 检测运动状态 |
| SENSOR_TYPE_ACCELEROMETER_UNCALIBRATED | 未校准加速度传感器 | 测量三个物理轴(x、y&nbsp;&nbsp;z)上,施加在设备上的未校准的加速度(包括重力加速度),单位&nbsp;:&nbsp;m/s2 | 检测加速度偏差估值 |
| SENSOR_TYPE_LINEAR_ACCELERATION | 线性加速度传感器 | 测量三个物理轴(x、y&nbsp;&nbsp;z)上,施加在设备上的线性加速度(不包括重力加速度),单位&nbsp;:&nbsp;m/s2 | 检测每个单轴方向上的线性加速度 |
| SENSOR_TYPE_GRAVITY | 重力传感器 | 测量三个物理轴(x、y&nbsp;&nbsp;z)上,施加在设备上的重力加速度,单位&nbsp;:&nbsp;m/s2 | 测量重力大小 |
| SENSOR_TYPE_GYROSCOPE | 陀螺仪传感器 | 测量三个物理轴(x、y&nbsp;&nbsp;z)上,设备的旋转角速度,单位&nbsp;:&nbsp;rad/s | 测量旋转的角速度 |
| SENSOR_TYPE_GYROSCOPE_UNCALIBRATED | 未校准陀螺仪传感器 | 测量三个物理轴(x、y&nbsp;&nbsp;z)上,设备的未校准旋转角速度,单位&nbsp;:&nbsp;rad/s | 测量旋转的角速度及偏差估值 |
| SENSOR_TYPE_SIGNIFICANT_MOTION | 大幅度动作传感器 | 测量三个物理轴(x、y&nbsp;&nbsp;z)上,设备是否存在大幅度运动;如果取值为1则代表存在大幅度运动,取值为0则代表没有大幅度运动 | 用于检测设备是否存在大幅度运动 |
| SENSOR_TYPE_PEDOMETER_DETECTION | 计步器检测传感器 | 检测用户的计步动作;如果取值为1则代表用户产生了计步行走的动作;取值为0则代表用户没有发生运动 | 用于检测用户是否有计步的动作 |
| SENSOR_TYPE_PEDOMETER | 计步器传感器 | 统计用户的行走步数 | 用于提供用户行走的步数数据 |
| SENSOR_TYPE_AMBIENT_TEMPERATURE | 环境温度传感器 | 测量环境温度,单位&nbsp;:&nbsp;摄氏度&nbsp;(°C) | 测量环境温度 |
| SENSOR_TYPE_MAGNETIC_FIELD | 磁场传感器 | 测量三个物理轴向(x、y、z)上,环境地磁场,单位&nbsp;:&nbsp;μT | 创建指南针 |
| SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED | 未校准磁场传感器 | 测量三个物理轴向(x、y、z)上,未校准环境地磁场,单位&nbsp;:&nbsp;μT | 测量地磁偏差估值 |
| SENSOR_TYPE_HUMIDITY | 湿度传感器 | 测量环境的相对湿度,以百分比&nbsp;(%)&nbsp;表示 | 监测露点、绝对湿度和相对湿度 |
| SENSOR_TYPE_BAROMETER | 气压计传感器 | 测量环境气压,单位&nbsp;:&nbsp;hPa&nbsp;&nbsp;mbar | 测量环境气压 |
| SENSOR_TYPE_ORIENTATION | 方向传感器 | 测量设备围绕所有三个物理轴(x、y、z)旋转的角度值,单位:rad | 用于提供屏幕旋转的3个角度值 |
| SENSOR_TYPE_ROTATION_VECTOR | 旋转矢量传感器 | 测量设备旋转矢量,复合传感器:由加速度传感器、磁场传感器、陀螺仪传感器合成 | 检测设备相对于东北天坐标系的方向 |
| SENSOR_TYPE_PROXIMITY | 接近光传感器 | 测量可见物体相对于设备显示屏的接近或远离状态 | 通话中设备相对人的位置 |
| SENSOR_TYPE_AMBIENT_LIGHT | 环境光传感器 | 测量设备周围光线强度,单位:lux | 自动调节屏幕亮度,检测屏幕上方是否有遮挡 |
| SENSOR_TYPE_HEART_RATE | 心率传感器 | 测量用户的心率数值 | 用于提供用户的心率健康数据 |
| SENSOR_TYPE_WEAR_DETECTION | 佩戴检测传感器 | 检测用户是否佩戴 | 用于检测用户是否佩戴智能穿戴 |
| SENSOR_TYPE_HALL | 霍尔传感器 | 测量设备周围是否存在磁力吸引 | 设备的皮套模式 |
## 运作机制
OpenHarmony传感器包含如下四个模块:Sensor API、Sensor Framework、Sensor Service和HD_IDL层。
OpenHarmony传感器包含如下四个模块:Sensor API、Sensor Framework、Sensor Service和HDF层。
**图1** OpenHarmony传感器
![zh-cn_image_0000001226521897](figures/zh-cn_image_0000001226521897.png)
![fad1a124-a90e-460f-84fc-e87d6caebb21](figures/fad1a124-a90e-460f-84fc-e87d6caebb21.png)
- Sensor API:提供传感器的基础API,主要包含查询传感器列表,订阅/取消传感器的数据、执行控制命令等,简化应用开发。
......@@ -91,7 +45,7 @@ OpenHarmony传感器包含如下四个模块:Sensor API、Sensor Framework、S
- Sensor Service:主要实现HD_IDL层数据接收、解析、分发,前后台的策略管控,对该设备Sensor的管理,Sensor权限管控等。
- HD_IDL层:对不同的FIFO、频率进行策略选择,以及适配不同设备。
- HDF层:对不同的FIFO、频率进行策略选择,以及适配不同设备。
## 约束与限制
......
......@@ -61,7 +61,7 @@
```
import vibrator from "@ohos.vibrator"
vibrator.vibrate(duration: number).then((error)=>{
vibrator.vibrate(1000).then((error)=>{
if(error){//调用失败,打印error.code和error.message
console.log("Promise return failed.error.code"+error.code+"error.message"+error.message);
}else{//调用成功,设备开始振动
......@@ -74,11 +74,11 @@
```
import vibrator from "@ohos.vibrator"
vibrator.stop(stopMode: VibratorStopMode).then((error)=>{
vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PREET).then((error)=>{
if(error){//调用失败,打印error.code和error.message
console.log(“Promise return failed.error.code”+error.code+“error.message”+error.message);
console.log("Promise return failed.error.code"+error.code+"error.message"+error.message);
}else{//调用成功,设备停止振动
Console.log(“Promise returned to indicate successful.”);
Console.log("Promise returned to indicate successful.");
};
})
```
......@@ -6,11 +6,11 @@
## 运作机制
Vibrator属于控制类小器件,主要包含以下四个模块:Vibrator API,Vibrator Framework,Vibrator Service和HD_IDL层。
Vibrator属于控制类小器件,主要包含以下四个模块:Vibrator API,Vibrator Framework,Vibrator Service和HDF层。
**图1** 控制类小器件中的Vibrator
![zh-cn_image_0000001180249428](figures/zh-cn_image_0000001180249428.png)
![0752d302-aeb9-481a-bb8f-e5524eb61eeb](figures/0752d302-aeb9-481a-bb8f-e5524eb61eeb.png)
- Vibrator API:提供振动器基础的API,主要包含振动器的列表查询,振动器的振动器效果查询,触发/关闭振动器等接口。
......@@ -18,9 +18,12 @@ Vibrator属于控制类小器件,主要包含以下四个模块:Vibrator API
- Vibrator Service:实现控制器的服务管理。
- HD_IDL层:适配不同设备。
- HDF层:适配不同设备。
## 约束与限制
在使用振动器时,开发者需要配置请求振动器的权限ohos.permission.VIBRATE,才能控制振动器振动。
在使用振动器时,开发者需要配置请求振动器的权限ohos.permission.VIBRATE,才能控制振动器振动,敏感级别是system_grant。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册