
ओपन-सोर्स Raspberry Pi HAT जो ऑटोमोटिव बस परीक्षण, CAN-इन-द-मिडल हमलों, और socketcan के माध्यम से एक साथ मल्टी-बस ट्रैफिक मॉनिटरिंग के लिए 4 CAN इंटरफेस प्रदान करता है।
4CAN एक Raspberry Pi HAT है जो 4 CAN इंटरफ़ेस प्रदान करता है। 4CAN socketcan और can-utils के साथ 100% संगत है, और इसे चालू करना बहुत आसान है। Pi की समस्या निवारण को आसान बनाने के लिए एक microUSB-UART सीरियल एडेप्टर शामिल है, और बोर्ड पर 4 LEDs हैं, जिनमें से 2 द्विदिश हरी/लाल हैं। और सबसे अच्छी खबर यह है कि 4CAN ओपन सोर्स है, इसलिए आप अपना खुद का बना सकते हैं!
ऐसे बहुत से सस्ते उपकरण नहीं हैं जो 4 CAN इंटरफ़ेस प्रदान करते हैं, socketcan के साथ संगत हैं, और छोटे, कॉम्पैक्ट हैं, और Raspberry Pi के साथ अच्छी तरह फिट होते हैं। 4 CAN बसें होने से एक साथ 4 CAN बसों का परीक्षण किया जा सकता है, साथ ही एक साथ 2 बसों के साथ CAN-in-the-middle किया जा सकता है।
निम्नलिखित 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 का उपयोग करने से पहले, सुनिश्चित करें कि socketcan कर्नेल मॉड्यूल sudo modprobe can_dev से लोड किया गया है। यह आवश्यक नहीं होना चाहिए क्योंकि pi डिवाइस ट्री के आधार पर सही कर्नेल मॉड्यूल लोड करेगा, लेकिन जांचने में कोई हर्ज नहीं है।
एक बार स्थापित होने के बाद, CAN इंटरफ़ेस को ऊपर लाने के लिए 4can.sh चलाएं
./4can.sh
CAN इंटरफ़ेस को वायर करें और जांचने के लिए candump -acc any चलाएं कि वे काम कर रहे हैं।
नोट: can-utils आवश्यक है
स्थापित करने के लिए sudo apt install can-utils
नोट: कभी-कभी इंटरफ़ेस क्रम से बाहर आते हैं, pi को रीबूट करें और यह ठीक हो जाना चाहिए। यदि नहीं, तो आपको /boot/config.txt में संशोधन करना पड़ सकता है।
4can Raspberry pi पर कई GPIO का उपयोग करता है। उपयोग के लिए उपलब्ध GPIO पिन हैं
3, 5, 8, 10, 27, 28, 32, 36 (भौतिक पिन नंबरिंग)
सभी ग्राउंड पिन एक साथ जुड़े हुए हैं और ग्राउंड कनेक्शन के रूप में उपयोग किए जा सकते हैं। 3.3v और 5v पिन का उपयोग वोल्टेज की आपूर्ति के लिए भी किया जा सकता है।
अधिक विवरण के लिए स्कीमैटिक देखें।
बाहरी CAN ग्राउंड को 4can ग्राउंड (स्क्रू टर्मिनल पर "C" कनेक्शन) से जोड़ना याद रखें। यह अच्छी ग्राउंड अखंडता सुनिश्चित करेगा और tx/rx त्रुटियों को कम करेगा।
![]() | ![]() |
HyenaPlate के साथ 4can का उपयोग करते समय, 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 | हरा | सफेद |