Category: Electric Vehicles

  • อ่าน CAN Bus ด้วย SavvyCAN และ ESP32

    อ่าน CAN Bus ด้วย SavvyCAN และ ESP32

    เมื่อเริ่มต้นทำงานกับระบบ CAN bus หลายคนมักเริ่มจากการใช้ไมโครคอนโทรลเลอร์เช่น ESP32 รับ–ส่งข้อความ แล้วดูผลลัพธ์ผ่าน Serial Monitor ซึ่งข้อความที่เห็นมักจะอยู่ในรูปของเลขฐานสิบหก เช่น 01 3C 4F 00 00 FF 00 80 ในช่วงแรกอาจดูเพียงพอสำหรับการทดสอบว่าระบบ CAN สื่อสารกันได้หรือไม่ แต่เมื่อเข้าสู่การใช้งานจริง จะพบข้อจำกัดทันที เช่น จุดนี้เองที่ SavvyCAN กลายเป็นเครื่องมือสำคัญ SavvyCAN คืออะไร และเหมาะกับใคร SavvyCAN เป็นซอฟต์แวร์สำหรับวิเคราะห์ CAN bus ที่ถูกออกแบบมาให้เด่นในด้านการตรวจสอบและทำวิศวกรรมย้อนรอย (Reverse Engineering) โดยเฉพาะ คุณสมบัติเด่นของ SavvyCAN ได้แก่ SavvyCAN จึงเหมาะทั้งสำหรับงานเรียนการสอน งานวิจัย และงานพัฒนาระบบยานยนต์ สามารถ Download ได้ที่ GitHub – collin80/SavvyCAN: QT based cross…

  • ESP32RET: Firmware ที่เปลี่ยน ESP32 ให้กลายเป็นเครื่องมือวิเคราะห์ CAN Bus ระดับจริงจัง

    ESP32RET: Firmware ที่เปลี่ยน ESP32 ให้กลายเป็นเครื่องมือวิเคราะห์ CAN Bus ระดับจริงจัง

    เราอาจจะเคยเห็นตัวอย่างการโปรแกรม ESP32 ให้อ่านค่า CAN Bus ด้วย ซึ่งมักจะใช้ Arduino IDE และอ่านผ่าน Serial Monitor แต่จริงๆแล้ว ESP32 สามารถใช้เป็นเครื่องมือช่วยวิเคราะห์ CAN Bus แบบจริงจังได้ ด้วย Firmware ESP32RET ที่ทำงานร่วมกับโปรแกรม Savvy CAN ซึ่งการใช้งาน Savvy CAN เบื้องต้นสามารถอ่านได้ที่นี้ บทความนี้จะพาไปรู้จัก ESP32RET แบบค่อยเป็นค่อยไป ตั้งแต่ 1. ESP32RET คืออะไร? ESP32RET คือ firmware ที่เปลี่ยน ESP32 ให้กลายเป็น 🔧 CAN bus Reverse Engineering Tool พูดง่าย ๆ คือ: จุดเด่นคือ โค้ดเดียว ใช้ได้หลายบอร์ด บอร์ดที่ ESP32RET…

  • ESP32 ไม่ได้มีดีแค่ Wi-Fi: เปิดโลก CAN bus อ่านข้อมูลจากรถก็ได้!

    ESP32 ไม่ได้มีดีแค่ Wi-Fi: เปิดโลก CAN bus อ่านข้อมูลจากรถก็ได้!

    ESP32 เป็นไมโครคอนโทรลเลอร์ยอดนิยมในสาย IoT เนื่องจากมีประสิทธิภาพสูง ราคาไม่แพง และมีฟังก์ชันการสื่อสารไร้สายอย่าง Wi‑Fi และ Bluetooth ในตัว แต่สิ่งที่หลายคนอาจยังไม่ทราบคือ ESP32 มี CAN controller อยู่ภายในชิป หมายความว่า ESP32 สามารถนำมาใช้สื่อสารด้วย CAN bus ได้โดยตรง โดยไม่ต้องใช้ CAN controller ภายนอกเหมือนในไมโครคอนโทรลเลอร์หลายรุ่น ความสามารถด้าน CAN ของ ESP32 ได้แก่ หมายเหตุ: ESP32 ยังไม่รองรับ CAN FD CAN controller และ CAN transceiver ต่างกันอย่างไร จุดที่ผู้เริ่มต้นมักสับสนคือคำว่า controller และ transceiver ซึ่งในระบบ CAN ทั้งสองส่วนนี้ทำหน้าที่ต่างกันชัดเจน ตัวอย่าง CAN transceiver ที่นิยมใช้กับ ESP32 เช่น…

  • CAN bus Data link layer: เมื่อสัญญาณเริ่มมีระเบียบ

    CAN bus Data link layer: เมื่อสัญญาณเริ่มมีระเบียบ

    ตอนที่แล้วเราคุยกันถึง Physical Layer ของ CAN bus — ชั้นที่ทำหน้าที่เหมือน “ถนน” ที่สายข้อมูลวิ่งอยู่บนมัน เป็นโลกของแรงดันไฟ สัญญาณบิต 0 กับ 1 และสายเส้นเล็กๆ ที่เชื่อมกล่อง ECU ทั้งคันเข้าหากัน แต่ถ้ามีแค่ถนนกับรถ เราจะจัดการยังไงดีเวลารถหลายคันอยากวิ่งพร้อมกัน?จะให้วิ่งชนกันมั่วๆ ก็คงไม่เวิร์ก…ตรงนี้เองครับที่ Data Link Layer เข้ามาทำหน้าที่ เป็นเหมือน “กฎจราจร” ของโลกดิจิทัล คอยกำหนดว่าใครมีสิทธิ์พูดก่อน ใครต้องเงียบ และต้องพูดยังไงให้คนอื่นเข้าใจตรงกัน 🧩 1. เฟรมข้อมูล: ภาษาและรูปแบบของการคุยกัน ทุกครั้งที่อุปกรณ์ในรถต้องการสื่อสารกัน เช่น เซ็นเซอร์เบรกส่งค่ามายังกล่อง ECU มันจะส่งข้อมูลในสิ่งที่เรียกว่า “เฟรม (Frame)”ลองนึกภาพว่า “เฟรม” คือจดหมายหนึ่งฉบับ ที่มีหัวเรื่อง มีเนื้อหา และมีลายเซ็นยืนยันว่าไม่ถูกปลอม ใน CAN bus จะมีเฟรมหลักๆ อยู่ 4 แบบ…

  • เปิดโลก CAN Bus: จากสายสัญญาณเล็ก ๆ สู่เครือข่ายสื่อสารยานยนต์

    เปิดโลก CAN Bus: จากสายสัญญาณเล็ก ๆ สู่เครือข่ายสื่อสารยานยนต์

    เวลาพูดถึง “เครือข่าย” หลายคนอาจนึกถึงอินเทอร์เน็ตหรือ Wi-Fiแต่ในโลกของรถยนต์ก็มีเครือข่ายเฉพาะตัวเช่นกันหนึ่งในดาวเด่นคือ CAN Bus (Controller Area Network)ระบบสื่อสารที่ให้กล่อง ECU, เซนเซอร์ และโมดูลต่าง ๆ ในรถยนต์ “คุยกัน” ได้อย่างราบรื่น วันนี้ผมอยากพาเ มาทำความรู้จัก CAN Bus ตั้งแต่ระดับ ชั้นกายภาพ (Physical Layer)หรือพูดง่าย ๆ คือ เริ่มกันตั้งแต่ “สายไฟสองเส้น” ว่ามีเรื่องราวซ่อนอยู่แค่ไหน สองเส้นนี้สำคัญนัก CAN H และ CAN L หัวใจของ CAN Bus คือสาย CAN High (CAN H) และ CAN Low (CAN L) ที่เดินคู่กันไปตลอดทั้งรถอุปกรณ์ทุกตัวจะต่อเข้ากับสองเส้นนี้เหมือนอยู่บนถนนสายเดียวกัน สายทั้งคู่จะถูกบิดเกลียว (Twisted Pair) เพื่อลดสัญญาณรบกวนและที่ปลายสายทั้งสองด้านจะต้องมี ตัวต้านทาน 120…