Πίνακας περιεχομένων:

Seeed Studio CAN -BUS V2.0 Hacking - Ξεκινώντας: 5 Βήματα
Seeed Studio CAN -BUS V2.0 Hacking - Ξεκινώντας: 5 Βήματα

Βίντεο: Seeed Studio CAN -BUS V2.0 Hacking - Ξεκινώντας: 5 Βήματα

Βίντεο: Seeed Studio CAN -BUS V2.0 Hacking - Ξεκινώντας: 5 Βήματα
Βίντεο: Seeed Fusion DIY XIAO Mechanical Keyboard Contest 2024, Ιούλιος
Anonim
Είδατε 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 Studio CAN -BUS V2.0 - Ξεκινώντας

Αυτό το διδακτικό εργαλείο προορίζεται για αρχάριους που γνωρίζουν ήδη το δρόμο τους στο 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 - Οποιοδήποτε συμβατό με arduino θα αρκεί. Χρησιμοποίησα αυτό

2. SeeedStudio CAN-BUS Shield. Το πήρα απευθείας από το SeeedStudio εδώ είναι ο σύνδεσμος

3. Μερικά καλώδια για να ακουμπήσουν στο CAN-BUS

4. ένα όχημα από το οποίο μπορείτε να ανακτήσετε δεδομένα

Το απαιτούμενο λογισμικό 1. Arduino IDE, Duh! Προφανώς:-)

2. SeeedStudio CAN-BUS Library. Λήψη από το 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 από το wiki του 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 για ανάκτηση δεδομένων και το εσωτερικό του λεωφορείου λειτουργεί στα 125Kbs.

Στην ενότητα εγκατάστασης όπου διαβάζεται

ενώ (CAN_OK! = CAN.αρχή (CAN_500KBPS)) έπρεπε να το αλλάξω σε

ενώ (CAN_OK! = CAN.αρχή (CAN_125KBPS))

Εάν το κάνετε αυτό λάθος, δεν θα μπορείτε να ανακτήσετε αναγνώσιμα δεδομένα. Στις περισσότερες περιπτώσεις, συμπεριλαμβανομένου του ορυχείου, το όχημά σας θα πάει πιο άβολα. Δηλαδή το σύμπλεγμα με το φως σαν χριστουγεννιάτικο δέντρο και οι υαλοκαθαριστήρες θα αρχίσουν να κινούνται. επειδή η ασπίδα του διαύλου μπορεί να καταστρέψει το λεωφορείο.

Βήμα 3: Συνδέστε το και ξεκινήστε την ανάκτηση δεδομένων

Συνδέστε το και ξεκινήστε την ανάκτηση δεδομένων
Συνδέστε το και ξεκινήστε την ανάκτηση δεδομένων
Συνδέστε το και ξεκινήστε την ανάκτηση δεδομένων
Συνδέστε το και ξεκινήστε την ανάκτηση δεδομένων
Συνδέστε το και ξεκινήστε την ανάκτηση δεδομένων
Συνδέστε το και ξεκινήστε την ανάκτηση δεδομένων

Πριν συνδεθείτε, κάντε έναν έλεγχο υγιεινής πριν το συνδέσετε στο όχημά σας. Το τελευταίο πράγμα που θέλετε να κάνετε είναι να στείλετε ρεύμα στο CAN-BUS σας που ενδεχομένως να φυσάει το ECU του οχήματός σας.

Δεν έκανα έλεγχο υγιεινής και μόνο αφού συνειδητοποίησα ότι δεν λαμβάνω δεδομένα, είδα ότι συνέδεσα το USB του φορητού υπολογιστή απευθείας στο USB Power του Arduino. Ευτυχώς δεν έγινε τίποτα.

Στις εικόνες αυτού του βήματος χρησιμοποίησα τον φορητό υπολογιστή Lenovo που είναι φορτωμένος με Linux Mint. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε λειτουργικό σύστημα για να συνδεθείτε στη σειριακή θύρα του Arduino, 1. Ρυθμίστε το φορητό υπολογιστή στο όχημά σας και ενεργοποιήστε την ασπίδα Arduino CAN-BUS με καλώδιο USB.

2. Ξεκινήστε το Putty ή το Arduino serial Monitor (προτιμώ το Putty), Όταν συνδεθεί θα πρέπει να δείτε ένα μήνυμα στη σειριακή κονσόλα που σας λέει ότι κατάφερε να προετοιμάσει την ασπίδα Can-Bus.

3. Ενεργοποιήστε το όχημα. Δεν χρειάζεται να ξεκινήσει όσο το κλειδί βρίσκεται στη θέση ενεργοποίησης.

4. Συνδέστε το Arduino στο CAN-BUS. Τη στιγμή που θα συνδεθούν τα δεδομένα θα αρχίσουν να ρέουν στην κονσόλα.

Βήμα 4: Τα δεδομένα και τι σημαίνουν όλα

Τα δεδομένα και τι σημαίνουν όλα
Τα δεδομένα και τι σημαίνουν όλα
Τα δεδομένα και τι σημαίνουν όλα
Τα δεδομένα και τι σημαίνουν όλα

Όταν τα δεδομένα ανακτηθούν, θα τα απορρίψουν στην ακόλουθη μορφή HEX.

ID, BIT1, BIT2, BIT3, BIT4, BIT5, BIT6, BIT7, BIT8

Το αναγνωριστικό συνήθως αντιπροσωπεύει έναν κόμβο στο όχημά σας.

Ας κάνουμε ένα απλό παράδειγμα. (Τα παρακάτω είναι φτιαγμένα και όχι αληθινά, μόνο ένα παράδειγμα)

Κωδικός Κλιματισμού ID = 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 και το θέσουμε σε μέτριο επίπεδο, το μήνυμα θα μοιάζει με αυτό0x402, 13, 8C

το ίδιο ισχύει και για άλλους κόμβους, παράδειγμα Central LockingCentral Locking ID = 0x503LOCK all πόρτες = 14

Έτσι, αν πατήσετε το κουμπί για να κλειδώσετε όλες τις πόρτες, το μήνυμα θα μοιάζει με αυτό

0x502, 14

Μερικές επιπλέον σημειώσεις.

Ορισμένα μηνύματα καθοδηγούνται από την κατάσταση και κάποια ή στιγμιαία.

Παράδειγμα 1. Λαμπτήρες κεφαλής με κινητήρα κατάστασης. Όταν τοποθετείτε ένα διακόπτη στο όχημα σε μια συγκεκριμένη θέση, ο κόμβος θα συνεχίσει να μεταδίδει το μήνυμα ξανά και ξανά. Εάν έπρεπε να παρέμβετε στο CAN-BUS, στείλτε ένα μήνυμα για να σβήσετε τους λαμπτήρες κεφαλής. Θα απενεργοποιηθεί για λίγο και μετά θα ενεργοποιηθεί ξανά, επειδή ο κόμβος στον οποίο ο διακόπτης έχει ρυθμιστεί να ανάβει τους προβολείς θα στείλει ξανά ένα μήνυμα για να τον ενεργοποιήσει.

Παράδειγμα 2. Παράλειψη κομματιών στη μονάδα κεφαλής ραδιοφώνου. όταν πατήσετε ένα κουμπί και είναι ένα στιγμιαίο κουμπί που θα κάνει και θα σπάσει αμέσως το κύκλωμα όταν το αφήσετε, θα στείλει ένα μήνυμα για να παραλείψετε το κομμάτι και ποτέ ξανά μέχρι να το ζητήσετε πατήστε ξανά το κουμπί.

Συνήθως τα στιγμιαία κουμπιά είναι τα πιο χρήσιμα επειδή μπορείτε να ελέγξετε τις λειτουργίες του οχήματός σας στέλνοντας μια μόνο εντολή χωρίς να ανησυχείτε ότι η εντολή σας θα έχει γραφτεί. Όπου ως κατάσταση με γνώμονα την κατάσταση θα αντικατασταθούν επ 'αόριστον.

Μερικές συμβουλές και ιδέες

Βλέποντας ότι είστε πλέον σε θέση να απορρίψετε τα δεδομένα, μπορείτε να τα χρησιμοποιήσετε για να δημιουργήσετε τα δικά σας κυκλώματα Arduino που θα αντιδράσουν με βάση τα μηνύματα, δείτε στο CAN-BUS. για παράδειγμα. Ας πούμε ότι εγκαθιστάτε τα φώτα μετά την αγορά. Χωρίς να χρειάζεται να σκάψετε τις υπάρχουσες καλωδιώσεις, μπορείτε να εγκαταστήσετε τους προβολείς σας ανεξάρτητα και να τους ανάψετε μόνο όταν το Arduino εντοπίσει ένα μήνυμα στο CAN-BUS.

Αποστολή δεδομένων στο CAN-BUS

Εάν ακολουθήσατε τις οδηγίες στην αρχή αυτού του οδηγού, έχετε εγκαταστήσει τις βιβλιοθήκες SEEEDStudio. Στο Arduino IDE υπάρχουν μερικά παραδείγματα που μπορείτε να δοκιμάσετε.

Γνωρίζοντας το αναγνωριστικό και το μήνυμα CAN0-BUS του κόμβου με τον οποίο θέλετε να αλληλεπιδράσετε.

Δυστυχώς, αυτό δεν είναι πολύ εύκολο έργο. Εδώ όμως υπάρχει μια ιδέα. Χρησιμοποιήστε τη δυνατότητα καταγραφής του Putty και αποθέστε όλα τα δεδομένα της περιόδου σύνδεσης στο αρχείο. Αφήστε το Arduino να παρακολουθεί το δίαυλο δοχείου για περίπου 5 λεπτά και, στη συνέχεια, αποθηκεύστε την έξοδο στο δρόμο.

Στη συνέχεια, ξεκινήστε μια νέα συνεδρία και ξεκινήστε την απόρριψη των δεδομένων. Αλλά αυτή τη φορά, ενώ ρίχνει τα δεδομένα, πατήστε ένα κουμπί. Μην πατάτε περισσότερα από ένα κουμπιά. Πατήστε το κουμπί μερικές φορές για να διασφαλίσετε ότι έχει τραβήξει το πάτημα του κουμπιού.

Στη συνέχεια, χρησιμοποιήστε ένα είδος εργαλείου σύγκρισης και συγκρίνετε το αρχείο για να εντοπίσετε τις διαφορές. Το Excel λειτουργεί τέλεια για αυτό.

Ορισμένοι κωδικοί μπορείτε να δοκιμάσετε

Εάν έχετε το ίδιο μοντέλο Jeep 2010 Rubicon με εμένα (είμαι σίγουρος ότι το παρακάτω θα λειτουργήσει επίσης για τα μοντέλα '07, '08', 09)

Μπορείτε να δοκιμάσετε τα παρακάτω μηνύματα. Φορτώστε τα παραδείγματα αποστολής από το μενού παραδειγμάτων Arduino και η αλλαγή ήταν σχετική.

Εμπλοκή πίσω κλειδώματος.: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

Αριστερό κλείδωμα αναμμένο: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

Δεξί αναβοσβήσιμο On: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

ESP On/OFF: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

Στο επόμενο οδηγό μου θα στείλω κάποια δεδομένα στο CAN-BUS του Jeep μου για να δείξω πώς μπορείτε να παρεμβαίνετε σε αυτό.

Καλή τύχη!

Βήμα 5: Δείτε το βίντεο

Δείτε το βίντεο για περισσότερα CAN-BUS καλοσύνη!

Συνιστάται: