W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
HarmonyOS 傳感器是應(yīng)用訪問底層硬件傳感器的一種設(shè)備抽象概念。開發(fā)者根據(jù)傳感器提供的 Sensor API,可以查詢設(shè)備上的傳感器,訂閱傳感器的數(shù)據(jù),并根據(jù)傳感器數(shù)據(jù)定制相應(yīng)的算法,開發(fā)各類應(yīng)用,比如指南針、運動健康、游戲等。
根據(jù)傳感器的用途,可以將傳感器分為六大類:運動類傳感器、環(huán)境類傳感器、方向類傳感器、光線類傳感器、健康類傳感器、其他類傳感器(如霍爾傳感器),每一大類傳感器包含不同類型的傳感器,某種類型的傳感器可能是單一的物理傳感器,也可能是由多個物理傳感器復(fù)合而成。傳感器列表如[圖1]所示。
分類 | API類名 | 傳感器類型 | 中文描述 | 說明 | 主要用途 |
---|---|---|---|---|---|
運動類 | ohos.sensor.agent.CategoryMotionAgent | SENSOR_TYPE_ACCELEROMETER | 加速度傳感器 | 測量三個物理軸(x、y 和 z)上,施加在設(shè)備上的加速度(包括重力加速度),單位 : m/s2 | 檢測運動狀態(tài) |
SENSOR_TYPE_ACCELEROMETER_UNCALIBRATED | 未校準(zhǔn)加速度傳感器 | 測量三個物理軸(x、y 和 z)上,施加在設(shè)備上的未校準(zhǔn)的加速度(包括重力加速度),單位 : m/s2 | 檢測加速度偏差估值 | ||
SENSOR_TYPE_LINEAR_ACCELERATION | 線性加速度傳感器 | 測量三個物理軸(x、y 和 z)上,施加在設(shè)備上的線性加速度(不包括重力加速度),單位 : m/s2 | 檢測每個單軸方向上的線性加速度 | ||
SENSOR_TYPE_GRAVITY | 重力傳感器 | 測量三個物理軸(x、y 和 z)上,施加在設(shè)備上的重力加速度,單位 : m/s2 | 測量重力大小 | ||
SENSOR_TYPE_GYROSCOPE | 陀螺儀傳感器 | 測量三個物理軸(x、y 和 z)上,設(shè)備的旋轉(zhuǎn)角速度,單位 : rad/s | 測量旋轉(zhuǎn)的角速度 | ||
SENSOR_TYPE_GYROSCOPE_UNCALIBRATED | 未校準(zhǔn)陀螺儀傳感器 | 測量三個物理軸(x、y 和 z)上,設(shè)備的未校準(zhǔn)旋轉(zhuǎn)角速度,單位 : rad/s | 測量旋轉(zhuǎn)的角速度及偏差估值 | ||
SENSOR_TYPE_SIGNIFICANT_MOTION | 大幅度動作傳感器 | 測量三個物理軸(x、y 和 z)上,設(shè)備是否存在大幅度運動;如果取值為1則代表存在大幅度運動,取值為0則代表沒有大幅度運動 | 用于檢測設(shè)備是否存在大幅度運動 | ||
SENSOR_TYPE_DROP_DETECTION | 跌落檢測傳感器 | 檢測設(shè)備的跌落狀態(tài);如果取值為1則代表發(fā)生跌落,取值為0則代表沒有發(fā)生跌落 | 用于檢測設(shè)備是否發(fā)生了跌落 | ||
SENSOR_TYPE_PEDOMETER_DETECTION | 計步器檢測傳感器 | 檢測用戶的計步動作;如果取值為1則代表用戶產(chǎn)生了計步行走的動作;取值為0則代表用戶沒有發(fā)生運動 | 用于檢測用戶是否有計步的動作 | ||
SENSOR_TYPE_PEDOMETER | 計步器傳感器 | 統(tǒng)計用戶的行走步數(shù) | 用于提供用戶行走的步數(shù)數(shù)據(jù) | ||
環(huán)境類 | ohos.sensor.agent.CategoryEnvironmentAgent | SENSOR_TYPE_AMBIENT_TEMPERATURE | 環(huán)境溫度傳感器 | 測量環(huán)境溫度,單位 : 攝氏度 (°C) | 測量環(huán)境溫度 |
SENSOR_TYPE_MAGNETIC_FIELD | 磁場傳感器 | 測量三個物理軸向(x、y、z)上,環(huán)境地磁場,單位 : μT | 創(chuàng)建指南針 | ||
SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED | 未校準(zhǔn)磁場傳感器 | 測量三個物理軸向(x、y、z)上,未校準(zhǔn)環(huán)境地磁場,單位 : μT | 測量地磁偏差估值 | ||
SENSOR_TYPE_HUMIDITY | 濕度傳感器 | 測量環(huán)境的相對濕度,以百分比 (%) 表示 | 監(jiān)測露點、絕對濕度和相對濕度 | ||
SENSOR_TYPE_BAROMETER | 氣壓計傳感器 | 測量環(huán)境氣壓,單位 : hPa 或 mbar | 測量環(huán)境氣壓 | ||
SENSOR_TYPE_SAR | 比吸收率傳感器 | 測量比吸收率,單位:W/kg | 測量設(shè)備的電磁波能量吸收比值。 | ||
方向類 | ohos.sensor.agent.CategoryOrientationAgent | SENSOR_TYPE_6DOF | 6自由度傳感器 | 測量上下、前后、左右方向上的位移,單位:m或mm;測量俯仰、偏擺、翻滾的角度,單位:rad | 檢測設(shè)備的三個平移自由度以及旋轉(zhuǎn)自由度,用于目標(biāo)定位追蹤,如:VR |
SENSOR_TYPE_SCREEN_ROTATION | 屏幕旋轉(zhuǎn)傳感器 | 檢測設(shè)備屏幕的旋轉(zhuǎn)狀態(tài) | 用于檢測設(shè)備屏幕是否發(fā)生了旋轉(zhuǎn) | ||
SENSOR_TYPE_DEVICE_ORIENTATION | 設(shè)備方向傳感器 | 測量設(shè)備的旋轉(zhuǎn)方向,單位:rad | 用于檢測設(shè)備旋轉(zhuǎn)方向的角度值 | ||
SENSOR_TYPE_ORIENTATION | 方向傳感器 | 測量設(shè)備圍繞所有三個物理軸(x、y、z)旋轉(zhuǎn)的角度值,單位:rad | 用于提供屏幕旋轉(zhuǎn)的3個角度值 | ||
SENSOR_TYPE_ROTATION_VECTOR | 旋轉(zhuǎn)矢量傳感器 | 測量設(shè)備旋轉(zhuǎn)矢量,復(fù)合傳感器:由加速度傳感器、磁場傳感器、陀螺儀傳感器合成 | 檢測設(shè)備相對于東北天坐標(biāo)系的方向 | ||
SENSOR_TYPE_GAME_ROTATION_VECTOR | 游戲旋轉(zhuǎn)矢量傳感器 | 測量設(shè)備游戲旋轉(zhuǎn)矢量,復(fù)合傳感器:由加速度傳感器、陀螺儀傳感器合成 | 應(yīng)用于游戲場景 | ||
SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR | 地磁旋轉(zhuǎn)矢量傳感器 | 測量設(shè)備地磁旋轉(zhuǎn)矢量,復(fù)合傳感器:由加速度傳感器、磁場傳感器合成 | 用于測量地磁旋轉(zhuǎn)矢量 | ||
光線類 | ohos.sensor.agent.CategoryLightAgent | SENSOR_TYPE_PROXIMITY | 接近光傳感器 | 測量可見物體相對于設(shè)備顯示屏的接近或遠(yuǎn)離狀態(tài) | 通話中設(shè)備相對人的位置 |
SENSOR_TYPE_TOF | ToF傳感器 | 測量光在介質(zhì)中行進(jìn)一段距離所需的時間 | 人臉識別 | ||
SENSOR_TYPE_AMBIENT_LIGHT | 環(huán)境光傳感器 | 測量設(shè)備周圍光線強(qiáng)度,單位:lux | 自動調(diào)節(jié)屏幕亮度,檢測屏幕上方是否有遮擋 | ||
SENSOR_TYPE_COLOR_TEMPERATURE | 色溫傳感器 | 測量環(huán)境中的色溫 | 應(yīng)用于設(shè)備的影像處理 | ||
SENSOR_TYPE_COLOR_RGB | RGB顏色傳感器 | 測量環(huán)境中的RGB顏色值 | 通過三原色的反射比率實現(xiàn)顏色檢測 | ||
SENSOR_TYPE_COLOR_XYZ | XYZ顏色傳感器 | 測量環(huán)境中的XYZ顏色值 | 用于辨識真色色點,還原色彩更真實 | ||
健康類 | ohos.sensor.agent.CategoryBodyAgent | SENSOR_TYPE_HEART_RATE | 心率傳感器 | 測量用戶的心率數(shù)值 | 用于提供用戶的心率健康數(shù)據(jù) |
SENSOR_TYPE_WEAR_DETECTION | 佩戴檢測傳感器 | 檢測用戶是否佩戴 | 用于檢測用戶是否佩戴智能穿戴 | ||
其他類 | ohos.sensor.agent.CategoryOtherAgent | SENSOR_TYPE_HALL | 霍爾傳感器 | 測量設(shè)備周圍是否存在磁力吸引 | 設(shè)備的皮套模式 |
SENSOR_TYPE_GRIP_DETECTOR | 手握檢測傳感器 | 檢測設(shè)備是否有抓力施加 | 用于檢查設(shè)備側(cè)邊是否被手握住 | ||
SENSOR_TYPE_MAGNET_BRACKET | 磁鐵支架傳感器 | 檢測設(shè)備是否被磁吸 | 檢測設(shè)備是否位于車內(nèi)或者室內(nèi) | ||
SENSOR_TYPE_PRESSURE_DETECTOR | 按壓檢測傳感器 | 檢測設(shè)備是否有壓力施加 | 用于檢測設(shè)備的正上方是否存在按壓 |
HarmonyOS 傳感器包含如下四個模塊:Sensor API、Sensor Framework、Sensor Service、HD_IDL 層。
圖1 HarmonyOS 傳感器
傳感器 | HarmonyOS 權(quán)限名 | 敏感級別 | 權(quán)限描述 |
---|---|---|---|
加速度傳感器、加速度未校準(zhǔn)傳感器、線性加速度傳感器 | ohos.permission.ACCELEROMETER | system_grant | 允許訂閱Motion組對應(yīng)的加速度傳感器的數(shù)據(jù) |
陀螺儀傳感器、陀螺儀未校準(zhǔn)傳感器 | ohos.permission.GYROSCOPE | system_grant | 允許訂閱 Motion 組對應(yīng)的陀螺儀傳感器的數(shù)據(jù) |
計步器 | ohos.permission.ACTIVITY_MOTION | user_grant | 允許訂閱運動狀態(tài) |
心率 | ohos.permission.READ_HEALTH_DATA | user_grant | 允許讀取健康數(shù)據(jù) |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: