रास्पबेरी पाई के साथ MCP2515 का उपयोग करना

Using the MCP2515 with the Raspberry Pi

MCP2515 एक लोकप्रिय कैन (कंट्रोलर एरिया नेटवर्क) कंट्रोलर मॉड्यूल है जो रास्पबेरी पाई डिवाइस को कैन-सक्षम सिस्टम के साथ संवाद करने की अनुमति देता है। यह मोटर वाहन परियोजनाओं, औद्योगिक स्वचालन और IoT अनुप्रयोगों के लिए आदर्श बनाता है। यह मार्गदर्शिका बताती है कि रास्पबेरी पाई के साथ MCP2515 को कैसे सेट और उपयोग किया जाए।


आपको क्या चाहिए

  1. रसभरी पाई (GPIO समर्थन के साथ कोई भी मॉडल, जैसे, पीआई 3, पीआई 4)
  2. MCP2515 मॉड्यूल कर सकते हैं
  3. ब्रेडबोर्ड और जम्पर तार
  4. रास्पबेरी पाई या कनेक्टेड कीबोर्ड और मॉनिटर के लिए SSH एक्सेस वाला कंप्यूटर
  5. रास्पबेरी पाई पर पायथन स्थापित
  6. ट्रांसीवर मॉड्यूल कर सकते हैं (यदि MCP2515 के साथ शामिल नहीं है)

चरण 1: रास्पबेरी पाई को MCP2515 को वायर करना

MCP2515 SPI प्रोटोकॉल का उपयोग करके रास्पबेरी PI के साथ संचार करता है।

कनेक्शन (SPI मोड)

MCP2515 पिन रास्पबेरी पाई पिन
वीसीसी 3.3V (पिन 1)
Gnd ग्राउंड (पिन 6)
सी Gpio8 (पिन 24, spi0_ce0)
इसलिए GPIO9 (पिन 21, SPI0_MISO)
साई GPIO10 (पिन 19, SPI0_MOSI)
संप्रदाय GPIO11 (पिन 23, SPI0_SCLK)
int यहाँ GPIO25 (पिन 22)

चरण 2: रास्पबेरी पाई पर एसपीआई इंटरफ़ेस सक्षम करें

  1. रास्पबेरी पाई कॉन्फ़िगरेशन टूल खोलें:
    sudo raspi-config
    
  2. नेविगेट करना इंटरफ़ेस विकल्प> एसपीआई और इसे सक्षम करें।
  3. रास्पबेरी पाई को रिबूट करें:
    sudo reboot
    

चरण 3: आवश्यक पुस्तकालय और उपकरण स्थापित करें

  1. अपने रास्पबेरी पाई को अपडेट करें:
    sudo apt update && sudo apt upgrade -y
    
  2. स्थापित करें can-utils कैन संचार के लिए पैकेज:
    sudo apt install -y can-utils
    

चरण 4: कॉन्फ़िगर कर सकते हैं इंटरफ़ेस

  1. खोलें /boot/config.txt file:

    sudo nano /boot/config.txt
    
  2. MCP2515 ओवरले को सक्षम करने के लिए निम्न पंक्तियाँ जोड़ें:

    dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
    dtoverlay=spi-bcm2835
    

    सहेजें और बाहर निकलें।

  3. रास्पबेरी पाई को रिबूट करें:

    sudo reboot
    
  4. इंटरफ़ेस कर सकते हैं:

    sudo ip link set can0 up type can bitrate 500000
    
  5. CAN इंटरफ़ेस को सत्यापित करें:

    ifconfig can0
    

चरण 5: MCP2515 का परीक्षण

  1. एक संदेश भेजें: उपयोग cansend एक परीक्षण संदेश भेजने के लिए कमांड:

    cansend can0 123#DEADBEEF
    
  2. एक संदेश प्राप्त कर सकते हैं: उपयोग candump आने वाले संदेशों की निगरानी करने के लिए कमांड:

    candump can0
    

चरण 6: MCP2515 के साथ संवाद करने के लिए पायथन का उपयोग करना

स्थापित करें python-can पायथन के माध्यम से संदेश भेजने और प्राप्त करने के लिए लाइब्रेरी।

इंस्टालेशन

pip install python-can

उदाहरण पायथन स्क्रिप्ट

import can

# Create a CAN bus instance
bus = can.interface.Bus(channel='can0', bustype='socketcan')

# Send a CAN message
msg = can.Message(arbitration_id=0x123, data=[0xDE, 0xAD, 0xBE, 0xEF], is_extended_id=False)
bus.send(msg)
print("Message sent: ", msg)

# Receive a CAN message
print("Waiting for a message...")
message = bus.recv()
print("Received message: ", message)

समस्या निवारण

  1. क्या इंटरफ़ेस नहीं मिला:

    • सत्यापित करें कि SPI इंटरफ़ेस सक्षम है।
    • रास्पबेरी पाई और MCP2515 के बीच वायरिंग की जाँच करें।
    • सुनिश्चित करें /boot/config.txt फ़ाइल सही ढंग से कॉन्फ़िगर की गई है।
  2. कोई संदेश नहीं कर सकते:

    • सत्यापित करें कि कैन बस को 120-ओम प्रतिरोधों के साथ ठीक से समाप्त किया गया है।
    • कैन बस पर सभी उपकरणों में बिटरेट मैच सुनिश्चित करें।
  3. पायथन त्रुटियां:

    • सुनिश्चित करें python-can लाइब्रेरी स्थापित है।
    • टाइपोस या कॉन्फ़िगरेशन त्रुटियों के लिए पायथन स्क्रिप्ट की जाँच करें।

MCP2515 के आवेदन

  1. मोटर वाहन निदान और निगरानी
  2. औद्योगिक स्वचालन प्रणालियाँ
  3. रोबोटिक्स संचार नेटवर्क
  4. विश्वसनीय संचार प्रोटोकॉल की आवश्यकता वाले IoT परियोजनाएं

निष्कर्ष

MCP2515 कंट्रोलर मॉड्यूल आपके रास्पबेरी पाई में मजबूत संचार क्षमताओं को जोड़ता है, जिससे यह मोटर वाहन, औद्योगिक और IoT अनुप्रयोगों के लिए आदर्श है। इस गाइड का पालन करके, आप MCP2515 को सेट और परीक्षण कर सकते हैं और कैन प्रोटोकॉल का लाभ उठाने वाली शक्तिशाली परियोजनाओं का निर्माण शुरू कर सकते हैं।

एक टिप्पणी छोड़ें

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.