
بطاقة HAT مفتوحة المصدر لـ Raspberry Pi توفر 4 واجهات CAN لاختبار ناقل السيارات، وهجمات الوسيط على CAN، ومراقبة حركة المرور متعددة النواقل في وقت واحد عبر socketcan.
الـ 4CAN هو قبعة (HAT) لـ Raspberry Pi توفر 4 واجهات CAN. وهو متوافق 100% مع socketcan و can-utils، ومن السهل جدًا تشغيله. يشتمل على محول تسلسلي microUSB-UART لتسهيل استكشاف أخطاء Pi، ويوجد 4 مصابيح LED على اللوحة، اثنان منها ثنائيا الاتجاه أخضر/أحمر. وأفضل خبر على الإطلاق هو أن 4CAN مفتوح المصدر، لذا يمكنك بناء واحد خاص بك!
لا توجد الكثير من الأجهزة الرخيصة التي توفر 4 واجهات CAN، متوافقة مع socketcan، وصغيرة ومدمجة وتناسب Raspberry Pi بشكل جيد. يتيح وجود 4 ناقلات CAN اختبار 4 ناقلات CAN في وقت واحد، بالإضافة إلى إجراء وسيط CAN باستخدام ناقلين في وقت واحد.
تم اختباره على الصور التالية لنظام Raspbian باستخدام pi3b+
يعمل 4can أيضًا مع Raspberry Pi 4
يجب أن يعمل 4can أيضًا مع pi0w، لكن يُوصى باستخدام pi3b على الأقل. يُوصى أيضًا باستخدام مبدد حراري على Pi، لأن Pi يمكن أن يسخن قليلاً عند تشغيل 4 واجهات CAN.
قم بتشغيل البرنامج النصي install.sh (يتطلب صلاحيات sudo) لتثبيت كل شيء تلقائيًا، ثم أعد التشغيل.
سينفذ برنامج التثبيت ما يلي:
sudo mkdir /boot/overlays/bak
sudo cp /boot/overlays/mcp2515* /boot/overlays/bak
sudo cp ./dtbo/*.dtbo /boot/overlays
sudo cp /boot/config.txt /boot/config.txt.bak
cat << EOF >> /boot/config.txt
# 4CAN setup
# the order of the interfaces matter
# ie can3,can2,can1,can0 must be preserved
# otherwise can0 will not REALLY be can0
dtparam=spi=on
dtoverlay=spi1-2cs
dtoverlay=mcp2515-can3,oscillator=16000000,interrupt=24
dtoverlay=mcp2515-can2,oscillator=16000000,interrupt=23
dtoverlay=mcp2515-can1,oscillator=16000000,interrupt=25
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=22
# enable uart
enable_uart=1
EOF
قبل استخدام 4can، تأكد من تحميل وحدة kernel الخاصة بـ socketcan باستخدام sudo modprobe can_dev. لا ينبغي أن يكون ذلك ضروريًا حيث سيقوم Pi بتحميل وحدة kernel الصحيحة بناءً على شجرة الجهاز، لكن الفحص لا يضر.
بمجرد التثبيت، قم بتشغيل 4can.sh لتفعيل واجهات CAN:
./4can.sh
قم بتوصيل واجهات CAN وقم بتنفيذ candump -acc any للتحقق من عملها.
ملاحظة: يتطلب can-utils
لتثبيتها: sudo apt install can-utils
ملاحظة: أحيانًا تظهر الواجهات بترتيب مختلف، قم بإعادة تشغيل Pi وسيتم إصلاح ذلك. إذا لم يحدث ذلك، قد تحتاج إلى تعديل /boot/config.txt.
يستخدم 4can عددًا من دبابيس GPIO على Raspberry Pi. دبابيس GPIO المتوفرة للاستخدام هي
3, 5, 8, 10, 27, 28, 32, 36 (ترقيم الدبابيس الفعلي)
جميع دبابيس الأرضي موصولة معًا ويجب استخدامها كاتصالات أرضية. يمكن استخدام دبابيس 3.3v و 5v لتوفير الجهد أيضًا.
ارجع إلى المخطط التخطيطي للحصول على مزيد من التفاصيل.
تذكر توصيل أرضي CAN الخارجي بأرضي 4can (اتصال "C" على الطرف اللولبي). سيضمن ذلك سلامة الأرضي ويقلل من أخطاء الإرسال/الاستقبال.
![]() | ![]() |
عند استخدام 4can مع HyenaPlate، يمكن توجيه أسلاك CAN أسفل Pi وتوصيلها بلوحة التجارب. هذا بشكل أساسي لأغراض جمالية، لكن الفوائد الأخرى تشمل عدم الحاجة إلى ربط/فك الأطراف اللولبية باستمرار لإجراء توصيلات جديدة، واستكشاف أخطاء أسهل، وتوصيلات أكثر استقرارًا.
لمزيد من الجمالية، يمكن استخدام كود ألوان المقاومات لتعيين ألوان للإشارات. على سبيل المثال، في الصورة أعلاه:
| الواجهة | CAN-L | CAN-H |
|---|
يمكن استخدام الأسود للأرضي.
تم استلهام 4can ويستند بشكل غير محكم إلى IndustrialBerry QUAD CAN BUS adapter for Raspberry CanBerry. على الرغم من أننا قمنا بتعديل التصميم ليناسب احتياجاتنا، يجب أن ننسب الفضل للعمل الرائع الذي قامت به IndustrialBerry. يتم ترخيص كل من 4CAN و IndustrialBerry بموجب رخصة Creative Commons Attribution Share-Alike.
يجب أيضًا أن يُنسب الفضل إلى George Tarnovsky، للمخطط التخطيطي، والتخطيط، والتجميع، والتحقق!
| CAN0 | بني | أحمر |
| CAN1 | برتقالي | أصفر |
| CAN2 | أزرق | بنفسجي |
| CAN3 | أخضر | أبيض |