![Ikon HAL Sensor Android](https://source.android.com/static/docs/core/interaction/sensors/images/ape_fwk_hal_sensors.png?authuser=4&hl=id)
Sensor Android memberi aplikasi akses ke sensor fisik yang mendasari perangkat seluler. Mereka adalah perangkat virtual penyedia data yang ditentukan oleh sensor.h , sensor Lapisan Abstraksi Perangkat Keras (HAL).
Apa itu sensor Android?
Sensor Android adalah perangkat virtual yang menyediakan data yang berasal dari serangkaian sensor fisik: akselerometer, giroskop, magnetometer, barometer, kelembapan, tekanan, cahaya, jarak, dan sensor detak jantung.
Yang tidak termasuk dalam daftar perangkat fisik penyedia data adalah kamera, sensor sidik jari, mikrofon, dan layar sentuh. Perangkat ini memiliki mekanisme pelaporannya sendiri; pemisahannya sewenang-wenang, namun secara umum, sensor Android memberikan data bandwidth yang lebih rendah. Misalnya, “saluran 100hz x 3” untuk akselerometer versus “saluran 25hz x 8 MP x 3” untuk kamera atau “saluran 44kHz x 1” untuk mikrofon.
Android tidak menentukan bagaimana berbagai sensor fisik dihubungkan ke system on chip (SoC).
- Seringkali, chip sensor dihubungkan ke SoC melalui hub sensor , memungkinkan pemantauan dan pemrosesan data berdaya rendah.
- Seringkali, Inter-Integrated Circuit (I2C) atau Serial Peripheral Interface (SPI) digunakan sebagai mekanisme transportasi.
- Untuk mengurangi konsumsi daya, beberapa arsitektur bersifat hierarkis, dengan beberapa pemrosesan minimal dilakukan di sirkuit terintegrasi khusus aplikasi (ASIC - seperti deteksi gerakan pada chip akselerometer), dan lebih banyak lagi yang dilakukan di mikrokontroler (seperti deteksi langkah di hub sensor ).
- Produsen perangkat berhak memilih arsitektur berdasarkan karakteristik akurasi, daya, harga, dan ukuran paket. Lihat Tumpukan sensor untuk informasi lebih lanjut.
- Kemampuan batching merupakan pertimbangan penting untuk optimalisasi daya. Lihat Pengelompokan untuk informasi lebih lanjut.
Setiap sensor Android memiliki “tipe” yang mewakili perilaku sensor dan data apa yang disediakannya.
- Jenis Sensor Android resmi ditentukan di sensor.h dengan nama SENSOR_TYPE_…
- Sebagian besar sensor memiliki tipe sensor resmi.
- Tipe tersebut didokumentasikan di Android SDK.
- Perilaku sensor dengan tipe tersebut diuji di Android Compatibility Test Suite (CTS).
- Jika pabrikan mengintegrasikan jenis sensor baru pada perangkat Android, pabrikan dapat menentukan tipe sementaranya sendiri untuk merujuk pada sensor tersebut.
- Jenis tersebut tidak terdokumentasi, sehingga pengembang aplikasi kemungkinan besar tidak akan menggunakannya, baik karena mereka tidak mengetahuinya, atau mengetahui bahwa jenis tersebut jarang ada (hanya pada beberapa perangkat dari pabrikan khusus ini).
- Mereka tidak diuji oleh CTS.
- Setelah Android menentukan jenis sensor resmi untuk jenis sensor ini, produsen harus berhenti menggunakan jenis sementara mereka sendiri dan menggunakan jenis resmi sebagai gantinya. Dengan cara ini, sensor akan digunakan oleh lebih banyak pengembang aplikasi.
- Daftar semua sensor yang ada pada perangkat dilaporkan oleh implementasi HAL.
- Mungkin ada beberapa sensor dengan tipe yang sama. Misalnya dua sensor proximity atau dua accelerometer.
- Sebagian besar aplikasi hanya meminta satu sensor dari jenis tertentu. Misalnya, aplikasi yang meminta akselerometer default akan mendapatkan akselerometer pertama dalam daftar.
- Sensor sering kali ditentukan berdasarkan pasangan bangun dan tidak bangun , kedua sensor tersebut memiliki jenis yang sama, namun berbeda berdasarkan karakteristik bangunnya.
Sensor Android menyediakan data sebagai rangkaian peristiwa sensor.
Setiap acara berisi:
- pegangan ke sensor yang menghasilkannya
- stempel waktu saat peristiwa terdeteksi atau diukur, berdasarkan
SystemClock.elapsedRealtimeNanos()
- dan beberapa data
Interpretasi data yang dilaporkan bergantung pada jenis sensor. Lihat definisi jenis sensor untuk detail tentang data apa yang dilaporkan untuk setiap jenis sensor.
Dokumentasi yang ada
Ditargetkan pada pengembang
- Ringkasan
- Referensi SDK
- Stack Overflow dan situs tutorial
- Karena dokumentasi sensor terkadang kurang, pengembang menggunakan situs tanya jawab seperti Stack Overflow untuk menemukan jawabannya.
- Beberapa situs tutorial juga ada, tetapi tidak mencakup fitur-fitur terbaru seperti batching, gerakan signifikan, dan vektor rotasi permainan.
- Jawaban di sana tidak selalu benar, dan menunjukkan di mana diperlukan lebih banyak dokumentasi.
Ditargetkan pada produsen
- Ringkasan
- Halaman Sensor ini dan sub-halamannya.
- Lapisan abstraksi perangkat keras (HAL)
- /platform/hardware/libhardware/+/main/include/hardware/sensors.h
- Juga dikenal sebagai "sensor.h"
- Sumber kebenaran. Dokumen pertama yang diperbarui ketika fitur baru dikembangkan.
- Android CDD (Dokumen Definisi Kompatibilitas)
- /kompatibilitas/android-cdd.pdf
- Lihat bagian yang berhubungan dengan sensor.
- CDD bersifat lunak, sehingga memenuhi persyaratan CDD saja tidak cukup untuk memastikan sensor berkualitas tinggi.