Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Cảm biến

Biểu tượng cảm biến Android HAL

Cảm biến Android cấp cho các ứng dụng quyền truy cập vào các cảm biến vật lý bên dưới của thiết bị di động. Chúng là các thiết bị ảo cung cấp dữ liệu được xác định bởi sensor.h , Lớp trừu tượng phần cứng cảm biến (HAL).

Cảm biến Android là gì?

Cảm biến Android là thiết bị ảo cung cấp dữ liệu đến từ một tập hợp các cảm biến vật lý: gia tốc kế, con quay hồi chuyển, từ kế, phong vũ biểu, độ ẩm, áp suất, ánh sáng, độ gần và cảm biến nhịp tim.

Không có trong danh sách các thiết bị vật lý cung cấp dữ liệu là camera, cảm biến vân tay, micrô và màn hình cảm ứng. Các thiết bị này có cơ chế báo cáo riêng; việc phân tách là tùy ý, nhưng nói chung, cảm biến Android cung cấp dữ liệu băng thông thấp hơn. Ví dụ: “100hz x 3 kênh” cho gia tốc kế so với “25hz x 8 MP x 3 kênh” cho máy ảnh hoặc “44kHz x 1 kênh” cho micrô.

Android không xác định cách các cảm biến vật lý khác nhau được kết nối với hệ thống trên chip (SoC).

  • Thông thường, các chip cảm biến được kết nối với SoC thông qua một trung tâm cảm biến , cho phép một số giám sát và xử lý dữ liệu năng lượng thấp.
  • Thông thường, Mạch tích hợp liên kết (I2C) hoặc Giao diện ngoại vi nối tiếp (SPI) được sử dụng làm cơ chế vận chuyển.
  • Để giảm tiêu thụ điện năng, một số kiến ​​trúc được phân cấp, với một số xử lý tối thiểu được thực hiện trong mạch tích hợp dành riêng cho ứng dụng (ASIC - như phát hiện chuyển động trên chip gia tốc kế) và hơn thế nữa được thực hiện trong vi điều khiển (như phát hiện bước trong trung tâm cảm biến ).
  • Tùy thuộc vào nhà sản xuất thiết bị để lựa chọn kiến ​​trúc dựa trên các đặc điểm về độ chính xác, công suất, giá cả và kích thước gói. Xem Ngăn xếp cảm biến để biết thêm thông tin.
  • Khả năng phân phối là một yếu tố quan trọng cần xem xét để tối ưu hóa điện năng. Xem Batch để biết thêm thông tin.

Mỗi cảm biến Android có một “loại” đại diện cho cách cảm biến hoạt động và dữ liệu mà nó cung cấp.

  • Các loại Cảm biến Android chính thức được xác định trong sensor.h dưới tên SENSOR_TYPE_…
    • Phần lớn các cảm biến có loại cảm biến chính thức.
    • Các loại đó được ghi lại trong Android SDK.
    • Hành vi của các cảm biến với các loại đó được kiểm tra trong Bộ kiểm tra tính tương thích của Android (CTS).
  • Nếu nhà sản xuất tích hợp một loại cảm biến mới trên thiết bị Android, nhà sản xuất có thể xác định loại cảm biến tạm thời của riêng mình để tham khảo.
    • Những loại đó không có giấy tờ, vì vậy các nhà phát triển ứng dụng khó có thể sử dụng chúng, vì họ không biết về chúng, hoặc biết rằng chúng hiếm khi xuất hiện (chỉ trên một số thiết bị của nhà sản xuất cụ thể này).
    • Chúng không được kiểm tra bởi CTS.
    • Sau khi Android xác định loại cảm biến chính thức cho loại cảm biến này, các nhà sản xuất phải ngừng sử dụng loại tạm thời của riêng họ và thay vào đó sử dụng loại chính thức. Bằng cách này, cảm biến sẽ được nhiều nhà phát triển ứng dụng sử dụng hơn.
  • Danh sách tất cả các cảm biến có trên thiết bị được báo cáo bởi bộ phận triển khai HAL.
    • Có thể có một số cảm biến cùng loại. Ví dụ, hai cảm biến tiệm cận hoặc hai gia tốc kế.
    • Phần lớn các ứng dụng chỉ yêu cầu một cảm biến duy nhất của một loại nhất định. Ví dụ: một ứng dụng yêu cầu gia tốc kế mặc định sẽ nhận được gia tốc kế đầu tiên trong danh sách.
    • Cảm biến thường được xác định theo cặp đánh thứckhông đánh thức , cả hai cảm biến chia sẻ cùng một loại, nhưng khác nhau bởi đặc tính đánh thức của chúng.

Cảm biến Android cung cấp dữ liệu dưới dạng một chuỗi các sự kiện cảm biến.

Mỗi sự kiện bao gồm:

  • một tay cầm cảm biến đã tạo ra nó
  • dấu thời gian tại đó sự kiện được phát hiện hoặc đo lường, dựa trên SystemClock.elapsedRealtimeNanos()
  • và một số dữ liệu

Việc giải thích dữ liệu được báo cáo phụ thuộc vào loại cảm biến. Xem định nghĩa loại cảm biến để biết chi tiết về dữ liệu nào được báo cáo cho từng loại cảm biến.

Tài liệu hiện có

Nhắm mục tiêu vào các nhà phát triển

Nhắm mục tiêu vào các nhà sản xuất