センサー

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。
Android センサー HAL アイコン

Android センサーは、アプリケーションがモバイル デバイスの基盤となる物理センサーにアクセスできるようにします。これらは、 sensors.h (センサーのハードウェア アブストラクション レイヤー (HAL)) によって定義された、データを提供する仮想デバイスです。

Android センサーとは何ですか?

Android センサーは、一連の物理センサー (加速度計、ジャイロスコープ、磁力計、気圧計、湿度、圧力、光、近接、および心拍数センサー) からのデータを提供する仮想デバイスです。

データを提供する物理デバイスのリストに含まれていないのは、カメラ、指紋センサー、マイク、およびタッチ スクリーンです。これらのデバイスには、独自のレポート メカニズムがあります。分離は任意ですが、一般に、Android センサーはより低い帯域幅のデータを提供します。たとえば、加速度計の場合は「100hz x 3 チャネル」、カメラの場合は「25hz x 8 MP x 3 チャネル」、マイクの場合は「44kHz x 1 チャネル」などです。

Android は、さまざまな物理センサーをシステム オン チップ (SoC) に接続する方法を定義していません。

  • 多くの場合、センサー チップはセンサー ハブを介して SoC に接続され、低電力の監視とデータの処理が可能になります。
  • 多くの場合、Inter-Integrated Circuit (I2C) または Serial Peripheral Interface (SPI) がトランスポート メカニズムとして使用されます。
  • 消費電力を削減するために、一部のアーキテクチャは階層化されており、最小限の処理が特定用途向け集積回路 (ASIC - 加速度センサー チップのモーション検出など) で行われ、マイクロコントローラーで多くの処理が行われます (センサー ハブでのステップ検出など)。 )。
  • 精度、電力、価格、およびパッケージ サイズの特性に基づいてアーキテクチャを選択するのは、デバイス メーカー次第です。詳細については、センサー スタックを参照してください。
  • バッチ機能は、電力の最適化にとって重要な考慮事項です。詳細については、バッチ処理を参照してください。

各 Android センサーには、センサーの動作と提供するデータを表す「タイプ」があります。

  • 公式の Androidセンサー タイプは、 sensors.hで SENSOR_TYPE_… という名前で定義されています。
    • ほとんどのセンサーには、公式のセンサー タイプがあります。
    • これらのタイプは、Android SDK に記載されています。
    • これらのタイプのセンサーの動作は、Android 互換性テスト スイート (CTS) でテストされています。
  • メーカーが新しい種類のセンサーを Android デバイスに統合する場合、メーカーはそれを参照する独自の一時的な型を定義できます。
    • これらのタイプは文書化されていないため、アプリケーション開発者はそれらについて知らないか、めったに存在しないことを知っているため (この特定の製造元の一部のデバイスにのみ)、それらを使用することはほとんどありません。
    • それらは CTS によってテストされません。
    • Android がこの種のセンサーの正式なセンサー タイプを定義したら、メーカーは独自の一時的なタイプの使用をやめ、代わりに公式のタイプを使用する必要があります。このようにして、センサーはより多くのアプリケーション開発者によって使用されます。
  • デバイスに存在するすべてのセンサーのリストは、HAL 実装によって報告されます。
    • 同じタイプのセンサーが複数ある場合があります。たとえば、2 つの近接センサーや 2 つの加速度計などです。
    • アプリケーションの大部分は、特定のタイプの単一のセンサーのみを要求します。たとえば、デフォルトの加速度計を要求するアプリケーションは、リストの最初の加速度計を取得します。
    • センサーは多くの場合、ウェイクアップ非ウェイクアップのペアで定義されます。両方のセンサーは同じタイプを共有しますが、ウェイクアップ特性が異なります。

Android センサーは、一連のセンサー イベントとしてデータを提供します。

イベントには次が含まれます。

  • それを生成したセンサーへのハンドル
  • SystemClock.elapsedRealtimeNanos()に基づく、イベントが検出または測定されたタイムスタンプ
  • そしていくつかのデータ

報告されたデータの解釈は、センサーの種類によって異なります。各センサー タイプでレポートされるデータの詳細については、センサー タイプの定義を参照してください。

既存のドキュメント

開発者向け

メーカー対象

  • 概要
  • ハードウェア抽象化レイヤー (HAL)
  • Android CDD (互換性定義ドキュメント)
    • /compatibility/android-cdd.pdf
    • センサーに関連するセクションを参照してください。
    • CDD は寛大であるため、CDD の要件を満たすだけでは、高品質のセンサーを確保するには不十分です。