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型別 (二) Device Driver
Android Sensor Input型別 (三) Sensor Class
Android Sensor Input型別 (四) Sensor HAL 實現
Android Sensor Input型別 (五) Sensor HAL NativeSensorManager
SEE相關