الآراء المعبر عنها في هذه الوثيقة والرمز هي آراء المؤلف ولا تعكس السياسة الرسمية أو موقف القوات الجوية للولايات المتحدة أو جيش الولايات المتحدة أو وزارة الدفاع بالولايات المتحدة أو حكومة الولايات المتحدة. تم إعلان هذه المادة عمل حكومة الولايات المتحدة ولا تخضع لحماية حقوق الطبع والنشر في الولايات المتحدة. تمت الموافقة على الموافقة على الإفصاح العام لهذا الرمز من قبل 88 Air Base Wing الشؤون العامة في 08 مارس 2019 بموجب القضية رقم 88ABW-2019-0910. تمت الموافقة على الكشف غير المصنف للأطروحة في 03 يناير 2019 بموجب القضية رقم 88ABW-2019-0024.
يضم هذا المشروع Python و R البرامج النصية التي تهدف إلى تسهيل الهندسة العكسية الآلية لشبكة منطقة وحدة التحكم (CAN) التي تمت ملاحظتها من مركبات الركاب. تم تطوير هذا الرمز في الأصل من قبل الدكتور برنت ستون في معهد القوات الجوية للتكنولوجيا في السعي لتحقيق دكتوراه في الفلسفة في علوم الكمبيوتر. يرجى الاطلاع على أطروحة مشمولة بعنوان "تمكين التدقيق والكشف عن التسلل لشبكات منطقة تحكم الملكية" للحصول على تفاصيل حول الأساليب المستخدمة. يرجى فتح مشكلة لإخبارنا إذا وجدت أي أخطاء مطبعية أو قواعد سوء أو صورك المحمية بحقوق الطبع والنشر التي تريد إزالتها أو أي مشكلات أخرى!
شكراً خاصًا لـ Dave Blundell ، المؤلف المشارك لكتيب Car Hacker ، ومجتمع Open Garages للحصول على المشورة الفنية والعمل كوحة صوت.
لن يتم تشغيل هذه البرامج النصية على الفور عند استنساخ هذا الريبو. نأمل أن توفر لك هذه النصائح الوقت والإحباط تقول "لماذا لن تعمل هذه الأشياء!؟!؟!" يرجى طرح الأسئلة عن طريق النشر في Google Open Garages. تم تطوير هذه البرامج النصية واختبارها باستخدام Python 3.6. يرجى التأكد من أن لديك حزم Numpy و Pandas و Scikit-Learn المتاحة لمترجم Python الخاص بك.
يتم تنظيم الملفات مع مثال على عينة من البيانات وثلاثة مجلدات. كل مجلد عبارة عن مجموعة قائمة بذاتها من فئات Python المترابطة أو البرامج النصية R لفحصها يمكن البيانات بالتنسيق الموضح في مثال LoggerProgram0.log. يمكن استخدام تنسيقات الملفات المختلفة عن طريق ضبط Preprocessor.py وفقًا لذلك.
المجلد 1: خط الأنابيب
المجلد 2: ملف pipeline_multi
هذا هو التنفيذ الأكثر اكتمالا وقوة للمفاهيم المقدمة في الأطروحة ؛ ومع ذلك ، فإن الرمز أكثر تعقيدًا أيضًا لتمكين المعالجة الآلية للعديد من عينات البيانات في وقت واحد. إذا لم تكن مرتاحًا جدًا بالفعل مع Python و Pandas ، فتأكد من أنك تفهم كيف تعمل البرامج النصية في مجلد خطوط الأنابيب قبل محاولة الاطلاع على هذه النسخة الموسعة من الرمز.
يتضمن هذا المجلد نفس الفئات من خط الأنابيب . ومع ذلك ، تم إصلاح بعض الأخطاء هنا ولكن ليس في الفصول المحفوظة في خط الأنابيب . إذا كانت الروح السخية تريد زرع الإصلاحات مرة أخرى إلى خط الأنابيب ، فسوف أقوم بدمج الشوكة بسعادة.
تأكد من قراءة التعليقات حول هيكل المجلد المتوقع!
المجلد 3: نصوص R
تتطلب البرامج النصية R حزمة REDM. ابحث عن commands_list.txt للحصول على سلسلة متتابعة من الأوامر r. لمزيد من المعلومات حول EDM ، راجع صفحة UC San Diego's Sugihara Lab: https://deepeco.ucsd.edu/.
تتضمن المجلدات "City" و "Home" .CSV ملفات RPM للمحرك ، وضغط الفرامل ، وسلسلة وقت سرعة السيارة أثناء ظروف القيادة المختلفة. يتضمن كل مجلد ملف "Commands_List _ ####. txt" لأوامر النسخ من الصغار لتحليل هذه البيانات باستخدام حزمة REDM.
. ملفات .RDA والإخراج الرسومي .pdf أمثلة على الإخراج باستخدام أوامر R وبيانات .CSV المقدمة.
[April 2020 Update] أضاف Freeman دعمًا لوسائط سطر الأوامر وتنسيق تسجيل الدخول إلى المعالجة المسبقة. الاستخدام هو:
مثال استخدمه مع تنسيق سجل can -utils python main.py -c inputfile.log
python main.py-can-utils inputfile.log
مثال استخدمه مع التنسيق الأصلي Python Main.py OriginalFormat.log
مثال استخدم مع ./loggerprogram0.log python main.py
الإدخال : يمكن للبيانات بالتنسيق الموضح في loggerProgram0.log
الإخراج : تنتج هذه السلسلة من البرامج النصية مجموعة من الإخراج اعتمادًا على المتغيرات العالمية المحددة في Main.py. قد يتضمن هذا الإخراج ما يلي:
الإدخال : يمكن للبيانات بالتنسيق الموضح في loggerProgram0.log.
الإدخال : ملفات. CSV Plain-Text التي تحتوي على بيانات السلاسل الزمنية مثل تلك المضمنة في هذا المجلد.
الإخراج :