أنواع أجهزة الاستشعار

يصف هذا القسم محاور الاستشعار وأدوات الاستشعار الأساسية وأدوات الاستشعار المركبة (النشاط والوضع والتفاعل غير المعاد معايرة).

محاور أجهزة الاستشعار

يتم التعبير عن قيم أحداث أجهزة الاستشعار من العديد من أجهزة الاستشعار في إطار محدّد يكون ثابتًا بالنسبة إلى الجهاز.

محاور الأجهزة الجوّالة

لا ترتبط Sensor API إلا بالاتجاه الطبيعي للشاشة (لا يتم تبديل المحاور عند تغيير اتجاه شاشة الجهاز).

تنسيق
نظام واجهة برمجة التطبيقات الخاصة بأجهزة الاستشعار للأجهزة الجوّالة

الشكل 1: نظام التنسيق (بالنسبة إلى جهاز جوّال) المستخدَم في Sensor API

محاور السيارات

في عمليات تنفيذ Android Automotive، يتم تحديد المحاور بالنسبة إلى إطار جسم المركبة. نقطة الأصل لإطار مرجعي المركبة هي مركز المحور الخلفي. يتم توجيه إطار المرجع للمركبة بحيث:

  • يشير محور X إلى اليمين ويقع على مستوى أفقي، عموديًا على مستوى التماثل للمركبة.
  • يشير المحور ص إلى الأمام ويقع على مستوى أفقي.
نظام التنسيق لواجهة برمجة تطبيقات أجهزة الاستشعار
للأجهزة في مجال السيارات

الشكل 2: نظام التنسيق (بالنسبة إلى جهاز سيارات) المستخدَم في Sensor API

إطار مرجع المركبة هو نظام إحداثيات يعتمد على اليد اليمنى. لذلك، يشير محور Z إلى أعلى.

يتم محاذاة محور Z للإطار المرجعي مع الجاذبية، ما يعني أنّ محورَي X وY يكونان أفقيَين. نتيجةً لذلك، قد لا يمرّ محور Y دائمًا عبر المحور الأمامي.

أجهزة الاستشعار الأساسية

تتم تسمية أنواع أجهزة الاستشعار الأساسية باسم أجهزة الاستشعار المادية التي تمثّلها. تنقل هذه أجهزة الاستشعار البيانات من جهاز استشعار مادي واحد (على عكس أجهزة الاستشعار المركبة التي تنشئ البيانات من أجهزة استشعار أخرى). تشمل أمثلة أنواع أجهزة الاستشعار الأساسية ما يلي:

  • SENSOR_TYPE_ACCELEROMETER
  • SENSOR_TYPE_GYROSCOPE
  • SENSOR_TYPE_MAGNETOMETER

ومع ذلك، لا تتساوى أدوات الاستشعار الأساسية مع أدوات الاستشعار الأساسية ولا يجب الخلط بينهما. البيانات الواردة من جهاز استشعار أساسي ليست الإخراج الأوّلي لجهاز الاستشعار المادي لأنّه يتم تطبيق تصحيحات (مثل تعويض الانحياز وتعويض درجة الحرارة).

على سبيل المثال، قد تختلف خصائص أداة الاستشعار الأساسية عن خصائص أداة الاستشعار الأساسية في حالات الاستخدام التالية:

  • شريحة جيروسكوب مصنّفة بأنّها ذات نطاق تحيز يبلغ 1 درجة في الثانية
    • بعد المعايرة في المصنع، يتم تطبيق التعويض عن الحرارة والانحراف ، ما يؤدي إلى تقليل الانحراف الفعلي لجهاز استشعار Android ، وقد يصل إلى نقطة يُضمن فيها أن يكون الانحراف أقل من 0.01 درجة في الثانية.
    • في هذه الحالة، نقول أنّ أداة استشعار Android لها تحيز أقل من 0.01 درجة في الثانية، على الرغم من أنّ ورقة بيانات أداة الاستشعار الأساسية تشير إلى 1 درجة في الثانية.
  • مقياس ضغط جوي يستهلك طاقة بقدرة 100 uW
    • وبما أنّه يجب نقل البيانات التي يتم إنشاؤها من الشريحة إلى معالج الصعوبات المتكامل، قد تكون تكلفة الطاقة الفعلية لجمع البيانات من أداة قياس الضغط الجوي في جهاز Android أعلى بكثير، على سبيل المثال 1000 uW.
    • في هذه الحالة، نقول أنّ مستشعر Android يستهلك طاقة تبلغ 1000 uW، على الرغم من أنّ استهلاك الطاقة الذي تم قياسه عند أطراف شريحة مقياس الضغط الجوي يبلغ 100uW.
  • مقياس مغناطيسي يستهلك 100uW عند المعايرة، ولكنه يستهلك طاقة أكبر عند المعايرة
    • قد تتطلّب عملية المعايرة الروتينية تفعيل أداة التسوية، ما يستهلك 5,000 uW، وتشغيل بعض الخوارزميات، ما يستهلك بدوره 900 uW.
    • في هذه الحالة، نقول أنّ الحد الأقصى لاستهلاك الطاقة في ملف (مقياس المغناطيسية) أداة استشعار Android هو 6000 uW.
    • في هذه الحالة، يكون متوسط استهلاك الطاقة هو المقياس الأكثر فائدة، وهو ما يتم تسجيله في الخصائص الثابتة لجهاز الاستشعار من خلال HAL.

مقياس التسارع

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_ACCELEROMETER) يعرض مستشعرًا غير مخصّص للتنشيط

يُسجِّل مقياس التسارع تسارع الجهاز على طول محاور أداة الاستشعار الثلاثة. يتضمّن التسارع المقاس كلّ من التسارع المادي (تغيُّر السرعة) وقوة الجاذبية. يتم تسجيل القياس في الحقول x وy وz من sensors_event_t.acceleration.

يتم التعبير عن جميع القيم بوحدات النظام الدولي (m/s^2) وتقيس تسارع الجهاز مطروحًا منه قوة الجاذبية على طول محاور أداة الاستشعار الثلاثة.

في ما يلي بعض الأمثلة:

  • يجب أن تكون قيمة (x, y, z) قريبة من 0 عند السقوط الحر.
  • عندما يكون الجهاز مسطّحًا على طاولة ويتم دفعه على جانبه الأيسر باتجاه اليمين، تكون قيمة تسارع x موجبة.
  • عندما يكون الجهاز مسطّحًا على سطح طاولة، تكون قيمة التسارع على طول محور z هي +9.81 alo، ما يتوافق مع تسارع الجهاز (0 م/ث²) مطروحًا منه قوة الجاذبية (-9.81 م/ث²).
  • عندما يكون الجهاز مسطّحًا على سطح طاولة ويتم دفعه نحو السماء، تكون قيمة التسارع أكبر من 9.81، ما يتوافق مع تسارع الجهاز (+A م/ث2) مطروحًا منه قوة الجاذبية (-9.81 م/ث2).

يتم معايرة القراءات باستخدام:

  • مُعدِّل الحرارة
  • معايرة الانحياز على الإنترنت
  • معايرة المقياس على الإنترنت

يجب عدم تعديل معايرة الانحياز والقياس إلا عندما يكون أداة الاستشعار غير مفعّلة، وذلك لتجنّب حدوث قفزات في القيم أثناء البث.

يُبلغ مقياس التسارع أيضًا عن مدى دقة توقعاته بشأن قراءاته من خلال sensors_event_t.acceleration.status. راجِع SENSOR_STATUS_* ثوابت SensorManager للحصول على مزيد من المعلومات عن القيم المحتمَلة لهذا الحقل.

درجة الحرارة المحيطة

وضع إعداد التقارير: عند التغيير

getDefaultSensor(SENSOR_TYPE_AMBIENT_TEMPERATURE) يعرض مستشعرًا غير مخصّص للتنشيط

يقدّم هذا المستشعر درجة الحرارة المحيطة (درجة حرارة الغرفة) بالدرجة المئوية.

أداة استشعار المجال المغناطيسي

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_MAGNETIC_FIELD) يعرض مستشعرًا غير مخصّص للتنشيط

SENSOR_TYPE_GEOMAGNETIC_FIELD == SENSOR_TYPE_MAGNETIC_FIELD

تُستخدَم أداة استشعار المجال المغناطيسي (المعروفة أيضًا باسم مقياس المغناطيسية) لرصد المجال المغناطيسي المحيط، كما يتم قياسه على طول محاور أداة الاستشعار الثلاثة.

يتم تسجيل القياس في حقول x وy وz من sensors_event_t.magnetic وتكون جميع القيم بالملي ثانية (uT).

يُبلغ مقياس المغناطيسية أيضًا عن مدى دقة توقعاته بشأن قراءاته من خلال sensors_event_t.magnetic.status. راجِع SensorManager’s SENSOR_STATUS_* constants for more information on possible values for this field.

يتم معايرة القراءات باستخدام:

  • مُعدِّل الحرارة
  • معايرة الحديد اللين في المصنع (أو على الإنترنت)
  • معايرة الأجهزة الصلبة على الإنترنت

الجيروسكوب

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_GYROSCOPE) يعرض مستشعرًا غير مخصّص للتنشيط

يُسجِّل أداة استشعار الجيروسكوب معدّل دوران الجهاز حول محوري أداة الاستشعار الثلاثة.

يكون الدوران موجبًا في الاتجاه عكس عقارب الساعة (قاعدة اليد اليمنى). وهذا يعني أنّ مراقبًا ينظر من موقع إيجابي على محور x أو y أو z إلى جهاز في موضع الأصل سيُبلغ عن دوران إيجابي إذا بدا الجهاز يدور بعكس عقارب الساعة. يُرجى العِلم أنّ هذا هو التعريف الرياضي المعتاد للدوران الموجب ولا يتوافق مع تعريف الطيران والفضاء للدوران.

يتم تسجيل القياس في حقول x وy وz من sensors_event_t.gyro وتكون جميع القيم بالراديان في الثانية (rad/s).

يتم معايرة القراءات باستخدام:

  • مُعدِّل الحرارة
  • التعويض على مستوى المصنع (أو على الإنترنت)
  • معايرة الانحياز على الإنترنت (لإزالة الانحراف)

يُبلغ جهاز الجيروسكوب أيضًا عن مدى دقة توقعاته لقراءاته من خلال sensors_event_t.gyro.status. راجِع SENSOR_STATUS_* ثوابت SensorManager للحصول على مزيد من المعلومات عن القيم المحتمَلة لهذا الحقل.

لا يمكن محاكاة أداة التسوية الدورانية استنادًا إلى مقاييس المغناطيسية ومقياسات التسارع، لأنّه سيؤدي ذلك إلى تقليل اتساقها المحلي وسرعة استجابتها. يجب أن يستند إلى شريحة جيروسكوب عادية.

معدل نبضات القلب

وضع إعداد التقارير: عند التغيير

getDefaultSensor(SENSOR_TYPE_HEART_RATE) يعرض مستشعرًا غير مخصّص للتنشيط

يُبلِغ جهاز استشعار معدل ضربات القلب عن معدّل ضربات القلب الحالي للشخص الذي يلمس الجهاز.

يتم عرض معدّل نبضات القلب الحالي بعدد النبضات في الدقيقة (BPM) في sensors_event_t.heart_rate.bpm وحالة جهاز الاستشعار في sensors_event_t.heart_rate.status. راجِع SENSOR_STATUS_* ثوابت SensorManager للحصول على مزيد من المعلومات عن القيم المحتمَلة لهذا الحقل. على سبيل المثال، عند التفعيل الأول، يجب ضبط حقل الحالة للحدث الأول على SENSOR_STATUS_UNRELIABLE ما لم يكن معروفًا أنّ الجهاز ليس على الجسم. بما أنّ هذا المستشعر يتم تشغيله عند حدوث تغيير، يتم إنشاء أحداث عندما يتغيّرheart_rate.bpm أو heart_rate.status فقط منذ آخر حدث. لا يتم إنشاء الأحداث بمعدل أسرع من كل sampling_period.

sensor_t.requiredPermission هو دائمًا SENSOR_PERMISSION_BODY_SENSORS.

فاتح

وضع إعداد التقارير: عند التغيير

getDefaultSensor(SENSOR_TYPE_LIGHT) يعرض مستشعرًا غير مخصّص للتنشيط

يُبلِغ مقياس الضوء عن الإضاءة الحالية بوحدات SI lux.

يتم تسجيل القياس في sensors_event_t.light.

أداة استشعار التقارب

وضع إعداد التقارير: عند التغيير

يتم تحديده عادةً على أنّه جهاز استشعار للاستيقاظ

getDefaultSensor(SENSOR_TYPE_PROXIMITY) يعرض جهاز استشعار لتشغيل الكاميرا

تُبلِغ أداة استشعار التقارب عن المسافة من أداة الاستشعار إلى أقرب سطح مرئي.

حتى الإصدار 4.4 من نظام التشغيل Android، كانت أدوات استشعار التقارب دائمًا أدوات استشعار للتنشيط، حيث كانت تُنشِط مجموعة المعالجة المركزية عند رصد تغيير في التقارب. بعد الإصدار 4.4 من نظام التشغيل Android، ننصح بتنفيذ إصدار الاستيقاظ من هذا المستشعر أولاً، لأنّه هو الذي يتم استخدامه لتشغيل الشاشة وإيقافها أثناء إجراء المكالمات الهاتفية.

يتم تسجيل القياس بالسنتيمترات في sensors_event_t.distance. يُرجى العلم أنّ بعض أدوات استشعار التقارب لا تتيح سوى قياس ثنائي "قريب" أو "بعيد". في هذه الحالة، يُبلغ المستشعر عن قيمة sensor_t.maxRange في الحالة "بعيد" وقيمة أقل من sensor_t.maxRange في الحالة "قريب".

الضغط

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_PRESSURE) يعرض مستشعرًا غير مخصّص للتنشيط

يُستخدَم جهاز استشعار الضغط (المعروف أيضًا باسم مقياس الضغط الجوي) لقياس الضغط الجوي بالوحدات الهيكتوباسكال (hPa).

يتم معايرة القراءات باستخدام

  • مُعدِّل الحرارة
  • معايرة الانحراف التلقائي
  • المعايرة على مستوى المصنع

غالبًا ما يتم استخدام مقياس الضغط الجوي لتقدير التغيُّرات في الارتفاع. لتقدير الارتفاع المطلق، يجب استخدام الضغط على مستوى سطح البحر (الذي يتغيّر حسب الطقس) كمرجع.

الرطوبة النسبية

وضع إعداد التقارير: عند التغيير

getDefaultSensor(SENSOR_TYPE_RELATIVE_HUMIDITY) يعرض مستشعرًا غير مخصّص للتنشيط

يقيس مقياس الرطوبة النسبية الرطوبة النسبية للهواء المحيط ويعرض قيمة مئوية.

أنواع أجهزة الاستشعار المركبة

يُنشئ جهاز الاستشعار المركب البيانات من خلال معالجة و/أو دمج البيانات الواردة من جهاز استشعار واحد أو عدة أجهزة استشعار ماديّة. (يُطلق على أي جهاز استشعار غير جهاز استشعار أساسي اسم جهاز استشعار مركب). تشمل أمثلة أجهزة الاستشعار المركبة ما يلي:

  • كاشف الخطوات والحركة الكبيرة، اللذان يعتمدان عادةً على أثره في مقياس التسارع، ولكن يمكن أن يعتمدا على أدوات استشعار أخرى أيضًا، إذا كان استهلاك الطاقة والدقة مقبولَين
  • متجه دوران اللعبة، استنادًا إلى مقياس التسارع وجهاز الجيروسكوب
  • جهاز جيروسكوب لم يتم معايرةه، وهو مشابه لجهاز استشعار قاعدة الجيروسكوب، ولكن يتم تسجيل معايرة الانحياز بشكل منفصل بدلاً من تصحيحها في القياس.

كما هو الحال مع أدوات الاستشعار الأساسية، تأتي خصائص أدوات الاستشعار المركبة من خصائص بياناتها النهائية. على سبيل المثال، يُحتمل أن يكون استهلاك الطاقة في متجه دوران اللعبة مساويًا لمجموع استهلاكات الطاقة في شريحة مقياس التسارع وشريحة الجيروسكوب والشريحة التي تعالج البيانات وشرائح النقل التي تنقل البيانات. في مثال آخر، يعتمد انحراف متجه دوران اللعبة على جودة خوارزمية المعايرة وعلى خصائص أداة الاستشعار المادية.

يسرد الجدول التالي أنواع أجهزة الاستشعار المركبة المتاحة. يعتمد كل جهاز استشعار مركب على بيانات من جهاز استشعار واحد أو عدة أجهزة استشعار ماديّة. تجنَّب اختيار غيرها من أجهزة الاستشعار الأساسية لتقدير النتائج، لأنّها توفّر تجربة سيئة للمستخدم.

نوع أداة الاستشعار الفئة أجهزة الاستشعار الأساسية وضع إعداد التقارير

اتجاه دوران اللعبة

الموقف

يجب عدم استخدام مقياس التسارع أو الجيروسكوب أو مقياس المغناطيسية.

مستمر

اتجاه التناوب المغناطيسي الجغرافي أداة استشعار
     الطاقة المنخفضة

الموقف

يجب عدم استخدام مقياس التسارع أو مقياس المغناطيسية أو الجيروسكوب.

مستمر

إيماءة "نظرة سريعة" أداة استشعار الطاقة المنخفضة

التفاعل

غير محدد

طلب بمثال واحد

Gravity

الموقف

مقياس التسارع أو الجيروسكوب (في حال توفّره) أو مقياس المغناطيسية (في حال عدم توفّر الجيروسكوب)

مستمر

لم يتم ضبط الجيروسكوب

غير مُعاير

الجيروسكوب

مستمر

التسارع الخطي

النشاط

مقياس التسارع أو الجيروسكوب (في حال توفّره) أو مقياس المغناطيسية (في حال عدم توفّر الجيروسكوب)

مستمر

عدم معايرة الحقل المغناطيسي

غير مُعاير

مقياس المغناطيسية

مستمر

الاتجاه (متوقّف نهائيًا)

الموقف

مقياس التسارع ومقياس المغناطيسية والجيروسكوب (في حال توفّرها)

مستمر

إيماءة الاستلام أداة استشعار الطاقة المنخفضة

التفاعل

غير محدد

طلب بمثال واحد

ناقل الدوران

الموقف

مقياس التسارع ومقياس المغناطيسية والجيروسكوب

مستمر

الحركة الواضحة أداة استشعار الطاقة المنخفضة

النشاط

مقياس التسارع (أو جهاز آخر طالما أنّ الطاقة منخفضة جدًا)

طلب بمثال واحد

عدّاد الخطوات أداة استشعار الطاقة المنخفضة

النشاط

مقياس التسارع

عند التغيير

أداة رصد الخطوات أداة استشعار الطاقة المنخفضة

النشاط

مقياس التسارع

الأحداث الخاصة

كاشف الميل أداة استشعار الطاقة المنخفضة

النشاط

مقياس التسارع

الأحداث الخاصة

إيماءة التنشيط أداة استشعار الطاقة المنخفضة

التفاعل

غير محدد

طلب بمثال واحد

أداة استشعار الطاقة المنخفضة = جهاز استشعار منخفض الطاقة

أجهزة الاستشعار المركبة للنشاط

التسارع الخطي

أدوات الاستشعار الأساسية: مقياس التسارع والجيروسكوب (إن توفّر) (أو مقياس المغناطيسية في حال عدم توفّر الجيروسكوب)

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_LINEAR_ACCELERATION) يعرض مستشعرًا غير مخصّص للتنشيط

يُسجِّل مقياس التسارع الخطي التسارع الخطي للجهاز في إطار أداة الاستشعار، ولا يشمل ذلك الجاذبية.

من الناحية النظرية، يكون الناتج هو ناتج مقياس التسارع مطروحًا منه ناتج جهاز استشعار الجاذبية. ويتم التعبير عنه بالمتر لكل ثانية مربعة في حقول x وy وz في sensors_event_t.acceleration.

يجب أن تكون القراءات على جميع المحاور قريبة من 0 عندما يكون الجهاز غير متحرّك.

إذا كان الجهاز يحتوي على جيروسكوب، يجب أن يستخدم مقياس التسارع الخطي الجيروسكوب ومقياس التسارع كمدخلات.

إذا لم يكن الجهاز مزوّدًا بجيروسكوب، يجب أن يستخدم أداة استشعار التسارع الخطي مقياس التسارع ومقياس المغناطيسية كمدخلات.

حركة كبيرة

أداة الاستشعار الأساسية: مقياس التسارع (أو أداة أخرى طالما أنّ الطاقة منخفضة)

وضع إعداد التقارير: طلب بمثال واحد

الطاقة المنخفضة

لا تنفِّذ سوى إصدار الاستيقاظ من هذا المستشعر.

getDefaultSensor(SENSOR_TYPE_SIGNIFICANT_MOTION) يعرض جهاز استشعار لتشغيل الكاميرا

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

في ما يلي أمثلة على الطلبات المهمة:

  • المشي أو ركوب الدراجة
  • الجلوس في سيارة أو حافلة أو قطار متحرك

أمثلة على الحالات التي لا تؤدي إلى رصد حركة كبيرة:

  • الهاتف في الجيب والشخص لا يتحرك
  • الهاتف على طاولة تهتز قليلاً بسبب ازدحام المرور أو صوت غسّالة الملابس المجاورة

على مستوى عالي، يتم استخدام كاشف الحركة المهم لتقليل استهلاك الطاقة في عملية تحديد الموقع الجغرافي. عندما ترصد خوارزميات تحديد الموقع الجغرافي أنّ الجهاز ثابت، يمكنها التبديل إلى وضع استهلاك الطاقة المنخفض، حيث تعتمد على الحركة الكبيرة لتفعيل الجهاز عندما يغيّر المستخدِم موقعه الجغرافي.

يجب أن يكون جهاز الاستشعار هذا منخفض الطاقة. ويؤدي ذلك إلى موازنة استهلاك الطاقة الذي قد يؤدي إلى عدد صغير من النتائج السلبية الخاطئة. يتم إجراء ذلك لعدة أسباب:

  • يهدف هذا المستشعر إلى توفير الطاقة.
  • إنّ بدء حدث عندما لا يكون المستخدم في حركة (نتيجة إيجابية خاطئة) هو أمر باهظ التكلفة من حيث الطاقة، لذا يجب تجنُّبه.
  • إنّ عدم بدء حدث عندما يكون المستخدم في وضع التنقّل (نتيجة خاطئة سلبية) هو أمر مقبول ما دام لا يتم بشكل متكرّر. إذا كان المستخدِم يمشي لمدة 10 ثوانٍ، لا يُقبل عدم بدء حدث خلال تلك 10 ثوانٍ.

يُبلغ كل حدث من أحداث أجهزة الاستشعار عن 1 في sensors_event_t.data[0].

أداة رصد الخطوات

أداة الاستشعار الأساسية: مقياس التسارع (+ ربما أدوات أخرى طالما أنّ الطاقة منخفضة)

وضع إعداد التقارير: خاص (حدث واحد لكل خطوة تم اتخاذها)

الطاقة المنخفضة

getDefaultSensor(SENSOR_TYPE_STEP_DETECTOR) يعرض مستشعرًا غير مخصّص للتنشيط

يُنشئ أداة رصد الخطوات حدثًا في كل مرة يخطو فيها المستخدم خطوة.

يتوافق الطابع الزمني للحدث sensors_event_t.timestamp مع وقت اصطدام القدم بالأرض، ما يؤدي إلى حدوث تباين كبير في التسارع.

مقارنةً بجهاز احتساب الخطوات، يجب أن يكون وقت استجابة أداة رصد الخطوات أقل (أقل من ثانيتين). يرصد كلّ من أداة رصد الخطوات وعداد الخطوات عندما يمشي المستخدم أو يركض أو يصعد الدرج. يجب ألا يتم تفعيلها عندما يكون المستخدم يقود دراجة أو سيارة أو مركبة أخرى.

يجب أن يكون جهاز الاستشعار هذا منخفض الطاقة. وهذا يعني أنّه إذا تعذّر رصد الخطوات في الأجهزة، يجب عدم تحديد هذا المستشعر. على وجه الخصوص، عندما يكون كاشف الخطوات مفعَّلاً وليس مقياس التسارع، يجب أن تؤدي الخطوات فقط إلى حدوث انقطاعات (وليس كل قراءة لمقياس التسارع).

لا يؤثّر sampling_period_ns في أدوات رصد الخطوات.

يُبلغ كل حدث من أحداث أجهزة الاستشعار عن 1 في sensors_event_t.data[0].

عدّاد الخطوات

أداة الاستشعار الأساسية: مقياس التسارع (+ ربما أدوات أخرى طالما أنّ الطاقة منخفضة)

وضع إعداد التقارير: عند التغيير

طاقة منخفضة

getDefaultSensor(SENSOR_TYPE_STEP_COUNTER) يعرض مستشعرًا غير مخصّص للتنشيط

يُسجِّل "عداد الخطوات" عدد الخطوات التي قطعها المستخدم منذ آخر عملية إعادة تشغيل أثناء تفعيله.

يتم تسجيل القياس على أنّه uint64_t في sensors_event_t.step_counter ويتم إعادة ضبط على القيمة صفر عند إعادة تشغيل النظام فقط.

يتم ضبط الطابع الزمني للحدث على الوقت الذي تم فيه اتّخاذ الخطوة الأخيرة لهذا الحدث.

اطّلِع على نوع أداة استشعار كاشف الخطوات للتعرّف على معنى وقت الخطوة.

مقارنةً بجهاز رصد الخطوات، يمكن أن يكون لجهاز احتساب الخطوات وقت استجابة أعلى (يصل إلى 10 ثوانٍ). بفضل هذه الفترة الزمنية، يتمتع هذا المستشعر بدقة عالية، ومن المفترض أن يكون عدد الخطوات بعد يوم كامل من القياسات ضمن 10% من عدد الخطوات الفعلي. يرصد كلّ من أداة رصد الخطوات وعداد الخطوات عندما يمشي المستخدم أو يركض أو يصعد الدرج. يجب ألّا يتم تشغيلها عندما يكون المستخدم يقود دراجة أو سيارة أو مركبة أخرى.

يجب أن تضمن الأجهزة عدم تجاوز عدد الخطوات الداخلية أبدًا. يجب أن يكون الحد الأدنى لحجم العداد الداخلي للأجهزة 16 بت. في حال كان هناك احتمال قریب بتجاوز الحد الأقصى (كل 2^16 خطوة تقريبًا)، يمكن تنشيط وحدة المعالجة المركزية (SoC) لكي تتمكّن وحدة التحكّم من إجراء صيانة للعداد.

كما هو موضّح في التفاعل، أثناء تشغيل هذا المستشعر، يجب ألا يتداخل مع أي أجهزة استشعار أخرى، وعلى وجه الخصوص، مقياس التسارع الذي قد يكون قيد الاستخدام.

إذا كان جهاز معيّن لا يمكنه استخدام أوضاع التشغيل هذه، يجب ألا يُبلغ HAL عن نوع أداة الاستشعار هذا. وهذا يعني أنّه لا يُسمح "بمحاكاة" هذا المستشعر في HAL.

يجب أن يكون جهاز الاستشعار هذا منخفض الطاقة. وهذا يعني أنّه إذا تعذّر رصد الخطوات في الأجهزة، يجب عدم تحديد هذا المستشعر. على وجه الخصوص، عندما يكون عداد الخطوات مفعّلاً وليس مقياس التسارع، يجب أن تؤدي الخطوات فقط إلى بدء المقاطعات (وليس بيانات مقياس التسارع).

أداة رصد الميلان

أداة الاستشعار الأساسية: مقياس التسارع (+ ربما أدوات أخرى طالما أنّ الطاقة منخفضة)

وضع إعداد التقارير: خاص

طاقة منخفضة

لا تنفِّذ سوى إصدار الاستيقاظ من هذا المستشعر.

getDefaultSensor(SENSOR_TYPE_TILT_DETECTOR) يعرض جهاز استشعار لتشغيل الكاميرا

يُنشئ كاشف الإمالة حدثًا في كل مرة يتم فيها رصد حدث إمالة.

يتم تحديد حدث الميل من خلال اتجاه متوسط مدّة ‎2 ثانية لتغيير الجاذبية بمقدار 35 درجة على الأقل منذ التفعيل أو آخر حدث أنشأه جهاز الاستشعار. في ما يلي الخوارزمية:

  • reference_estimated_gravity = متوسط قياسات مقياس التسارع على مدار الثانية الأولى بعد التفعيل أو الجاذبية القصوى المُقدَّرة عند إنشاء حدث الميل الأخير
  • current_estimated_gravity = متوسّط قياسات مقياس التسارع خلال آخر ثانيتَين
  • يبدأ عند angle(reference_estimated_gravity, current_estimated_gravity) > 35 degrees

يجب ألّا يؤدي التسارع الكبير بدون تغيير في اتجاه الهاتف إلى بدء حدث الميل. على سبيل المثال، لا يجب أن يؤدي الانعطاف الحاد أو التسارع القوي أثناء قيادة السيارة إلى بدء حدث الميل، على الرغم من أنّ زاوية متوسط التسارع قد تختلف بأكثر من 35 درجة. يتم عادةً تنفيذ أداة الاستشعار هذه باستخدام مقياس تسارع فقط. يمكن استخدام أدوات استشعار أخرى أيضًا إذا لم تزيد من استهلاك الطاقة بشكل ملحوظ. هذا هو جهاز استشعار منخفض الطاقة من المفترض أن يسمح للوحدة المتكاملة للنظام بالانتقال إلى وضع التعليق. لا ينبغي محاكاة هذا المستشعر في HAL. يُبلغ كل حدث من أحداث أجهزة الاستشعار عن 1 في sensors_event_t.data[0].

أجهزة الاستشعار المركبة للوضع

متّجه الدوران

أدوات الاستشعار المادية الأساسية: مقياس التسارع ومقياس المغناطيسية والجيروسكوب

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_ROTATION_VECTOR) يعرض مستشعرًا غير مزوّد بميزة الاستيقاظ

يُبلِغ أداة استشعار متجه الدوران عن اتجاه الجهاز بالنسبة إلى إطار الإحداثيات الشرق والشمال والفوق. ويتم الحصول عليها عادةً من خلال دمج قياسات مقياس التسارع والجيروسكوب ومقياس المغناطيسية. يتم تعريف نظام الإحداثيات "شرق-شمال-أعلى" على أنّه قاعدة متعامدة مباشرة حيث:

  • يشير X إلى الشرق وهو ملامِس للأرض.
  • يشير Y إلى الشمال وهو ملامِس للأرض.
  • يشير الحرف Z إلى السماء وهو عمودي على الأرض.

يتم تمثيل اتجاه الهاتف من خلال عملية الدوران اللازمة لمحاولة محاذاة إحداثيات الشرق والشمال والاتجاه للأعلى مع إحداثيات الهاتف. وهذا يعني أنّه عند تطبيق عملية الدوران على إطار العالم (X وY وZ)، سيتم محاذاة ذلك الإطار مع إحداثيات الهاتف (x وy وz).

يمكن اعتبار عملية التدوير أنّها عملية تدوير الهاتف بزاوية ثاتا حول محور rot_axis للانتقال من اتجاه الجهاز المرجعي (المحاذاة الشرق والشمال والفوق) إلى اتجاه الجهاز الحالي. يتم ترميز عملية الدوران على أنّها المكوّنات الأربعة بدون وحدة x وy وz وw لمربّع الوحدة:

  • sensors_event_t.data[0] = rot_axis.x*sin(theta/2)
  • sensors_event_t.data[1] = rot_axis.y*sin(theta/2)
  • sensors_event_t.data[2] = rot_axis.z*sin(theta/2)
  • sensors_event_t.data[3] = cos(theta/2)

المكان:

  • حقول x وy وz في rot_axis هي إحداثيات الشرق والشمال والفوق لوحدة طول متجه يمثّل محور الدوران.
  • theta هي زاوية الدوران

المتغيّر الرباعي هو متغيّر رباعي الوحدة: يجب أن يكون ذا معيار 1. سيؤدي عدم التأكّد من ذلك إلى سلوك غير منتظم للعملاء.

بالإضافة إلى ذلك، يُبلغ هذا المستشعر عن دقة الاتجاه المقدَّرة:

sensors_event_t.data[4] = estimated_accuracy (بالراديان)

يجب أن يكون الخطأ في العنوان أقل من estimated_accuracy ‎95% من الوقت. يجب أن يستخدم هذا المستشعر أداة جيروسكوب كمدخل التغيير الرئيسي للاتجاه.

يستخدم أداة الاستشعار هذه أيضًا مدخلات مقياس التسارع ومقياس المغناطيسية للتعويض عن انحراف الجيروسكوب، ولا يمكن تنفيذها باستخدام مقياس التسارع ومقياس المغناطيسية فقط.

متجه دوران اللعبة

أدوات الاستشعار الأساسية: مقياس التسارع والجيروسكوب (بدون مقياس المغناطيسية)

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_GAME_ROTATION_VECTOR) يعرض مستشعرًا غير مخصّص للتنشيط

يشبه أداة استشعار اتجاه دوران اللعبة أداة استشعار اتجاه الدوران، ولكنّها لا تستخدم الحقل المغناطيسي الأرضي. وبالتالي، لا يشير محور Y إلى الشمال، ولكنه يشير بدلاً من ذلك إلى مرجع آخر. يُسمح لهذا المرجع بالانحراف بترتيب القوة نفسه الذي ينحرف به الدوران حول محور Z.

اطّلِع على أداة استشعار سمة الدوران للحصول على تفاصيل عن كيفية ضبط sensors_event_t.data[0-3]. لا يقدّم هذا المستشعر معلومات عن دقة العنوان المقدَّرة: sensors_event_t.data[4] محجوز ويجب ضبطه على 0.

في الحالة المثالية، يجب أن يُبلغ هاتف تم تدويره وإعادته إلى الوضع نفسه في العالم الحقيقي عن متجه دوران اللعبة نفسه.

يجب أن يستند هذا المستشعر إلى جيروسكوب ومقياس تسارع. ولا يمكنه استخدام مقياس المغناطيسية كمدخل، بالإضافة إلى ذلك، بشكل غير مباشر، من خلال تقدير انحياز الجيروسكوب.

الجاذبية

أدوات الاستشعار الأساسية: مقياس التسارع والجيروسكوب (إن توفّر) (أو مقياس المغناطيسية في حال عدم توفّر الجيروسكوب)

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_GRAVITY) يعرض مستشعرًا غير مخصّص للتنشيط

يُبلِغ أداة استشعار الجاذبية عن اتجاه الجاذبية وحجمها في إحداثيات الجهاز.

يتم تسجيل مكوّنات متجه الجاذبية بوحدة m/s^2 في حقول x وy وz في sensors_event_t.acceleration.

عندما يكون الجهاز في وضع السكون، يجب أن تكون مخرجات أداة استشعار الجاذبية مطابقة لمخرجات مقياس التسارع. على الأرض، تبلغ هذه القيمة تقريبًا 9.8 م/ث².

إذا كان الجهاز يحتوي على جيروسكوب، يجب أن يستخدم أداة استشعار الجاذبية الجيروسكوب ومقياس التسارع كمدخلات.

إذا لم يكن الجهاز مزوّدًا بجيروسكوب، يجب أن يستخدم أداة استشعار الجاذبية مقياس التسارع ومقياس المغناطيسية كمدخلات.

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

أدوات الاستشعار الأساسية: مقياس التسارع ومقياس المغناطيسية (بدون جيروسكوب)

وضع إعداد التقارير: مستمر

طاقة منخفضة

getDefaultSensor(SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR) يعرض مستشعرًا غير مخصّص للتنشيط

يشبه مُوجّه الدوران المغناطيسي الأرضي مُوجّه الدوران، ولكنه يستخدم مقياسًا مغناطيسيًا بدون جيروسكوب.

يجب أن يستند هذا المستشعر إلى مقياس مغناطيسي. ولا يمكن تنفيذه باستخدام دوار متعامد، ولا يمكن لهذا المستشعر استخدام إدخال الدوار المتعامِد.

اطّلِع على أداة استشعار سمة الدوران للحصول على تفاصيل عن كيفية ضبط sensors_event_t.data[0-4].

تمامًا مثل أداة استشعار متجه الدوران، يجب أن يكون خطأ العنوان أقل من الدقة المقدَّرة (sensors_event_t.data[4]) بنسبة% 95 من الوقت.

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

الاتجاه (ميزة متوقّفة نهائيًا)

أدوات الاستشعار الأساسية: مقياس التسارع ومقياس المغناطيسية (إذا كان متوفّرًا) والجيروسكوب

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_ORIENTATION) يعرض مستشعرًا غير مخصّص للتنشيط

ملاحظة: هذا نوع قديم من أجهزة الاستشعار تم إيقافه نهائيًا في حزمة Android SDK. وتم استبداله بجهاز استشعار متجه الدوران الذي تم تعريفه بوضوح أكبر. استخدِم أداة استشعار متجه الدوران بدلاً من أداة استشعار الاتجاه كلّما أمكن.

يُبلِغ جهاز استشعار الاتجاه عن وضع الجهاز. يتم تسجيل القياسات بالدرجات في حقول x وy وz في sensors_event_t.orientation:

  • sensors_event_t.orientation.x: السمت، وهو الزاوية بين اتجاه الشمال المغناطيسي ومحور Y، حول محور Z (0<=azimuth<360). 0=الشمال، 90=الشرق، 180=الجنوب، 270=الغرب.
  • sensors_event_t.orientation.y: الانحدار، الدوران حول محور X (-180<=pitch<=180)، مع القيم الموجبة عندما يتحرك محور Z نحو محور Y
  • sensors_event_t.orientation.z: الدوران حول المحور ص (-90<=roll<=90)، مع القيم الموجبة عندما يتحرك المحور س باتجاه المحور ص

يُرجى العلم أنّ زاوية الدوران تكون موجبة لأسباب سابقة في اتجاه عقارب الساعة. (من الناحية الحسابية، يجب أن تكون موجبة في الاتجاه عكس عقارب الساعة):

صورة توضيحية للاتجاه
   بالنسبة إلى جهاز

الشكل 3: الاتجاه بالنسبة إلى جهاز

يختلف هذا التعريف عن الانحراف والانحناء والدوران المستخدَمَين في مجال الطيران حيث يكون محور X على طول الجانب الطويل من الطائرة (من الذيل إلى الأنف).

يُبلغ أيضًا جهاز استشعار الاتجاه عن مدى دقة قراءاته من خلال sensors_event_t.orientation.status. راجِع SENSOR_STATUS_* ثوابت SensorManager للحصول على مزيد من المعلومات عن القيم المحتمَلة لهذا الحقل.

أجهزة الاستشعار غير المعايرة

توفّر أجهزة الاستشعار غير المعايرة نتائج أولية أكثر وقد تتضمّن بعض الانحياز، ولكنها تحتوي أيضًا على عدد أقل من "القفزات" الناتجة عن التصحيحات التي يتم تطبيقها من خلال المعايرة. قد تفضِّل بعض التطبيقات هذه النتائج غير المعادلة لأنها أكثر سلاسة وأكثر موثوقية. على سبيل المثال، إذا كان التطبيق يحاول إجراء عملية دمج لبيانات أجهزة الاستشعار الخاصة به، يمكن أن يؤدي إدخال عمليات المعايرة إلى تشويه النتائج.

لم يتم ضبط مقياس التسارع

جهاز الاستشعار الأساسي: مقياس التسارع

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_ACCELEROMETER_UNCALIBRATED) يعرض مستشعرًا غير مخصّص للتنشيط

يُسجِّل مقياس التسارع غير المعاد معايرة التسارع في الجهاز على طول محاور أداة الاستشعار الثلاثة بدون أي تصحيح للانحياز (يتم تطبيق الانحراف التلقائي وتعويض درجة الحرارة على القياسات غير المعاد معايرة)، بالإضافة إلى تقدير الانحراف. يتم التعبير عن جميع القيم بوحدات النظام الدولي (m/s^2)، ويتم تسجيلها في حقول sensors_event_t.uncalibrated_accelerometer:

  • x_uncalib: التسارع (بدون تعويض الانحياز) على طول محور X
  • y_uncalib: التسارع (بدون تعويض الانحياز) على طول محور Y
  • z_uncalib: التسارع (بدون تعويض الانحياز) على طول محور Z
  • x_bias: الانحياز المقدَّر على طول محور X
  • y_bias: الانحياز المقدَّر على طول محور Y
  • z_bias: الانحياز المقدَّر على محور Z

عدم معايرة الجيروسكوب

أداة الاستشعار الأساسية: الجيروسكوب

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_GYROSCOPE_UNCALIBRATED) يعرض مستشعرًا غير مخصّص للتنشيط

يُسجِّل الجيروسكوب غير المحسوب معدّل الدوران حول محاور أداة الاستشعار بدون تطبيق تعويض الانحياز عليها، بالإضافة إلى تقدير الانحياز. يتم التعبير عن كل قيم بالراديان في الثانية ويتم تسجيلها في حقول sensors_event_t.uncalibrated_gyro:

  • x_uncalib: السرعة الزاوية (بدون تعويض الانحراف) حول محور X
  • y_uncalib: السرعة الزاوية (بدون تعويض الانحراف) حول المحور ص
  • z_uncalib: السرعة الزاوية (بدون تعويض الانحراف) حول محور Z
  • x_bias: الانحراف المقدَّر حول محور X
  • y_bias: الانحراف المقدَّر حول المحور ص
  • z_bias: الانحراف المقدَّر حول محور ع

من الناحية النظرية، فإنّ القياس غير المحسوب هو مجموع القياس المحسوب وتقدير الانحياز: _uncalibrated = _calibrated + _bias.

من المتوقّع أن تتغيّر قيم x_bias وy_bias وz_bias فور تغيُّر تقدير الانحياز، ومن المفترض أن تظلّ ثابتة في باقي الأوقات.

اطّلِع على تعريف أداة استشعار الجيروسكوب للحصول على تفاصيل عن نظام الإحداثيات المستخدَم.

يجب تطبيق معايرة المصنع وتعويض درجة الحرارة على قياسات. يجب أيضًا تنفيذ عملية تقدير انحراف أداة الاستشعار الدوراني حتى تتمكّن من الإبلاغ عن تقديرات معقولة في x_bias، y_bias وz_bias. إذا لم يكن تنفيذ قادرًا على تقدير الانحراف، يجب عدم تنفيذ هذا المستشعر.

إذا كان هذا المستشعر متوفّرًا، يجب أن يكون ملف تعريف المستشعر المناسب لجهاز الاستشعار الدوراني متوفّرًا أيضًا، ويجب أن يتشارك كلا المستشعرَين قيمتَي sensor_t.name و sensor_t.vendor نفسها.

لم تتم معايرة المجال المغناطيسي

أداة الاستشعار الأساسية: مقياس مغناطيسي

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED) يعرض مستشعرًا غير مخصّص للتنشيط

يُبلِغ جهاز استشعار المجال المغناطيسي الذي لم تتم معايرته عن المجال المغناطيسي المحيط بالإضافة إلى تقدير المعايرة الحديدية الصلبة. يتم التعبير عن جميع القيم بوحدة الميكرو تسلا (uT) ويتم تسجيلها في حقول sensors_event_t.uncalibrated_magnetic:

  • x_uncalib: الحقل المغناطيسي (بدون تعويض الحديد الصلب) على طول محور X
  • y_uncalib: الحقل المغناطيسي (بدون تعويض الحديد الصلب) على طول محور Y
  • z_uncalib: الحقل المغناطيسي (بدون تعويض الحديد الصلب) على طول محور Z
  • x_bias: الانحراف المقدَّر للحديد الصلب على طول محور X
  • y_bias: الانحراف المقدَّر للحديد الصلب على طول محور Y
  • z_bias: الانحراف المقدَّر للحديد الصلب على طول محور Z

من الناحية النظرية، فإنّ القياس غير المحسوب هو مجموع القياس المحسوب وتقدير الانحياز: _uncalibrated = _calibrated + _bias.

يسمح مقياس المغناطيسية غير المعاير للخوارزميات ذات المستوى الأعلى بالتعامل مع تقدير الحديد الصلب السيئ. من المفترض أن تتغيّر قيم x_bias وy_bias وz_bias فور تغيُّر التقدير للأجهزة الثابتة، ومن المفترض أن تظلّ ثابتة بقية الوقت.

يجب تطبيق معايرة الحديد اللين وتعديل درجة الحرارة على قياسات. يجب أيضًا تنفيذ عملية تقدير الأجهزة الثابتة لكي تتمكّن من الإبلاغ عن تقديرات معقولة في x_bias و y_bias و z_bias. إذا لم يتمكّن التنفيذ من تقدير الانحياز، يجب عدم تنفيذ هذا المستشعر.

إذا كان هذا المستشعر متوفّرًا، يجب أن يكون sensor_t.name متوفّرًا أيضًا، ويجب أن يتشارك كلا المستشعرَين قيمتَي sensor_t.name وsensor_t.vendor نفسها.

زاوية المفصّلة

وضع إعداد التقارير: عند التغيير

getDefaultSensor(SENSOR_TYPE_HINGE_ANGLE) يعرض مستشعر استيقاظ

يقيس أداة استشعار زاوية المفصل الزاوية، بالدرجات، بين جزءين أساسيين من الجهاز. من المتوقع أن تؤدي حركة المفصل التي يقيسها هذا النوع من أجهزة الاستشعار إلى تغيير طرق تفاعل المستخدم مع الجهاز، مثلاً من خلال طي الشاشة أو إظهارها.

أجهزة الاستشعار المركبة للتفاعل

تُستخدَم بعض أدوات الاستشعار في الغالب لرصد التفاعلات مع المستخدم. لا نحدّد كيفية تنفيذ هذه الحساسات، ولكن يجب أن تكون ذات استهلاك منخفض للطاقة، ويقع على عاتق الشركة المصنّعة للجهاز التحقّق من جودتها من حيث تجربة المستخدم.

إيماءة التنشيط

أجهزة الاستشعار الأساسية: غير محدّد (أي جهاز يستخدِم طاقة منخفضة)

وضع إعداد التقارير: طلب بمثال واحد

طاقة منخفضة

لا تنفِّذ سوى إصدار الاستيقاظ من هذا المستشعر.

getDefaultSensor(SENSOR_TYPE_WAKE_GESTURE) يعرض جهاز استشعار لتشغيل الكاميرا

يتيح أداة استشعار الإيماءات لتنشيط الجهاز استنادًا إلى تحرّك معيّن للجهاز. عندما يتم تنشيط هذا المستشعر، يتصرف الجهاز كما لو تم الضغط على زر التشغيل لتشغيل الشاشة. يمكن للمستخدم إيقاف هذا السلوك (تفعيل الشاشة عند تنشيط هذا المستشعر) في إعدادات الجهاز. لا تؤثر التغييرات في الإعدادات في سلوك أداة الاستشعار، بل في ما إذا كان إطار العمل سيشغّل الشاشة عند بدء الاستشعار فقط. لم يتم تحديد الإيماءة الفعلية التي سيتم رصدها، ويمكن لجهة تصنيع الجهاز اختيارها.

يجب أن يكون هذا المستشعر منخفض الطاقة، لأنّه من المحتمل أن يكون مفعّلاً على مدار الساعة طوال أيام الأسبوع.

يُبلغ كل حدث من أحداث أجهزة الاستشعار عن 1 في sensors_event_t.data[0].

إيماءة الاستلام

أجهزة الاستشعار الأساسية: غير محدّد (أي جهاز يستخدِم طاقة منخفضة)

وضع إعداد التقارير: طلب بمثال واحد

طاقة منخفضة

لا تنفِّذ سوى إصدار الاستيقاظ من هذا المستشعر.

getDefaultSensor(SENSOR_TYPE_PICK_UP_GESTURE) يعرض جهاز استشعار لتشغيل الكاميرا

يتم تنشيط أداة استشعار إيماءة الالتقاط عند رفع الجهاز بغض النظر عن مكانه السابق (على المكتب أو في الجيب أو في الحقيبة).

يُبلغ كل حدث من أحداث أجهزة الاستشعار عن 1 في sensors_event_t.data[0].

إيماءة "نظرة سريعة"

أجهزة الاستشعار الأساسية: غير محدّد (أي جهاز يستخدِم طاقة منخفضة)

وضع إعداد التقارير: طلب بمثال واحد

طاقة منخفضة

لا تنفِّذ سوى إصدار الاستيقاظ من هذا المستشعر.

getDefaultSensor(SENSOR_TYPE_GLANCE_GESTURE) يعرض جهاز استشعار لتشغيل الكاميرا

يتيح أداة استشعار إيماءات النظرة السريعة تفعيل الشاشة لفترة وجيزة للسماح للمستخدم بإلقاء نظرة سريعة على المحتوى على الشاشة استنادًا إلى حركة معيّنة. عند بدء عمل هذا المستشعر، يضيء الجهاز الشاشة لحظيًا للسماح للمستخدم بالاطّلاع على الإشعارات أو المحتوى الآخر بينما يظل الجهاز مقفلاً في حالة عدم التفاعل (الوضع "الاستراحة")، ثم يتم إطفاء الشاشة مرة أخرى. قد يوقِف المستخدم هذا السلوك (تشغيل الشاشة لفترة وجيزة عند تنشيط أداة الاستشعار) في إعدادات الجهاز. لا تؤثر التغييرات في الإعدادات في سلوك أداة الاستشعار: فهي تؤثر فقط في ما إذا كان إطار العمل يشغّل الشاشة لفترة وجيزة عند بدء تشغيلها. لم يتم تحديد الإيماءة الفعلية التي سيتم رصدها، ويمكن لجهة تصنيع الجهاز اختيارها.

يجب أن يكون هذا المستشعر منخفض الطاقة، لأنّه من المرجّح أن يكون مفعّلاً على مدار الساعة طوال أيام الأسبوع. يُبلغ كل حدث من أحداث أجهزة الاستشعار عن 1 في sensors_event_t.data[0].

أجهزة استشعار IMU ذات المحاور المحدودة

تتوفّر أدوات استشعار IMU ذات المحاور المحدودة في الإصدار 13 من Android، وهي أدوات استشعار تتوافق مع حالات الاستخدام التي لا تتوفّر فيها كل المحاور الثلاثة (x وy وz). أنواع وحدات IMU العادية في Android (مثل SENSOR_TYPE_ACCELEROMETER و SENSOR_TYPE_GYROSCOPE) تفترض أنّ المحاور الثلاثة متوافقة. ومع ذلك، لا تتوفّر أدوات التسارع وأدوات الانحراف الدوراني بثلاثة محاور في بعض أشكال الأجهزة.

محاور مقياس التسارع المحدودة

أجهزة الاستشعار الأساسية: مقياس التسارع

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_ACCELEROMETER_LIMITED_AXES) يعرض مستشعرًا غير مخصّص للتنشيط

إنّ جهاز استشعار المحاور المحدودة لمقياس التسارع هو مكافئ لجهاز TYPE_ACCELEROMETER، ولكنه يتوافق مع الحالات التي لا يكون فيها محور واحد أو محوران متاحَين.

تمثل آخر ثلاث قيم لأحداث الاستشعار التي يبلِغ عنها أداة الاستشعار ما إذا كانت قيمة التسارع في المحاور x وy وz متوافقة. تشير القيمة 1.0 إلى أنّ المحور متوافق، وتشير القيمة 0 إلى أنّه غير متوافق. يحدِّد مصنعو الأجهزة محوري الالتفاف المسموح بهما أثناء مرحلة التصميم، ولا تتغيّر القيم أثناء مرحلة التشغيل.

على المصنّعين ضبط قيم التسارع للمحور غير المستخدَم على 0 بدلاً من استخدام قيم غير محدّدة.

محاور الجيروسكوب المحدودة

أجهزة الاستشعار الأساسية: الجيروسكوب

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_GYROSCOPE_LIMITED_AXES) يعرض مستشعرًا غير مخصّص للتنشيط

إنّ أداة استشعار المحاور المحدودة في الجيروسكوب هي مكافئة TYPE_GYROSCOPE ولكنها تتيح الحالات التي لا تكون فيها محاور واحدة أو محوران متاحَين.

تمثل قيم أحداث الاستشعار الثلاث الأخيرة التي يبلِغ عنها جهاز الاستشعار ما إذا كانت قيمة السرعة الزاوية للمحور x وy وz متوافقة. تشير القيمة 1.0 إلى أنّ المحور متوافق، وتشير القيمة 0 إلى أنّه غير متوافق. يحدِّد مصنعو الأجهزة محوري الالتفاف المسموح بهما أثناء مرحلة التصميم، ولا تتغيّر القيم أثناء مرحلة التشغيل.

على الشركات المصنّعة للأجهزة ضبط قيم السرعة الزاوية للأسطح غير المستخدَمة على 0.

عدم معايرة محاور مقياس التسارع المحدودة

أجهزة الاستشعار الأساسية: مقياس التسارع

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED) يعرض مستشعرًا غير مخصّص للتنشيط

إنّ جهاز استشعار التسارع غير المعاد معايرة المحاور المحدودة له هو مماثل لجهاز TYPE_ACCELEROMETER_UNCALIBRATED، ولكنه يتيح الحالات التي لا يكون فيها محور واحد أو محوران متاحَين.

تمثل آخر ثلاث قيم لأحداث الاستشعار التي يبلِغ عنها جهاز الاستشعار ما إذا كانت قيم التسارع والانحياز للمحور x وy وz متوافقة. تشير القيمة 1.0 إلى أنّ المحور مسموح به، وتشير القيمة 0 إلى أنّه غير مسموح به. يحدِّد مصنعو الأجهزة محوري الالتفاف المسموح بهما أثناء مرحلة التصميم، ولا تتغيّر القيم أثناء مرحلة التشغيل.

على الشركات المصنّعة للأجهزة ضبط قيم التسارع والانحياز للمحورين غير المستخدَمين على 0.

عدم معايرة محاور الجيروسكوب المحدودة

أجهزة الاستشعار الأساسية: الجيروسكوب

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED) يعرض مستشعرًا غير مخصّص للتنشيط

إنّ أداة استشعار الجيروسكوب غير المُعتمَدة والمحدّدة المحاور هي مماثلة لجهاز TYPE_GYROSCOPE_UNCALIBRATED، ولكنها تتيح الحالات التي لا تتوفّر فيها محوران أو محور واحد.

تمثل القيم الثلاث الأخيرة لأحداث الاستشعار التي يبلِغ عنها جهاز الاستشعار ما إذا كان من الممكن استخدام قيم السرعة الزاوية والانحراف في المحاور x وy وz. تشير القيمة 1.0 إلى أنّ المحور مسموح به، وتشير القيمة 0 إلى أنّه غير مسموح به. يحدِّد مصنعو الأجهزة محوري الالتفاف المسموح بهما أثناء مرحلة التصميم، ولا تتغيّر القيم أثناء مرحلة التشغيل.

على الشركات المصنّعة للأجهزة ضبط قيم السرعة الزاوية والانحراف للمحورين غير المستخدَمين على 0.

وحدة قياس تسارع مكوّنة من محاور محدودة

أجهزة الاستشعار الأساسية: أي مجموعة من أجهزة استشعار التسارع و/أو الجيروسكوب المزوّدة بثلاثة محاور، وأجهزة استشعار التسارع و/أو الجيروسكوب المزوّدة بثلاثة محاور والتي لم يتم ضبطها

وضع إعداد التقارير: مستمر

إنّ أداة استشعار IMU المركبة ذات المحاور المحدودة هي ما يعادل أداة استشعار IMU ذات المحاور المحدودة، ولكن بدلاً من أن تكون متوافقة مع HAL، فإنّها تحوّل بيانات أداة استشعار المحاور الثلاثة إلى الصيغ المكافئ ذات المحاور المحدودة. لا يتم تفعيل أدوات الاستشعار المركبة هذه إلا للأجهزة المخصّصة للسيارات.

يعرض الجدول التالي مثالاً على التحويل من أداة تسارع عادية تضم 3 محاور إلى أداة تسارع مركبة تضم محاور محدودة.

قيم SensorEvent لـ SENSOR_TYPE_ACCELEROMETER مثال على SensorEvent من النوع SENSOR_TYPE_ACCELEROMETER حدث SensorEvent مركّب من النوع SENSOR_TYPE_ACCELEROMETER_LIMITED_AXES
values[0]

-0.065

-0.065

values[1]

0.078

0.078

values[2]

9.808

9.808

values[3]

لا ينطبق

1

values[4]

لا ينطبق

1

values[5]

لا ينطبق

1

أجهزة الاستشعار في السيارات

أدوات الاستشعار لتلبية حالات الاستخدام في السيارات

العنوان

أجهزة الاستشعار الأساسية: أيّ مجموعة من نظام تحديد المواقع العالمي (GPS) ومقياس المغناطيس ومقاييس التسارع والجيروسكوب

وضع إعداد التقارير: مستمر

getDefaultSensor(SENSOR_TYPE_HEADING) يعرض مستشعرًا غير مخصّص للتنشيط

يتوفّر جهاز استشعار الاتجاه في نظام التشغيل Android 13، وهو يقيس الاتجاه الذي يشير إليه الجهاز بالنسبة إلى الشمال الجغرافي بالدرجات. يتضمّن أداة استشعار الاتجاه قيمتَي SensorEvent. أحدهما لعنوان الجهاز الذي تم قياسه والآخر لدقة قيمة العنوان المقدَّمة.

يجب أن تتراوح قيم الاتجاه التي يبلِغ عنها هذا المستشعر بين 0.0 (شاملة) و360.0 (حصرية)، مع اختلاف 0 للإشارة إلى الشمال و90 للإشارة إلى الشرق و180 للإشارة إلى الجنوب و270 للإشارة إلى الغرب.

يتم تحديد دقة أداة الاستشعار هذه عند مستوى ثقة يبلغ %68. في حال كان التوزيع الأساسي توزيعًا طبيعيًا من نوع غاوس، تكون الدقة انحرافًا سمتيًا واحدًا. على سبيل المثال، إذا كان جهاز استشعار الاتجاه يعرض قيمة اتجاه تبلغ 60 درجة وقيمة دقة تبلغ 10 درجات، هناك احتمال بنسبة ‎68% أن يكون الاتجاه الفعلي بين 50 درجة و70 درجة.