สารบัญ:

การแฮ็กรถโดยใช้ Arduino: 4 ขั้นตอน
การแฮ็กรถโดยใช้ Arduino: 4 ขั้นตอน

วีดีโอ: การแฮ็กรถโดยใช้ Arduino: 4 ขั้นตอน

วีดีโอ: การแฮ็กรถโดยใช้ Arduino: 4 ขั้นตอน
วีดีโอ: Arduino Portable | วิธีทำ portable ให้ Code ใช้กับคอมฯเครื่องอื่นได้โดยไม่มีปัญหา | Arduino#58 2024, พฤศจิกายน
Anonim
แฮ็กรถโดยใช้ Arduino
แฮ็กรถโดยใช้ Arduino
แฮ็กรถโดยใช้ Arduino
แฮ็กรถโดยใช้ Arduino

เอกสารนี้นำเสนอวิธีการแฮ็คสตรีม OBD ของรถยนต์ที่เรียบง่ายและคุ้มค่า ในนี้ฉันกำลังพยายามแสดงวิธีทั่วไปในการรับข้อมูล OBD

ที่นี่ฉันใช้ Arduino UNO, CAN-Bus shield (1.2), สายเคเบิล DB9 สำหรับเชื่อมต่อกับพอร์ต OBD และสำหรับการเขียนโปรแกรม Arduino IDE (ซึ่งช่วยในการเบิร์นโค้ดไปยัง uno ได้อย่างง่ายดาย)

ฉันเริ่มโครงการนี้เพื่อสร้างระบบล็อคประตูอัตโนมัติเมื่อรถมีความเร็ว 20 กม. และม้วนกระจกหน้าต่างทั้งหมดโดยอัตโนมัติเมื่อรถล็อคจากภายนอก

ในการค้นหาข้อมูลที่ผลิตจากพอร์ต OBD จำเป็นต้องวิเคราะห์และทำความเข้าใจข้อมูลก่อนเริ่มโครงการนี้ (ต้องใช้ความอดทนและต่อเนื่องมากขึ้น)

เรื่องราวเริ่มต้นขึ้นที่นี่ (ฉันกำลังลองใช้ Hyundai Grand i10, Magna, 2019 - ผลิตในอินเดีย ข้อมูลจะแตกต่างกันไปตามผู้ผลิต / รุ่นต่างๆ ฯลฯ)

ขั้นตอนที่ 1: ลิงก์การจัดซื้อฮาร์ดแวร์

ลิงค์จัดซื้อฮาร์ดแวร์
ลิงค์จัดซื้อฮาร์ดแวร์
ลิงค์จัดซื้อฮาร์ดแวร์
ลิงค์จัดซื้อฮาร์ดแวร์
ลิงค์จัดซื้อฮาร์ดแวร์
ลิงค์จัดซื้อฮาร์ดแวร์
ลิงค์จัดซื้อฮาร์ดแวร์
ลิงค์จัดซื้อฮาร์ดแวร์
  1. ตัวป้องกัน CAN-bus Arduino - ตัวป้องกัน CAN-bus
  2. Arduino UNO - Arduino UNO
  3. พอร์ต OBD ไปยังสายเคเบิล DB9 - สายเคเบิล DB9

ขั้นตอนที่ 2: จัดระเบียบฮาร์ดแวร์ IDE และสิ่งจำเป็นอื่นๆ

จัดระเบียบฮาร์ดแวร์ IDE และสิ่งจำเป็นอื่นๆ
จัดระเบียบฮาร์ดแวร์ IDE และสิ่งจำเป็นอื่นๆ

ก่อนเริ่มโครงการ เราต้องตรวจสอบให้แน่ใจว่าฮาร์ดแวร์ทั้งหมดที่ใช้สำหรับโครงการนี้ควรตรวจสอบและทำงานตามที่คาดไว้ ดังนั้นเราจึงต้องเชื่อมต่อฮาร์ดแวร์เข้ากับพอร์ต OBD และต้องแน่ใจว่าไม่มีควันหรือความร้อนที่ไม่จำเป็นที่ผลิตจากฮาร์ดแวร์ จากนั้นเราต้องเบิร์นโค้ดตัวอย่างเพื่อให้แน่ใจว่าฮาร์ดแวร์สามารถอ่านสตรีมข้อมูลจาก OBD ได้

ขั้นตอนแรกเริ่มต้นที่นี่ ตั้งค่า Arduino IDE ในเครื่อง และตรวจสอบให้แน่ใจว่าได้ติดตั้งไลบรารีที่จำเป็นไว้ เปิดหลังจากเชื่อมต่อ arduino uno กับคอมพิวเตอร์แล้วเราก็เลือกพอร์ตอนุกรมที่เชื่อมต่อและประเภทบอร์ดใน Arduino IDE

โค้ดตัวอย่างควรดาวน์โหลดจากที่เก็บ git และเบิร์นโค้ดไปยัง Arduino Uno จากนั้นเราเชื่อมต่อชิลด์กับพอร์ต OBD แล้วจึงเริ่มการอ่านสตรีมข้อมูล

ที่เก็บ Git -

github.com/JijovarghesePunalur/CarHacks.git

คุณสามารถรับโค้ดตัวอย่างและไลบรารีสำหรับเชื่อมต่อและแยกสตรีมข้อมูล Can-bus หลังจากการโคลนโปรเจ็กต์ คุณสามารถคัดลอกไฟล์ไลบรารีภายในโฟลเดอร์ไฟล์ arduino และดำเนินการคอมไพล์และเบิร์นกระบวนการใน arduino IDE

ก่อนเบิร์นโค้ดลง Arduino Uno คุณต้องเชื่อมต่อ Arduino กับคอมพิวเตอร์ก่อน จากนั้นจึงเลือก Serial Port และประเภทบอร์ดใน Arduino IDE

ในโฟลเดอร์ตัวอย่าง คุณสามารถดู การดำเนินการอ่าน การดำเนินการเขียน และไฟล์ Serial-Message โดยทั่วไปเนื้อหาที่สร้างโดยใช้ไฟล์ไลบรารีทั่วไป Serial-Message แตกต่างกับโปรแกรม Read ตามรูปแบบเอาต์พุต ซึ่งในโปรเจ็กต์นี้ ฉันพยายามใช้ can-utils ใน linux เพื่อคัดแยกข้อความที่เกิดซ้ำ

การใช้งานและการทำงานของ can-utils สามารถพบได้ในไฟล์ Readme.md ของ CarHaks

ขั้นตอนที่ 3: ลิงก์วิดีโอ

วิดีโอนี้จะให้แนวคิดที่ชัดเจนเกี่ยวกับสตรีมข้อมูล CAN-bus (พอร์ต OBD) มันอาจจะง่ายเพราะฉันใส่เฉพาะข้อมูลที่จำเป็นเท่านั้น

ขั้นตอนที่ 4: ทำเองและเซอร์ไพรส์

เขียนกลับไปที่ CAN-bus โดยใช้ข้อมูลที่แยกออกมาโดยใช้ Serial Message ซึ่งจะทำให้คุณประหลาดใจมาก (คุณสามารถหาโปรแกรมเขียนได้ในที่เก็บ ลองใช้เลย)

คุณสามารถควบคุมทุกอย่างที่เชื่อมต่อกับ ECU / BCM เพียงวิเคราะห์ข้อมูลแล้วเขียนกลับ

โครงการต่อไปจะขึ้นอยู่กับการศึกษานี้ - การควบคุมรถยนต์โดยใช้สมาร์ทโฟน

แนะนำ: