Tagarchief: pican

Automatisch starten PiCan

In de beschrijving van de PiCan installatie lees je dat je handmatig de canbus moet activeren.

Gelukkig bevat Raspbian een locatie / bestand die tijdens het opstarten wordt doorlopen. Dit bestand betreft:
[nano /etc/rc.local]

Onderin dit bestand (net boven 'exit 0') roep ik een zelf gemaakt python bestandje aan (python_can.py):
sudo python /home/pi/python_can.py

Knipsel

En in dit python_can.py bestandje staat de volgende code:

import os

#os.system("sudo ip link set can0 up type can bitrate 100000 restart-ms 100 loopback on")
os.system("ip link set can0 up type can bitrate 100000 restart-ms 100")
os.system("kodi")

Hierdoor wordt automatisch bij het starten van je Raspberry Pi het 'ip link set' commando gegeven.

De eerste regel is passief (#). Hier staat hetzelfde commando, maar dan met de toevoeging 'loopback on'. Deze toevoeging maakt dat de Canbus niet werkelijk werkt, maar naar zichzelf echo't. Voor testdoeleinden is dit een praktische toevoeging. Zie het als een 'localhost' principe.
Wanneer ik dus wil testen, dan verplaats ik de (#) naar de tweede regel.
[whohit]Automatisch starten PiCan[/whohit]

PiCan installeren

Het PICAN board is een aanvullende print dat je op je Raspberry aansluit. Het board past op alle Raspberry uitvoeringen.

Untitled-9

Het is sinds de latere versies van Raspbian vrij eenvoudig geworden om de PICAN hardware van skpang.co.uk te installeren.

Je kunt gebruik maken van het [sudo raspi-config] commando, waarna je de SPI functionaliteit kunt aanzetten (en automatisch op te starten bij het starten van je Pi).

Untitled-9

Selecteer:
[8 Advanced Options]
[A6 SPI]
[Enable SPI]

 

Update vervolgens eerst je huidige software:
[sudo apt-get update]
[sudo apt-get upgrade]
[sudo reboot]

Vervolgens moeten een aantal settings worden toegevoegd in je config.txt.
[sudo nano /boot/config.txt]

Voeg de volgende 3 regels toe onderaan het bestand:
[dtparam=spi=on]
[dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25]
[dtoverlay=spi-bcm2835-overlay]

Je software is nu geïnstalleerd, reboot nog even.
Na herstart kun je je interface 'up' brengen door het volgende commando te geven:
[sudo /sbin/ip link set can0 up type can bitrate 100000]

(De bitrate moet je aanpassen op de bitrate van de te meten canbus-activiteiten aan je gewenste hardware. In mijn geval is dit de Audi A4B6 Infotainmentbus, die een bitrate heeft van 100Kb per seconde.)

Door [ifconfig] te geven kun je zien of je can0 bus draait.
Door [ip -s -d link show can0] te geven kun je zien of er ook bytes worden verzonden of ontvangen.

Knipsel

Ok, je canbus is nu 'up and running'. Een laatste stap is het installeren van een aantal kleine utilities / tools om handig gebruik te kunnen maken van het verzenden en ontvangen van can berichten. Geef hiervoor de volgende commando's:

[git clone https://github.com/linux-can/can-utils.git]
[cd can-utils]

[./autogen.sh]- gaf bij mij een foutmelding, geen effect
[make]
[make install]

Indien je liever de bestanden direct hier wenst te downloaden:
Can_Utils (259 downloads)

 

 
[whohit]PiCan installeren[/whohit]