บทความนี้สอนการใช้งานอินเตอร์เฟส CAN บน RevPi Connect 5 ก่อนอื่นเราต้องทราบไอพีแอดเดรสของ RevPi Connect หลังจากนั้นทำตามขั้นตอนดังต่อไปนี้บนคอมพิวเตอร์ที่อยู่ในเน็ทเวิร์คเดียวกับ RevPi Connect
1. ทำการเชื่อมต่อไปยัง RevPi Connect ผ่านโปรโตคอล SSH แบบรีโมท
2. ทำการตั้งค่าบิทเรทและเริ่มใช้งานอินเตอร์เฟส CAN โดยบิทเรทควรจะสอดคล้องกับความยาวของเครือข่าย CAN ตารางด้านล่างแสดงความยาวสูงสุดของแต่ละบิทเรท เราสามารถตั้งค่าบิทเรทด้วยคำสั่ง sudo ip link set [interface] up type can bitrate [bitrate] โดย [interface] บนคอนเนคเตอร์ x3 คือ can0 และ [interface] บนคอนเนคเตอร์ x3 คือ can1
3. ในกรณีที่ใช้งาน CAN FD ให้ตั้งค่าบิทเรทและเริ่มใช้งานอินเตอร์เฟส CAN ด้วยคำสั่ง sudo ip link set [interface] type can bitrate [bitrate] dbitrate [data bitrate] fd on โดย [data bitrate] คือ บิทเรทขณะทำการส่งข้อมูล
4. ในกรณีที่ต้องการใช้งาน termination resistor ให้ใช้คำสั่ง sudo ip link set dev [interface] type can termination 120 หรือ sudo ip link set dev [interface] type can termination 0 ในกรณีที่ไม่ต้องการใช้งาน termination resistor
5. RevPi Connect ได้ทำการติดตั้ง can-utils ไว้ เราสามารถใช้ตัวอย่างคำสั่งด้านล่างในการติดต่อผ่านเครือข่าย CAN ได้
– ส่งข้อมูลแพคเกจเดียว: cansend [interface] 123#1122334455667788
– ส่งข้อมูลแบบสุ่มวนลูปไปเรื่อย ๆ: cangen [interface] -g 0 -i -x
– อ่านข้อมูลบนเครือข่าย CAN: candump [interface]
– บันทึกการสื่อสารบนเครือข่าย CAN ไว้ดูบนโปรแกรม WireShark: sudo tcpdump -i [interface] -w out.pcap
– ตรวจความผิดพลาดที่เกิดขึ้นระหว่างส่งข้อมูล: ip -details -statistics link show [interface]
6. หลังจากใช้งานเสร็จแล้ว เราสามารถใช้คำสั่ง exit เพื่อออกจากการเชื่อมต่อไปยัง RevPi Connect
7. นอกจากนี้ RevPi Connect ยังทำการติดตั้งไลบรารี่ python-can เพื่อให้เราสามารถควบคุมอินเตอร์เฟส CAN ด้วย Python โดยสามารถดูตัวอย่างการเขียนโปรแกรมในเพจของไลบรารี่ได้เลย ทั้งนี้เนื่องจากเราใช้งานระบบปฏิบัติการลีนุกซ์ เราต้องใช้ os.system ใน Python เพื่อเรียกคำสั่งต่อไปนี้ในการเริ่มใช้งาน CAN
หวังว่าบทความนี้จะให้ความรู้ที่จำเป็นในการใช้งานอินเตอร์เฟส CAN บน RevPi Connect หากผู้อ่านต้องการทราบข้อมูลเพิ่มเติมสามารถติดต่อทีมงาน Techsquare ได้ครับ
บทความที่เกี่ยวข้อง