โดยปกติแล้ว อะแดปเตอร์ตามท้องตลาด (เช่น CANTact Pro หรือ Ollie V1/V2) มักจะถูกล็อกสเปคมาให้รองรับแค่ CAN bus หรือ RS-485/RS-422 อย่างใดอย่างหนึ่งเท่านั้น แบบฟังก์ชันตายตัว แต่ข้อจำกัดนี้จะหมดไปเมื่อคุณได้รู้จักกับ FalCAN Probe โปรเจกต์ Open-source ฝีมือของคุณ Anders B. Nielsen ที่จับเอาทุกโปรโตคอลมารวมไว้ในอุปกรณ์ชิ้นเดียว!
มันใช้เฟิร์มแวร์เวอร์ชันดัดแปลงที่รองรับโมดูล gs_usb kernel ของระบบปฏิบัติการ Linux หมายความว่า ถ้าคุณเอาไปเสียบกับ Ubuntu หรือ Raspberry Pi OS คุณสามารถใช้เครื่องมือ can-utils มาตรฐานของระบบได้เลย โดยไม่ต้องลงไดรเวอร์อะไรเพิ่มให้วุ่นวาย! (Plug and Play สุดๆ)
การสลับโหมดก็ทำได้ง่ายๆ ผ่าน Hardware Jumper (JP4): 🔴 ถ้าถอด Jumper (Open): บอร์ดจะแปลงร่างเป็นอินเทอร์เฟซ CAN 🟢 ถ้าใส่ Jumper (Closed): บอร์ดจะกลายเป็นพอร์ต USB Serial (CDC) วิ่งผ่าน USART1 เพื่อใช้งาน RS-485/RS-422 ทันที!
แม้บทความต้นฉบับจะไม่ได้แนบโค้ดมาให้ แต่เพื่อให้เพื่อนๆ เห็นภาพว่าการใช้งานแบบ Plug and Play กับ can-utils บน Linux นั้นง่ายแค่ไหน นี่คือชุดคำสั่ง (Terminal) พื้นฐานที่คุณจะได้ใช้เมื่อเสียบบอร์ดเข้ากับ Raspberry Pi หรือ Ubuntu ครับ:
Linux Terminal (can-utils setup)
# 1. เช็คว่าระบบมองเห็นอุปกรณ์ FalCAN Probe (gs_usb) หรือไม่
dmesg | grep can
# 2. ตั้งค่า Baud rate (Bitrate) ให้กับอินเทอร์เฟซ can0 เช่น ที่ 500kbps
sudo ip link set can0 up type can bitrate 500000
# 3. ลองอ่านแพ็กเกจข้อมูลที่วิ่งอยู่ในระบบ CAN Bus แบบสดๆ
candump can0
# 4. หากต้องการส่งข้อมูลทดสอบ (เช่น ส่ง ID 123 ข้อมูล 11 22 33)
cansend can0 123#112233
# 5. เมื่อใช้งานเสร็จแล้ว สามารถปิดอินเทอร์เฟซได้ด้วยคำสั่ง
sudo ip link set can0 down