كيفية إنشاء منفذ CAN افتراضي على نظام Linux؟(ج++)
سؤال
أريد إنشاء برنامج يحاكي منفذ CAN لأغراض الاختبار لتطبيق كبير آخر.يجب أن يرسل البرنامج البيانات المسجلة مسبقًا من خلال هذه العلبة الافتراضية.أي شخص لديه أي خبرة مع شيء من هذا القبيل؟
أفكر في إنشاء COM افتراضي، وإرسال البيانات المعبأة في إطارات CAN من خلاله.هل يمكن أن تعمل؟وكيف يمكنني إنشاء COM افتراضي على نظام التشغيل Linux؟وجدت هذا الموضوع المنفذ التسلسلي الظاهري لنظام التشغيل Linuxلكن للأسف لا أفهم كيف يمكن تنفيذه في الكود المصدري للبرنامج (مستخدم Linux المبتدئ والمبرمج ضمن Linux).
أحب أن أقرأ تجربتك واقتراحاتك.
المحلول
انت تحتاج المقبسCAN برنامج التشغيل المتوفر في توزيعات Linux الحديثة مثل Ubuntu وما إلى ذلك.يوفر المقبس (SocketCAN) برنامج تشغيل منفذ CAN الظاهري:
sudo modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0
يمكنك الآن إرسال واستقبال إطارات CAN vcan0
جهاز.توفر مقالة ويكيبيديا مثالًا بسيطًا للتعليمات البرمجية حول كيفية استخدام المقبس.
سوف تحتاج أيضا can-utils لأغراض تجريبية.
ستجد المزيد من المعلومات حول المقبس واستخدامه على eLinux.org