Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

مجسات

رمز HAL لمستشعرات Android

تمنح مستشعرات Android التطبيقات الوصول إلى المستشعرات المادية الأساسية للجهاز المحمول. إنها أجهزة افتراضية توفر البيانات تحددها sensors.h ، طبقة تجريد أجهزة الاستشعار (HAL).

ما هي مستشعرات Android؟

أجهزة استشعار Android هي أجهزة افتراضية توفر البيانات الواردة من مجموعة من أجهزة الاستشعار المادية: مقاييس التسارع ، والجيروسكوبات ، ومقاييس المغناطيسية ، والبارومتر ، والرطوبة ، والضغط ، والضوء ، ومستشعرات القرب ومعدل ضربات القلب.

ليست مدرجة في قائمة الأجهزة المادية التي توفر البيانات هي الكاميرا ومستشعر بصمات الأصابع والميكروفون وشاشة اللمس. هذه الأجهزة لديها آلية الإبلاغ الخاصة بها ؛ الفصل تعسفي ، ولكن بشكل عام ، توفر مستشعرات Android بيانات نطاق ترددي أقل. على سبيل المثال ، "قنوات 100 هرتز × 3" لمقياس التسارع مقابل "قنوات 25 هرتز × 8 ميجابكسل × 3" للكاميرا أو "قناة 44 كيلو هرتز × 1" للميكروفون.

لا يحدد Android كيفية توصيل المستشعرات المادية المختلفة بالنظام على الرقاقة (SoC).

  • في كثير من الأحيان ، يتم توصيل شرائح المستشعر بـ SoC من خلال محور مستشعر ، مما يسمح ببعض مراقبة ومعالجة البيانات منخفضة الطاقة.
  • في كثير من الأحيان ، يتم استخدام الدائرة المتكاملة (I2C) أو الواجهة الطرفية التسلسلية (SPI) كآلية نقل.
  • لتقليل استهلاك الطاقة ، تكون بعض البنى هرمية ، مع إجراء بعض المعالجة البسيطة في الدائرة المتكاملة الخاصة بالتطبيق (ASIC - مثل اكتشاف الحركة على شريحة مقياس التسارع) ، ويتم عمل المزيد في متحكم دقيق (مثل اكتشاف الخطوة في محور المستشعر ).
  • الأمر متروك لجهة تصنيع الجهاز لاختيار بنية قائمة على خصائص الدقة والقوة والسعر وحجم الحزمة. انظر مكدس الاستشعار لمزيد من المعلومات.
  • تعد قدرات التجميع اعتبارًا مهمًا لتحسين الطاقة. راجع التجميع لمزيد من المعلومات.

يحتوي كل مستشعر Android على "نوع" يمثل سلوك المستشعر والبيانات التي يوفرها.

  • يتم تحديد أنواع مستشعرات Android الرسمية في المستشعرات. h تحت الأسماء SENSOR_TYPE_ ...
    • الغالبية العظمى من أجهزة الاستشعار لديها نوع مستشعر رسمي.
    • هذه الأنواع موثقة في Android SDK.
    • يتم اختبار سلوك أجهزة الاستشعار بهذه الأنواع في حزمة اختبار توافق Android (CTS).
  • إذا قامت الشركة المصنعة بدمج نوع جديد من أجهزة الاستشعار على جهاز Android ، فيمكن للشركة المصنعة تحديد نوعها المؤقت الخاص بها للإشارة إليه.
    • هذه الأنواع غير موثقة ، لذلك من غير المحتمل أن يستخدمها مطورو التطبيقات ، إما لأنهم لا يعرفون عنها ، أو يعرفون أنها نادراً ما تكون موجودة (فقط على بعض الأجهزة من هذه الشركة المصنعة المحددة).
    • لم يتم اختبارها بواسطة CTS.
    • بمجرد أن يحدد Android نوع المستشعر الرسمي لهذا النوع من أجهزة الاستشعار ، يجب على الشركات المصنعة التوقف عن استخدام النوع المؤقت الخاص بهم واستخدام النوع الرسمي بدلاً من ذلك. بهذه الطريقة ، سيتم استخدام المستشعر بواسطة المزيد من مطوري التطبيقات.
  • تم الإبلاغ عن قائمة جميع أجهزة الاستشعار الموجودة على الجهاز من خلال تنفيذ HAL.
    • يمكن أن يكون هناك عدة أجهزة استشعار من نفس النوع. على سبيل المثال ، جهازي استشعار تقارب أو مقياسين للتسارع.
    • تتطلب الغالبية العظمى من التطبيقات جهاز استشعار واحد فقط من نوع معين. على سبيل المثال ، سيحصل التطبيق الذي يطلب مقياس التسارع الافتراضي على أول مقياس تسارع في القائمة.
    • وغالبا ما تعرف أجهزة الاستشعار التي كتبها إيقاظ و غير استيقاظ أزواج، كل من أجهزة الاستشعار تقاسم نفس النوع، ولكن تختلف من خاصية إيقاظ بهم.

توفر مستشعرات Android البيانات على شكل سلسلة من أحداث المستشعرات.

يحتوي كل حدث على:

  • مقبض لجهاز الاستشعار الذي أنشأه
  • الطابع الزمني الذي تم فيه اكتشاف الحدث أو قياسه ، بناءً على SystemClock.elapsedRealtimeNanos()
  • وبعض البيانات

يعتمد تفسير البيانات المبلغ عنها على نوع المستشعر. راجع تعريفات نوع المستشعر للحصول على تفاصيل حول البيانات التي يتم الإبلاغ عنها لكل نوع من أنواع أجهزة الاستشعار.

الوثائق الموجودة

تستهدف المطورين

تستهدف الشركات المصنعة