天天看点

Android Sensors 总览(基于高通android平台)

Sensor分类专栏 总览

Sensor的作用

Sensor是指将收集到的信息转换成设备能处理的信号的元件或装置。

传感器收集转换的信号(物理量)有温度、光、颜色、气压、磁力、速度、加速度等。

大多数 Android 设备都有内置传感器,用来测量运动、屏幕方向和各种环境条件。这些传感器能够提供高度精确的原始数据,非常适合用来监测设备的三维移动或定位,或监测设备周围环境的变化。

例如: 陀螺仪的数据可以辅助camera进行 防抖算法的实现,运动传感器可以记录运动的步数,游戏设备可以根据传感器数据识别动作;磁传感器可以识别磁场方向实现罗盘功能等;

Android系统中Sensor

在Android系统中,Google为Sensor提供了统一的HAL接口, AOSP中封装了统一的sensor的访问接口,应用开发人员不用实现底层操作,使用固定的接口(SensorManager)即可完成sensor的操作;硬件抽象层(HAL)以及sensor 设备驱动层,AOSP中并不提供标准,由平台厂商提供框架及代码逻辑,设备驱动由sensor厂商根据框架环境,进行实现;

高通平台Sensor子系统实现方式

上面提到,HAL层及设备驱动层均需平台厂商提供框架及代码逻辑,在高通不同的设备平台上,有多种实现方式,可简单归为3种类别;

基于Linux kernel input driver实现设备驱动,通过event上报和nativer Sensor HAL 通信;

基于DDF框架sensor设备驱动,通过SSC框架处理,完成Sensor底层数据的处理与上报; Sensor HAL sensor1 libapi + sensor daemon; 两者基于QMI 相互通信;

基于SEE 结构的实现方式

后面对各种平台做较详细些的描述:

Sensor 专栏Blog 链接:

基于Google为Sensor提供的Framework框架规范,在AOSP中的主要内容:

AOSP sensor applicattion数据读取

AOSP Sensor Servervice

AOSP sensor Manage

高通平台 input kernel driver 通过event 与 Sensor HAL的框架相关内容:

Android Sensor Input类型 (一) 总览

Android Sensor Input类型 (二) Device Driver

Android Sensor Input类型 (三) Sensor Class