14.5. الخلاصة¶
لقد سرت عبر دورة حياة كاميرا تنتقل من برنامج نصي يعمل على طاولة العمل إلى منتج مشحون:
إصدارات البرنامج الثابت المخصصة -- بيئة التطوير، وبناء صورة البرنامج الثابت من المصدر، ووميضها على الكاميرا، ومسار التصحيح من VS Code Cortex-Debug إلى
gdbrunnerعبر سطر الأوامر عندما يكون هناك خطأ في جانب البرنامج الثابت.شحن التطبيق -- دمج برنامج التطبيق في البرنامج الثابت عبر الوحدات المجمّدة، ودمج الأصول في صورة ROMFS، وترتيب البحث الذي يحدد أي نسخة من ملف يحمّلها وقت التشغيل فعلاً عند الإقلاع. التقسيم الناتج:
boot.pyلإعداد البيئة قبل REPL، وmain.pyكنقطة دخول التطبيق، وmain.pyالمجمّد لنقطة الدخول و ROMFS لكل شيء آخر.التقوية للإنتاج -- مكتبة
loggingالمكتوبة إلى مسار معروف، وmachine.WDTتُغذّى مرة واحدة لكل تكرار للحلقة الرئيسية، وعبارةtry/exceptعلى المستوى الأعلى تحوّل الأعطال إلى أحداث مسجّلة بدلاً من عمليات إعادة التشغيل، ونظافة نظام الملفات التي تبقي عمليات الملفات سريعة مع تراكم التطبيق للسجلات على مدى أشهر في الميدان، و -- عندما يتطلب المنتج ذلك -- حماية قراءة ذاكرة الفلاش.المواد المتقدمة -- شهادات TLS للكاميرات التي تحتاج إلى المصادقة لدى خدمات الشبكة وتشفير حركة المرور معها.
تتوفر كل هذه الأمور في كاميرا مشحونة: برنامج تطبيقها يعمل من صورة البرنامج الثابت، وتُغذّى مراقبتها مرة واحدة لكل تكرار للحلقة الرئيسية، ويهبط سجلها في دليل مؤرّخ على بطاقة SD، و -- عندما يتطلب المنتج ذلك -- تكون ذاكرة فلاشها مقفلة ضد القراءة.
14.5.1. إلى أين تذهب من هنا¶
الإنتاج هو الفصل الأخير من الدليل التعليمي. ومن هنا تنقسم الوثائق إلى مواد مرجعية:
إن المرجع المكتبي هو العرض الأبجدي بنمط "ما هو الاسم الدقيق لهذا الاستدعاء" لكل وحدة تكشفها الكاميرا --
machineوloggingوosوcsiوimageوmlوالبقية.تغطي صفحات المرجع السريع لكل لوحة تفاصيل كل كاميرا في خط منتجات OpenMV -- مخططات الدبابيس، والنواقل القابلة للتركيب، ومعرّفات اللوحات، وتوفر الطرفيات، والاختلافات الصغيرة التي تهم عندما يتعين على التطبيق أن يُنزَّل على قطعة محددة.
تغطي صفحات مرجع المستشعرات و صفحات مرجع الدروع مستشعرات الصور الفردية والدروع الإضافية التي يمكن أن تحملها الكاميرا -- المواصفات الخاصة بكل قطعة، ومخططات الدبابيس، والملاحظات التي يحتاجها التطبيق عند اختيار المستشعرات والدروع لإصدار ما.
يغطي مرجع لغة MicroPython اللغة نفسها -- اختلافات الصيغة عن CPython، وتفاصيل التنفيذ التي تهم عندما يقع برنامج نصي بين الاثنين، ومرجع المُجمّع المضمّن للحالة النادرة التي تكون فيها Python بطيئة جداً.
الدليل التعليمي هو الطريق من "لدي كاميرا جديدة في يدي" إلى "لقد شحنت منتجاً". ومن هنا تصبح الكاميرا قطعة واحدة من نظام أكبر يكون التطبيق مسؤولاً عنه، ويصبح العمل عملاً خاصاً بالتطبيق نفسه.