विषयसूची:

सीड स्टूडियो CAN-BUS V2.0 हैकिंग - आरंभ करना: 5 कदम
सीड स्टूडियो CAN-BUS V2.0 हैकिंग - आरंभ करना: 5 कदम

वीडियो: सीड स्टूडियो CAN-BUS V2.0 हैकिंग - आरंभ करना: 5 कदम

वीडियो: सीड स्टूडियो CAN-BUS V2.0 हैकिंग - आरंभ करना: 5 कदम
वीडियो: CAN Bus Explained - A Simple Intro [v2.0 | 2021] 🌟 2024, जुलाई
Anonim
सीड स्टूडियो CAN-BUS V2.0 हैकिंग - आरंभ करना
सीड स्टूडियो CAN-BUS V2.0 हैकिंग - आरंभ करना
सीड स्टूडियो CAN-BUS V2.0 हैकिंग - आरंभ करना
सीड स्टूडियो CAN-BUS V2.0 हैकिंग - आरंभ करना
सीड स्टूडियो CAN-BUS V2.0 हैकिंग - आरंभ करना
सीड स्टूडियो CAN-BUS V2.0 हैकिंग - आरंभ करना
सीड स्टूडियो CAN-BUS V2.0 हैकिंग - आरंभ करना
सीड स्टूडियो CAN-BUS V2.0 हैकिंग - आरंभ करना

यह शिक्षाप्रद शुरुआती लोगों के लिए है जो पहले से ही Arduino के आसपास अपना रास्ता जानते हैं। प्रारंभिक जानकारी किसी भी परियोजना में हमेशा एक दर्द और समय लेने वाली होती है। लेकिन जब तक आप अपने आस-पास अपना रास्ता नहीं जानते, लगभग हमेशा चाहते हैं कि आपके पास कोई ऐसा व्यक्ति हो जो आपको मूल बातें दिखाए।

इस निर्देश में हम आपके वाहन से कुछ CAN-BUS डेटा लौटाएंगे।

और चिंता मत करो! मैं एक चतुर हैकर की तरह आवाज करने के लिए बिना जुए के शब्दों का उपयोग किए बिना सही बिंदु पर पहुंच जाऊंगा:-)

मैं व्यक्तिगत रूप से सीड स्टूडियो कैन-बस शील्ड्स की सलाह देता हूं। वास्तव में किसी भी अन्य ब्रांड के लिए बात नहीं कर सकता लेकिन सीडस्टूडियो से कैन-बस शील्ड ने मुझे बहुत अच्छी तरह से सेवा दी है।

महत्वपूर्ण नोट: कैन-बस शील्ड अनिवार्य है। मैंने यह नोट इसलिए बनाया क्योंकि अक्सर लोग पूछते हैं कि क्या आपको CAN-BUS शील्ड का उपयोग करना चाहिए। शील्ड में एक MCP2515 (CAN कंट्रोलर) और MCP2551 (ट्रांसीवर) है जो CAN-BUS डेटा को आपके Arduino के सीरियल पोर्ट पर प्रोसेस करेगा।

आवश्यक हार्डवेयर.1. Arduino UNO - कोई भी arduino संगत पर्याप्त होगा। मैंने इसका इस्तेमाल किया

2. SeeedStudio CAN-BUS शील्ड। मुझे यह सीधे SeeedStudio से मिला यहाँ लिंक है

3. कैन-बस में टैप करने के लिए कुछ तार

4. एक वाहन जिससे आप डेटा प्राप्त कर सकते हैं

आवश्यक सॉफ्टवेयर1. अरुडिनो आईडीई, दुह! जाहिर है:-)

2. सीडस्टूडियो कैन-बस लाइब्रेरी। जीआईटी हब से डाउनलोड करने योग्य

कुछ अतिरिक्त महत्वपूर्ण जानकारी यदि आप SeeedStudio CAN-BUS शील्ड के बारे में अधिक पढ़ना चाहते हैं।

आएँ शुरू करें!

चरण 1: हार्डवेयर सेटअप और कनेक्शन

Image
Image
हार्डवेयर सेटअप और कनेक्शन
हार्डवेयर सेटअप और कनेक्शन
हार्डवेयर सेटअप और कनेक्शन
हार्डवेयर सेटअप और कनेक्शन
हार्डवेयर सेटअप और कनेक्शन
हार्डवेयर सेटअप और कनेक्शन

आइए सबसे कठिन भाग से शुरू करें। हमें आपके वाहन में एक ऐसी जगह ढूंढनी होगी जहां हम CAN-BUS में टैप कर सकें। यहां मैं आपके लिए बहुत कुछ नहीं कर सकता, आपको इसे स्वयं ही समझना होगा। मेरे मामले में मैंने रेडियो के माध्यम से CAN-BUS में टैप किया। हां! रेडियो। एकीकृत कार ऑडियो वाले वाहन आमतौर पर रात में वाहन चलाते समय वाहन की हेडलैम्प सेटिंग के आधार पर कार-स्टीरियो डिस्प्ले रोशनी सेट करते हैं। यह आमतौर पर आंतरिक कैन-बस के माध्यम से किया जाता है।

मैंने एक USB एक्सटेंडर केबल का उपयोग किया है जिसमें एक पुरुष USB और एक महिला USB अंत है। इसलिए मैंने इसे केवल आधे में काट दिया और फिर महिला पक्ष को रेडियो के कनेक्टर पर मिला दिया। आप अपने प्रकार के रेडियो के लिए एक पुरुष महिला कनेक्टर खरीदना चाह सकते हैं, इस तरह आपको अपने वाहन की तारों को विभाजित करने और अपनी वारंटी को रद्द करने या संभावित रूप से आग लगने का कारण नहीं बनना पड़ेगा।

और फिर पुरुष भाग मैं SeeedStudio CAN-BUS शील्ड से जुड़ा जैसा कि चित्र में दिखाया गया है। इस तरह मैं जरूरत पड़ने पर कनेक्ट/डिस्कनेक्ट कर सकता हूं।

युक्ति: CAN-H के लिए लाल तार और CAN-L. के लिए काले तार का उपयोग करें

चरण 2: Arduino पर सॉफ़्टवेयर स्थापित करें।

Arduino पर सॉफ़्टवेयर स्थापित करें।
Arduino पर सॉफ़्टवेयर स्थापित करें।
Arduino पर सॉफ़्टवेयर स्थापित करें।
Arduino पर सॉफ़्टवेयर स्थापित करें।
Arduino पर सॉफ़्टवेयर स्थापित करें।
Arduino पर सॉफ़्टवेयर स्थापित करें।

SeeedStudio CAN-BUS विकी से SeeedStudio लाइब्रेरी डाउनलोड करें।

github.com/Seeed-Studio/CAN_BUS_Shield

चित्रों में दिखाए अनुसार पुस्तकालय स्थापित करें।

Arduino IDE से Sketch शामिल लाइब्रेरी चुनें -.zip लाइब्रेरी जोड़ें।

लाइब्रेरी जोड़ने के बाद Arduino IDE को बंद करें और इसे फिर से खोलें। अब आप फ़ाइल मेनू से कुछ उदाहरणों को लोड करने में सक्षम होंगे फ़ाइल उदाहरण CAN-BUS शील्ड चेक प्राप्त करें

इस ट्यूटोरियल के लिए रिसीव चेक उदाहरण लोड करें।

जरूरी!

निम्नलिखित के लिए कुछ परीक्षण और त्रुटि की आवश्यकता होगी।

मैंने डेटा पुनर्प्राप्त करने के लिए अपनी जीप जेके 2010 रूबिकॉन का उपयोग किया और इसकी आंतरिक बस 125 केबीएस पर चलती है।

सेटअप अनुभाग में जहां यह पढ़ता है

जबकि (CAN_OK != CAN.begin(CAN_500KBPS)) मुझे इसे बदलना पड़ा

जबकि (CAN_OK!= CAN.begin(CAN_125KBPS))

यदि आपको यह गलत लगता है तो आप पठनीय डेटा को पुनः प्राप्त नहीं कर पाएंगे। मेरा सहित ज्यादातर मामलों में आपका वाहन खराब हो जाएगा। यानी क्रिसमस ट्री की तरह रोशनी वाला क्लस्टर और वाइपर हिलने लगेंगे। क्योंकि कैन बस शील्ड बस को भ्रष्ट कर रही है।

चरण 3: इसे कनेक्ट करें और डेटा पुनर्प्राप्त करना प्रारंभ करें

इसे कनेक्ट करें और डेटा पुनर्प्राप्त करना प्रारंभ करें
इसे कनेक्ट करें और डेटा पुनर्प्राप्त करना प्रारंभ करें
इसे कनेक्ट करें और डेटा पुनर्प्राप्त करना प्रारंभ करें
इसे कनेक्ट करें और डेटा पुनर्प्राप्त करना प्रारंभ करें
इसे कनेक्ट करें और डेटा पुनर्प्राप्त करना प्रारंभ करें
इसे कनेक्ट करें और डेटा पुनर्प्राप्त करना प्रारंभ करें

इससे पहले कि आप कनेक्ट करें, कृपया इसे अपने वाहन से जोड़ने से पहले एक विवेक जांच लें। आखिरी चीज जो आप करना चाहते हैं, वह है अपने CAN-BUS को पावर भेजना संभावित रूप से आपके वाहन का ECU उड़ा रहा है।

मैंने एक विवेक जांच नहीं की और जब मुझे एहसास हुआ कि मुझे डेटा नहीं मिल रहा है, तो मैंने देखा कि मैंने लैपटॉप के यूएसबी को सीधे Arduino के यूएसबी पावर से जोड़ा है। सौभाग्य से कुछ नहीं हुआ।

इस चरण की तस्वीरों में मैंने अपने लेनोवो लैपटॉप को लिनक्स मिंट से लोड किया है। मोटे तौर पर आप अपने Arduino के सीरियल पोर्ट से कनेक्ट करने के लिए किसी भी ऑपरेटिंग सिस्टम का उपयोग कर सकते हैं, 1. लैपटॉप को अपने वाहन में सेटअप करें और Arduino CAN-BUS शील्ड को USB केबल से पावर दें।

2. स्टार्ट पुट्टी या अरुडिनो सीरियल मॉनिटर (मैं पुट्टी को पसंद करता हूं), जब यह जुड़ा होता है तो आपको सीरियल कंसोल में एक संदेश देखना चाहिए जो आपको बता रहा हो कि यह कैन-बस शील्ड को इनिशियलाइज़ करने में कामयाब रहा।

3. वाहन चालू करें। जब तक कुंजी चालू स्थिति में है तब तक इसे प्रारंभ करने की आवश्यकता नहीं है।

4. Arduino को CAN-BUS से कनेक्ट करें। जैसे ही यह जुड़ा होगा, डेटा कंसोल में स्ट्रीम होना शुरू हो जाएगा।

चरण 4: डेटा और इसका क्या मतलब है

डेटा और इसका क्या मतलब है
डेटा और इसका क्या मतलब है
डेटा और इसका क्या मतलब है
डेटा और इसका क्या मतलब है

जब डेटा पुनर्प्राप्त किया जाता है तो यह इसे निम्नलिखित हेक्स प्रारूप में डंप कर देगा।

आईडी, BIT1, BIT2, BIT3, BIT4, BIT5, BIT6, BIT7, BIT8

आईडी आमतौर पर आपके वाहन के भीतर एक नोड का प्रतिनिधित्व करता है।

आइए एक सरल उदाहरण बनाते हैं। (नीचे बनाया गया है और वास्तविक नहीं, सिर्फ एक उदाहरण)

एयर कंडीशनिंग नोड आईडी = 0x402 एयरकॉन को बंद करें = 13 एयरकॉन को चालू करें = 14 एयरकॉन ब्लोअर को कम पर सेट करें = 7C एयरकॉन ब्लोअर को मध्यम 8C पर सेट करें एयरकॉन ब्लोअर को उच्च 9C पर सेट करें

तो अगर हम एयरकॉन को चालू करते हैं और इसे माध्यम पर सेट करते हैं तो संदेश इस तरह दिखेगा 0x402, 13, 8C

वही अन्य नोड्स के लिए जाता है, उदाहरण सेंट्रल लॉकिंगसेंट्रल लॉकिंग आईडी= 0x503LOCK सभी दरवाजे = 14

इसलिए यदि आप सभी दरवाजों को बंद करने के लिए बटन दबाते हैं तो संदेश इस तरह दिखेगा

0x502, 14

कुछ अतिरिक्त नोट्स।

कुछ संदेश राज्य द्वारा संचालित होते हैं और कुछ या क्षण भर के लिए।

उदाहरण 1। राज्य संचालित के रूप में हेड लैंप। जब आप वाहन में एक विशिष्ट स्थिति में स्विच सेट करते हैं तो नोड संदेश को बार-बार प्रसारित करता रहेगा। यदि आपको CAN-BUS में हस्तक्षेप करना पड़े तो हेडलैंप को बंद करने के लिए एक संदेश भेजें। यह कुछ समय के लिए बंद हो जाएगा और फिर से चालू हो जाएगा क्योंकि नोड जहां हेडलैम्प चालू करने के लिए स्विच सेट किया गया है, इसे फिर से चालू करने के लिए एक संदेश भेजेगा।

उदाहरण २। अपने रेडियो हेड यूनिट पर ट्रैक छोड़ना। जब आप एक बटन दबाते हैं और यह एक क्षणिक बटन होता है जो आपके छोड़ने पर सर्किट को बना देगा और तुरंत तोड़ देगा, यह ट्रैक को छोड़ने के लिए एक संदेश भेजेगा और फिर कभी नहीं जब तक आप बटन को फिर से दबाने के लिए नहीं कहेंगे।

आमतौर पर क्षणिक बटन सबसे उपयोगी होते हैं क्योंकि आप इस चिंता के बिना कि आपका कमांड ओवरराइट हो जाएगा, एक ही कमांड भेजकर आप अपने वाहन में सुविधाओं को नियंत्रित कर सकते हैं। जहां राज्य संचालित सुविधाओं को अनिश्चित काल के लिए अधिलेखित कर दिया जाएगा।

कुछ सुझाव और विचार।

यह देखकर कि अब आप उस डेटा को डंप करने में सक्षम हैं जिसका उपयोग आप अपने स्वयं के Arduino सर्किट बनाने के लिए कर सकते हैं जो संदेशों के आधार पर प्रतिक्रिया देगा, CAN-BUS पर देखा जा सकता है। एक उदाहरण के लिए। मान लें कि आप मार्केट स्पॉट लाइट के बाद स्थापित करते हैं। अपनी मौजूदा वायरिंग में खोदे बिना आप अपने हेडलैम्प्स को स्वतंत्र रूप से स्थापित कर सकते हैं और उन्हें तभी चालू कर सकते हैं जब आपका Arduino CAN-BUS पर एक संदेश का पता लगाता है।

CAN-BUS में डेटा भेजना।

यदि आपने इस निर्देश की शुरुआत में निर्देश का पालन किया है तो आपने SEEEDStudio पुस्तकालय स्थापित किए हैं। Arduino IDE में कुछ उदाहरण हैं जिन्हें आप आज़मा सकते हैं।

उस नोड की आईडी और CAN0-BUS संदेश को जानना, जिसके साथ आप इंटरैक्ट करना चाहते हैं।

दुर्भाग्य से यह बहुत आसान काम नहीं है। लेकिन यहाँ एक विचार है। पुट्टी की लॉगिंग सुविधा का उपयोग करें और सभी सत्र डेटा को फाइल करने के लिए डंप करें। Arduino को लगभग ५ मिनट के लिए कैन बस की निगरानी करने दें और फिर लॉग आउट को रास्ते से बचाएं।

फिर एक नया सत्र शुरू करें और डेटा डंप करना शुरू करें। लेकिन इस बार डेटा डंप करते समय एक बटन दबाएं। एक से अधिक बटन न दबाएं। यह सुनिश्चित करने के लिए बटन को दो बार दबाएं कि उसने बटन प्रेस को पकड़ लिया है।

फिर किसी प्रकार के तुलना उपकरण का उपयोग करें और अंतर को खोजने के लिए फ़ाइल की तुलना करें। एक्सेल इसके लिए बहुत अच्छा काम करता है।

कुछ कोड जिन्हें आप आजमा सकते हैं

यदि आपके पास मेरे जैसा ही जीप 2010 रूबिकॉन मॉडल है (मुझे यकीन है कि नीचे मॉडल '07, '08', 09 के लिए भी काम करेगा)

आप निम्न संदेशों को आजमा सकते हैं। Arduino उदाहरण मेनू से भेजें उदाहरण लोड करें और परिवर्तन प्रासंगिक थे।

एंगेज रियर लॉकर.: CAN.sendMsgBuf(0x2B0, 0, 4, stmp);

लेफ्ट ब्लिंकर ऑन: CAN.sendMsgBuf(0x2A8, 0, 6, stmp);

राइट ब्लिंकर ऑन: CAN.sendMsgBuf(0x2A8, 0, 6, stmp);

ईएसपी चालू/बंद: CAN.sendMsgBuf(0x2B0, 0, 4, stmp);

अपने अगले निर्देश में मैं अपनी जीप के CAN-BUS को कुछ डेटा भेजूंगा ताकि यह प्रदर्शित किया जा सके कि आप इसमें कैसे हस्तक्षेप कर सकते हैं।

आपको कामयाबी मिले!

चरण 5: वीडियो देखें

अधिक CAN-BUS अच्छाई के लिए वीडियो देखें!

सिफारिश की: