جدول المحتويات:

راجع Studio CAN-BUS V2.0 Hacking - الشروع في العمل: 5 خطوات
راجع Studio CAN-BUS V2.0 Hacking - الشروع في العمل: 5 خطوات

فيديو: راجع Studio CAN-BUS V2.0 Hacking - الشروع في العمل: 5 خطوات

فيديو: راجع Studio CAN-BUS V2.0 Hacking - الشروع في العمل: 5 خطوات
فيديو: Стеки технологий – информатика для руководителей бизнеса 2016 2024, يوليو
Anonim
انظر Studio CAN-BUS V2.0 Hacking - الشروع في العمل
انظر Studio CAN-BUS V2.0 Hacking - الشروع في العمل
انظر Studio CAN-BUS V2.0 Hacking - الشروع في العمل
انظر Studio CAN-BUS V2.0 Hacking - الشروع في العمل
انظر Studio CAN-BUS V2.0 Hacking - الشروع في العمل
انظر Studio CAN-BUS V2.0 Hacking - الشروع في العمل
انظر Studio CAN-BUS V2.0 Hacking - الشروع في العمل
انظر Studio CAN-BUS V2.0 Hacking - الشروع في العمل

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

في هذا الدليل ، سنعيد بعض بيانات CAN-BUS من سيارتك.

ولا تقلق! سأصل إلى هذه النقطة مباشرةً دون أن أتجول وأستخدم الكلمات الطنانة لتجعلني أبدو مثل هاكر ذكي:-)

أنا شخصياً أوصي بدروع Seeed Studio CAN-BUS. لا يمكنني التحدث حقًا عن أي من العلامات التجارية الأخرى ، لكن CAN-BUS Shield من SeeedStudio قد خدمني جيدًا.

ملاحظة مهمة: درع can-bus إلزامي. لقد كتبت هذه الملاحظة لأنه كثيرًا ما يسأل الناس عما إذا كان يجب عليك استخدام درع CAN-BUS. يحتوي الدرع على MCP2515 (CAN Controller) و MCP2551 (جهاز الإرسال والاستقبال) الذي سيعالج بيانات CAN-BUS إلى المنفذ التسلسلي لـ Arduino.

الأجهزة المطلوبة 1. Arduino UNO - يكفي أي متوافق مع اردوينو. لقد استخدمت هذا

2. SeeedStudio CAN-BUS Shield. حصلت عليه مباشرة من SeeedStudio هنا الرابط

3. بعض الأسلاك للاستفادة من CAN-BUS

4. مركبة يمكنك استرداد البيانات منها

البرنامج المطلوب 1. Arduino IDE ، Duh! بوضوح:-)

2. SeeedStudio CAN-BUS مكتبة. يمكن تنزيله من GIT Hub

بعض المعلومات الحيوية الإضافية إذا كنت ترغب في قراءة المزيد عن درع SeeedStudio CAN-BUS.

هيا بنا نبدأ!

الخطوة 1: إعداد الأجهزة والاتصال

Image
Image
إعداد الأجهزة والاتصال
إعداد الأجهزة والاتصال
إعداد الأجهزة والاتصال
إعداد الأجهزة والاتصال
إعداد الأجهزة والاتصال
إعداد الأجهزة والاتصال

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

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

ثم الجزء الذكوري الذي قمت بتوصيله بدرع SeeedStudio CAN-BUS كما هو موضح في الصورة. بهذه الطريقة يمكنني الاتصال / قطع الاتصال عند الحاجة.

نصيحة: استخدم السلك الأحمر لـ CAN-H والأسود لـ CAN-L

الخطوة 2: قم بتثبيت البرنامج على Arduino

قم بتثبيت البرنامج على Arduino
قم بتثبيت البرنامج على Arduino
قم بتثبيت البرنامج على Arduino
قم بتثبيت البرنامج على Arduino
قم بتثبيت البرنامج على Arduino
قم بتثبيت البرنامج على Arduino

قم بتنزيل مكتبة SeeedStudio من موقع ويكي SeeedStudio CAN-BUS.

github.com/Seeed-Studio/CAN_BUS_Shield

قم بتثبيت المكتبة كما هو موضح بالصور.

من Arduino IDE ، حدد Sketch Include Library - Add.zip Library.

بعد إضافة المكتبة ، أغلق Arduino IDE وأعد فتحه. ستتمكن الآن من تحميل بعض الأمثلة من قائمة ملف أمثلة ملف فحص CAN-BUS درع تلقي الاختيار

في هذا البرنامج التعليمي ، قم بتحميل مثال استلام الشيك.

الأهمية!

سيتطلب ما يلي بعض التجربة والخطأ.

لقد استخدمت Jeep JK 2010 Rubicon الخاص بي لاسترداد البيانات ويعمل الحافلة الداخلية بسرعة 125 كيلو بايت.

في قسم الإعداد حيث يقرأ

بينما (CAN_OK! = CAN.begin (CAN_500KBPS)) اضطررت لتغييره إلى

بينما (CAN_OK! = CAN.begin (CAN_125KBPS))

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

الخطوة 3: قم بتوصيله وابدأ في استرداد البيانات

قم بتوصيله وابدأ في استرداد البيانات
قم بتوصيله وابدأ في استرداد البيانات
قم بتوصيله وابدأ في استرداد البيانات
قم بتوصيله وابدأ في استرداد البيانات
قم بتوصيله وابدأ في استرداد البيانات
قم بتوصيله وابدأ في استرداد البيانات

قبل الاتصال ، يرجى إجراء فحص سلامة قبل توصيله بمركبتك. آخر شيء تريد القيام به هو إرسال الطاقة إلى CAN-BUS الخاص بك الذي يحتمل أن ينفخ وحدة التحكم الإلكترونية في سيارتك.

لم أقم بفحص عقلي وفقط بعد أن أدركت أنني لا أحصل على بيانات ، رأيت أنني قمت بتوصيل USB الخاص بالكمبيوتر المحمول مباشرة إلى USB Power الخاص بـ Arduino. لحسن الحظ لم يحدث شيء.

في صور هذه الخطوة ، استخدمت الكمبيوتر المحمول Lenovo محملاً بنظام Linux Mint. يمكنك استخدام أي نظام تشغيل للاتصال بمنفذ Arduino التسلسلي الخاص بك ،

1. قم بإعداد الكمبيوتر المحمول في سيارتك وقم بتشغيل درع Arduino CAN-BUS بكبل USB.

2. ابدأ تشغيل Putty أو شاشة Arduino التسلسلية (أفضل المعجون) ، عند توصيلها ، سترى رسالة في وحدة التحكم التسلسلية تخبرك أنها تمكنت من تهيئة درع Can-Bus.

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

4. قم بتوصيل Arduino بـ CAN-BUS. في اللحظة التي يتم فيها توصيل البيانات ، ستبدأ في التدفق إلى وحدة التحكم.

الخطوة 4: البيانات وما تعنيه كلها

البيانات وما تعنيه كلها
البيانات وما تعنيه كلها
البيانات وكل ما تعنيه
البيانات وكل ما تعنيه

عندما يتم استرداد البيانات ، سيتم تفريغها في تنسيق HEX التالي.

المعرف ، BIT1 ، BIT2 ، BIT3 ، BIT4 ، BIT5 ، BIT6 ، BIT7 ، BIT8

يمثل المعرف عادةً عقدة داخل سيارتك.

لنجعل مثالاً بسيطًا. (أدناه مختلق وليست حقيقية ، مجرد مثال)

معرف عقدة تكييف الهواء = 0x402TURN AIRCON OFF = 13TURN AIRCON ON = 14 SET AIRCON BLOWER TO LOW = 7C SET AIRCON BLOWER TO MEDIUM 8C SET AIRCON BLOWER TO HIGH 9C

لذلك إذا قمنا بتشغيل Aircon وقمنا بتعيينه على وسيط ، فستبدو الرسالة كما يلي: 0 × 402 ، 13 ، 8 درجة مئوية

الشيء نفسه ينطبق على العقد الأخرى ، على سبيل المثال معرف القفل المركزي للقفل المركزي = 0x503LOCK جميع الأبواب = 14

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

0x502 ، 14

بعض الملاحظات الإضافية.

بعض الرسائل مدفوعة بالدولة وبعضها أو مؤقتًا.

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

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

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

بعض النصائح والأفكار

برؤية أنك قادر الآن على تفريغ البيانات التي يمكنك استخدامها لبناء دوائر Arduino الخاصة بك والتي ستتفاعل بناءً على الرسائل ، يمكنك رؤيتها على CAN-BUS. على سبيل المثال. لنفترض أنك قمت بالتثبيت بعد أضواء السوق الموضعية. دون الحاجة إلى الحفر في الأسلاك الموجودة لديك ، يمكنك تثبيت المصابيح الأمامية الخاصة بك بشكل مستقل وتشغيلها فقط عندما يكتشف Arduino رسالة على CAN-BUS.

إرسال البيانات إلى CAN-BUS

إذا اتبعت التعليمات الواردة في بداية هذا الدليل ، فقد قمت بتثبيت مكتبات SEEEDStudio. في Arduino IDE ، هناك بعض الأمثلة التي يمكنك تجربتها.

معرفة المعرف ورسالة CAN0-BUS الخاصة بالعقدة التي تريد التفاعل معها.

للأسف هذه ليست مهمة سهلة للغاية. لكن ها هي فكرة. استخدم ميزة تسجيل المعجون وتفريغ جميع بيانات الجلسة في الملف. دع Arduino يراقب ناقل العلبة لمدة 5 دقائق تقريبًا ثم احفظ تسجيل الخروج.

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

ثم استخدم نوعًا من أدوات المقارنة وقارن الملف لتحديد الاختلافات. يعمل Excel بشكل رائع من أجل هذا.

يمكنك تجربة بعض الرموز

إذا كان لديك نفس طراز روبيكون Jeep 2010 مثلي (أنا متأكد من أن ما يلي سوف يعمل أيضًا مع الموديلات '07 ، '08' ، 09)

يمكنك تجربة الرسائل التالية. قم بتحميل أمثلة الإرسال من قائمة أمثلة Arduino وكان التغيير ذا صلة.

إشراك الخزانة الخلفية: CAN.sendMsgBuf (0x2B0 ، 0 ، 4 ، stmp) ؛

تشغيل الوميض الأيسر: CAN.sendMsgBuf (0x2A8، 0، 6، stmp) ؛

تشغيل الوميض الأيمن: CAN.sendMsgBuf (0x2A8، 0، 6، stmp) ؛

تشغيل / إيقاف ESP: CAN.sendMsgBuf (0x2B0 ، 0 ، 4 ، stmp) ؛

في التعليمات التالية ، سأرسل بعض البيانات إلى CAN-BUS من Jeep لتوضيح كيف يمكنك التدخل فيها.

حظا سعيدا!

الخطوة 5: شاهد الفيديو

شاهد الفيديو لمزيد من الخير في CAN-BUS!

موصى به: