https://github.com/Artid1994/Honda-K-Line-smart-guage-esp32-project-v1?fbclid=IwY2xjawUIQAdwZG9mBWV4dG4DYWVtAjEwAGJyaWQRMUI4bml4b2Z1MjUwRFhmRnJzcnRjBmFwcF9pZBAyMjIwMzkxNzg4MjAwODkyAAEeY-d6OYMXUbwcQ4RA-aNqTtrJvJo7Eeyl-G6n-6SZyB_LIW5ZO82pm5N76G0_aem_B45n8vE3GfJPhQtSmpUCQQ
🏍️ Honda K-Line ECU Diagnostics with ESP32
(Educational Core)
อันนี้เป็นโค้ดเปล่า ที่ไม่มี UI น่ะคับ ไปออกแบบกันเองนะคับ ข้อมูลทั้งหมด ผมวิจัยเองไม่ได้ซื้อใครมา
สื่อการเรียนรู้และพัฒนาเฟิร์มแวร์สำหรับอ่านค่าเซนเซอร์แบบ Real-time และอ่าน/ลบโค้ดข้อผิดพลาด (DTC) จากกล่องควบคุมเครื่องยนต์ (ECU) มอเตอร์ไซค์ Honda ผ่านโปรโตคอล K-Line (ISO 14230 / KW2000) โดยใช้ไมโครคอนโทรลเลอร์ ESP32
💡 วัตถุประสงค์: โปรเจกต์นี้ถูกออกแบบให้เป็น Core Engine (Pure C++)
โดยตัดส่วน UI และหน้าจอออกทั้งหมด เพื่อให้ง่ายต่อการศึกษาโครงสร้างโปรโตคอล และสามารถนำไปปรับใช้
กับ ESP32 ได้ทุกรุ่น (ESP32 DevKit, ESP32-S2, S3, C3 ฯลฯ)
📌 คุณสมบัติเด่น (Features)
• Universal Board Support: รองรับบอร์ด ESP32 ทุกตระกูล (ไม่ต้องใช้ Lib หน้าจอ)
• Real-time Telemetry Decoding: อ่านและถอดรหัสค่าเซนเซอร์จากกล่อง ECU:
· RPM (รอบเครื่องยนต์) พร้อมอัลกอริทึม Smoothing
· TPS (ตำแหน่งลิ้นเร่ง % / โวลต์)
· ECT/EOT (อุณหภูมิเครื่องยนต์ / น้ำมันเครื่อง)
· Battery (แรงดันแบตเตอรี่)
· Injector (ระยะเวลาการฉีด ms / % Duty Cycle)
· Ignition Timing (องศาจุดระเบิด)
· AFR & O2 Sensor (อัตราส่วนผสมอากาศ/น้ำมัน และแรงดัน O2)
• Auto ECU Identification: ตรวจสอบและระบุรุ่นกล่อง ECU อัตโนมัติ (เช่น Lead125, Giorno+, PCX, Click, Wave ฯลฯ)
• DTC Management: ระบบอ่านรหัสข้อผิดพลาด (Read DTC) ทั้งโค้ดปัจจุบัน (Current) และโค้ดย้อนหลัง (Past) รวมถึงระบบสั่งลบโค้ด (Clear DTC)
•Serial Interactive: ควบคุมการอ่าน/ลบโค้ดผ่าน Serial Monitor ได้ทันที
🛠️ อุปกรณ์ที่ต้องใช้ (Hardware Requirements)
1. ESP32 Board (รุ่นใดก็ได้)
2. K-Line Transceiver Circuit (วงจรแปลงสัญญาณ K-Line เป็น UART 3.3V)
ตัวอย่าง IC: L9637D, MC33660, Si8621 หรือวงจร Transistor Optocoupler Standard K-Line
3. สายเชื่อมต่อ OBD/DLC 4-Pin ของรถมอเตอร์ไซค์ Honda
🔌 การต่อสาย (Pin Mapping)
ESP32 Pin K-Line Transceiver Pin คำอธิบาย
GPIO 22 RX รับข้อมูลจาก K-Line Transceiver
GPIO 27 TX ส่งข้อมูลไป K-Line Transceiver
GND GND กราวด์ร่วมกับรถยนต์/มอเตอร์ไซค์
(หมายเหตุ: สามารถเปลี่ยน Pin ในโค้ดได้ที่ส่วน #define KLINE_RX_PIN และ #define KLINE_TX_PIN)
🚀 วิธีการใช้งาน (Getting Started)
1. ติดตั้งโปรแกรม:
ใช้ Arduino IDE หรือ PlatformIO
เลือก Board เป็น ESP32 Dev Module (หรือตามรุ่นที่ใช้)
2. อัปโหลดโค้ด:
เปิดไฟล์ .ino / main.cpp แล้วกด Upload ลงบอร์ด ESP32
3. การดูผลลัพธ์ผ่าน Serial Monitor:
เปิด Serial Monitor ตั้งค่า Baud rate ไปที่ 115200
บอร์ดจะทำการส่งสัญญาณ Wakeup และ Connect กับกล่อง ECU อัตโนมัติ
ค่าเซนเซอร์ต่างๆ จะแสดงผลแบบ Real-time ทุกๆ 200ms
🎮 คำสั่งควบคุมผ่าน Serial Monitor
ขณะที่โปรแกรมทำงาน สามารถพิมพ์คำสั่งผ่านช่อง Serial Monitor เพื่อสั่งงานระบบ Diagnostic ได้:
• พิมพ์ r หรือ R ➔ สั่งอ่านรหัสข้อผิดพลาด (Read DTC)
• พิมพ์ c หรือ C ➔ สั่งลบโค้ดข้อผิดพลาด (Clear DTC)
📚 โครงสร้างโปรโตคอล (Protocol Breakdown)
การสื่อสาร K-Line ของ Honda ใช้ความเร็ว 10,400 Baud Rate (8N1) โดยมีขั้นตอนหลักดังนี้:
1. Bus Wakeup: ส่งสัญญาณ Pulsing (Low Pulse 70ms / High 130ms) เพื่อปลุกสาย K-Line
2. Initialization: ส่ง Request Command 0xFE, 0x04, 0x72, 0x8C เพื่อขอเชื่อมต่อกับ ECU
3. ECU Identification: สั่งอ่าน ECU ID เพื่อเลือกตาราง Address (Offset) สำหรับถอดรหัสค่า
4. Data Polling:
· Table 17 (0x71 0x17): อ่านค่าข้อมูลหลัก (RPM, TPS, Engine Temp, Battery)
· Table 20 (0x71 0x20): อ่านค่าข้อมูลเสริม (AFR, O2, Trim)
⚠️ คำเตือนและความปลอดภัย (Safety Disclaimer)
• สื่อการเรียนรู้นี้จัดทำขึ้นเพื่อการศึกษาโปรโตคอล K-Line เท่านั้น
• ระบบลบโค้ด (Clear DTC) จะมีระบบป้องกันความปลอดภัยเบื้องต้น (ห้ามลบขณะเครื่องยนต์ทำงาน หรือแรงดันแบตเตอรี่ต่ำกว่า 11.5V)
• ผู้พัฒนาไม่รับผิดชอบต่อความเสียหายใดๆ ที่เกิดขึ้นกับกล่อง ECU หรือระบบไฟของยานพาหนะจากการนำโค้ดไปใช้งานจริงอย่างไม่ระมัดระวัง
📄 License
Project นี้เปิดเป็น Open Source ภายใต้ใบอนุญาต MIT License สามารถนำไปศึกษา ดัดแปลง และพัฒนาต่อยอดได้ตามอิสระ
🔌 การต่อสาย (Pin Mapping)
ESP32 Pin K-Line Transceiver Pin คำอธิบาย
GPIO 22 RX รับข้อมูลจาก K-Line Transceiver
GPIO 27 TX ส่งข้อมูลไป K-Line Transceiver
GND GND กราวด์ร่วมกับรถยนต์/มอเตอร์ไซค์
🔌 การต่อสาย (Pin Mapping)
[table bordered=1]
| ESP32 Pin | K-Line Transceiver Pin | คำอธิบาย |
| GPIO 22 | RX | รับข้อมูลจาก K-Line Transceiver |
| GPIO 27 | TX | ส่งข้อมูลไป K-Line Transceiver |
| GND | GND | กราวด์ร่วมกับรถยนต์/มอเตอร์ไซค์ |
ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง สมัครสมาชิก หรือ ลงชื่อเข้าระบบ
(https://postimages.org/)