السيارات

رمز HAL لمركبة Android

ترتبط العديد من أنظمة السيارات الفرعية ببعضها البعض ونظام المعلومات والترفيه داخل السيارة (IVI) عبر هياكل الحافلات المختلفة. يختلف نوع الحافلة الدقيقة والبروتوكولات اختلافًا كبيرًا بين الشركات المصنعة (وحتى بين طرازات المركبات المختلفة من نفس العلامة التجارية) ؛ تشمل الأمثلة ناقل شبكة منطقة التحكم (CAN) ، ناقل شبكة الاتصال المحلي (LIN) ، نقل الأنظمة الموجهة للوسائط (MOST) ، بالإضافة إلى شبكات Ethernet و TCP / IP مثل BroadR-Reach.

توفر طبقة تجريد أجهزة Android Automotive (HAL) واجهة متسقة لإطار عمل Android بغض النظر عن طبقة النقل المادية. هذه المركبة HAL هي واجهة لتطوير تطبيقات Android Automotive.

يمكن لمتكاملي الأنظمة تنفيذ وحدة HAL للمركبة عن طريق توصيل واجهات HAL للمنصة الخاصة بالوظيفة (مثل HVAC) بواجهات الشبكة الخاصة بالتقنية (مثل ناقل CAN). قد تتضمن التطبيقات النموذجية وحدة متحكم دقيقة مخصصة (MCU) تعمل بنظام تشغيل في الوقت الفعلي (RTOS) خاص للوصول إلى ناقل CAN أو ما شابه ، والتي يمكن توصيلها عبر رابط تسلسلي إلى وحدة المعالجة المركزية التي تعمل بنظام Android Automotive. بدلاً من MCU المخصصة ، قد يكون من الممكن أيضًا تنفيذ وصول الناقل كوحدة معالجة مركزية افتراضية. الأمر متروك لكل شريك لاختيار البنية المناسبة للأجهزة طالما أن التنفيذ يفي بمتطلبات الواجهة الخاصة بـ HAL للمركبة.

هندسة عامة

HAL للمركبة هو تعريف الواجهة بين السيارة وخدمة شبكة المركبات:

بنية HAL لمركبة Android

الشكل 1 . هندسة السيارات HAL و Android

  • API السيارة . يحتوي على واجهات برمجة التطبيقات ، بما في ذلك CarSensorManager . للحصول على تفاصيل حول واجهات برمجة التطبيقات المدعومة ، راجع /platform/packages/services/Car/car-lib .
  • خدمة السيارات . موجود في /platform/packages/services/Car/ .
  • السيارة HAL . واجهة تحدد خصائص السيارة يمكن لمصنعي المعدات الأصلية تنفيذها. يحتوي على بيانات وصفية للخاصية (على سبيل المثال ، ما إذا كانت خاصية السيارة هي int وما هي أوضاع التغيير المسموح بها). موجود في hardware/libhardware/include/hardware/vehicle.h . لتطبيق مرجعي أساسي ، ارجع إلى hardware/libhardware/modules/vehicle/ .

لمزيد من التفاصيل ، انظر خصائص السيارة .

حماية

تدعم HAL المركبة مستويات الأمان هذه عند الوصول إلى البيانات:

  • الوصول إلى التطبيق بإذن (من خلال خدمة السيارة).
  • يمكن الوصول إليها دون إذن (من خلال خدمة السيارات).

يُسمح بالوصول المباشر إلى خصائص السيارة فقط لمكونات النظام المحددة مع شبكة المركبات مع حماية وصول selinux. تخضع معظم التطبيقات لحراسة بوابة إضافية عن طريق خدمة السيارة (على سبيل المثال ، يمكن لتطبيقات النظام فقط التحكم في أنظمة التدفئة والتهوية وتكييف الهواء (HVAC) لأنها تتطلب إذن النظام الممنوح فقط لتطبيقات النظام).

و رمز HAL لمركبة Android

ترتبط العديد من أنظمة السيارات الفرعية ببعضها البعض ونظام المعلومات والترفيه داخل السيارة (IVI) عبر هياكل الحافلات المختلفة. يختلف نوع الحافلة الدقيقة والبروتوكولات اختلافًا كبيرًا بين الشركات المصنعة (وحتى بين طرازات المركبات المختلفة من نفس العلامة التجارية) ؛ تتضمن الأمثلة ناقل شبكة منطقة التحكم (CAN) ، ناقل شبكة الاتصال المحلي (LIN) ، نقل الأنظمة الموجهة للوسائط (MOST) ، بالإضافة إلى شبكات Ethernet و TCP / IP مثل BroadR-Reach.

توفر طبقة تجريد أجهزة Android Automotive (HAL) واجهة متسقة لإطار عمل Android بغض النظر عن طبقة النقل المادية. هذه المركبة HAL هي واجهة لتطوير تطبيقات Android Automotive.

يمكن لمتكاملي الأنظمة تنفيذ وحدة HAL للمركبة عن طريق توصيل واجهات HAL للمنصة الخاصة بالوظيفة (مثل HVAC) بواجهات الشبكة الخاصة بالتقنية (مثل ناقل CAN). قد تتضمن التطبيقات النموذجية وحدة متحكم دقيقة مخصصة (MCU) تعمل بنظام تشغيل في الوقت الفعلي (RTOS) خاص للوصول إلى ناقل CAN أو ما شابه ، والتي يمكن توصيلها عبر رابط تسلسلي إلى وحدة المعالجة المركزية التي تعمل بنظام Android Automotive. بدلاً من MCU المخصصة ، قد يكون من الممكن أيضًا تنفيذ وصول الناقل كوحدة معالجة مركزية افتراضية. الأمر متروك لكل شريك لاختيار البنية المناسبة للأجهزة طالما أن التنفيذ يفي بمتطلبات الواجهة الخاصة بـ HAL للمركبة.

هندسة عامة

HAL للمركبة هو تعريف الواجهة بين السيارة وخدمة شبكة المركبات:

بنية HAL لمركبة Android

الشكل 1 . هندسة السيارات HAL و Android

  • API السيارة . يحتوي على واجهات برمجة التطبيقات ، بما في ذلك CarSensorManager . للحصول على تفاصيل حول واجهات برمجة التطبيقات المدعومة ، راجع /platform/packages/services/Car/car-lib .
  • خدمة السيارات . موجود في /platform/packages/services/Car/ .
  • السيارة HAL . واجهة تحدد خصائص السيارة يمكن لمصنعي المعدات الأصلية تنفيذها. يحتوي على بيانات وصفية للخاصية (على سبيل المثال ، ما إذا كانت خاصية السيارة هي int وما هي أوضاع التغيير المسموح بها). موجود في hardware/libhardware/include/hardware/vehicle.h . لتطبيق مرجعي أساسي ، ارجع إلى hardware/libhardware/modules/vehicle/ .

لمزيد من التفاصيل ، انظر خصائص السيارة .

حماية

تدعم HAL المركبة مستويات الأمان هذه عند الوصول إلى البيانات:

  • الوصول إلى التطبيق بإذن (من خلال خدمة السيارة).
  • يمكن الوصول إليها دون إذن (من خلال خدمة السيارات).

يُسمح بالوصول المباشر إلى خصائص السيارة فقط لمكونات النظام المحددة مع شبكة المركبات مع حماية وصول selinux. تخضع معظم التطبيقات لحراسة بوابة إضافية عن طريق خدمة السيارة (على سبيل المثال ، يمكن لتطبيقات النظام فقط التحكم في أنظمة التدفئة والتهوية وتكييف الهواء (HVAC) لأنها تتطلب إذن النظام الممنوح فقط لتطبيقات النظام).