ALLES AUF EIGENE GEFAHR!!!
Hardware:
Man nehme einen Raspberry mit aktuellstem Jessie FULL 4.9.35-v7+ (2017).
Der Kernel des Linux's besitzt so gut wie alles was man braucht. Bei Älteren OS sind die Konfigurationen etwas unterschiedlich, dazu kann man die gewohnten HowTo's verwenden.
Den StromPi kann ich nur empfehlen, da er die Möglichkeit bietet, den Raspi an das Boardnetz zu klemmen.
Dazu gibt es ein CAN-Bus Interface was sich im Netz MCP2515 nennt, eigentlich ist das einer der Chips der verbaut ist, aber das ist ja erstmal egal.
Man erkennt das Bauteil an dem "NiRen" auf der Platine.
Wichtig ist es, dass man die Spannungsversorgung des TJA1050 trennt und diesen dann sepperat mit 5V versorgt.
Denn wenn die GPIO's des Raspis mit 5V rückgespeist werden, habt ihr einen Briefbeschwerer erstellt.
Also 3V3(Raspi) an die VCC(MCP2515) und die 5V direkt an den TJA1050 (Bitte das auftrennen nicht vergessen!)
Wer im Internet sucht, wird da recht flott etwas finden, allerdings mit Kondensator gegen Masse, den braucht man aber nicht unbedingt.
Man beachte die rechte aufgekratzte Stelle, neben dem angelöteten Kabel.
Ich habe zudem den Quartz von 8MHz gegen einen mit 16MHz getauscht. (muss man nicht, man kann aber anscheinend dadurch mehr Baudraten einstellen).
Hier das Standard Tutorial
Software:
Wenn man die Installation des OS gemacht hat, kann man direkt mal einige Einstellungen vornehmen.
Das Standard Tutorial funktioniert bei euch nicht?
Ganz einfach.
Das Tutorial ist schon etwas älter:
Im Terminal:
sudo apt-get install can-utils // Installieren
sudo raspi-config // SPI aktivieren
mit
sudo nano /boot/config.txt
die Zeile mit
dtparam=spi-on // ggf. Auskommentieren
dann die nachfolgende Zeile ergänzen:
dtoverlay=mcp2515-can0, oscillator=16000000,interrupt=25 // Wichtig: Leerzeichen nach dem Komma vor oscillator! oscillator=8000000 bei einem 8MHz Quartz
Wer keine Lust hat ständig das CAN-Interface manuell zu starten (sudo ip link set can0 up type can bitrate 500000), kann mit
sudo nano /etc/network/interfaces
am Ende die Zeile
Code: |
auto can0
iface can0 can static
bitrate 500000
|
ergänzen. Steht auch nochmal mit der wichtigen und richtigen Einrückung im Standard TuT.
Speichern und neustarten
Nach dem neustart
sudo ip link set can0 up type can bitrate 500000
mit
ifconfig
überprüft man, ob in der ersten Zeile
can0 vorhanden ist. Die 1000 Nullen sind Normal weil CAN-Bus wie in Netzwerk funktioniert, allerdings die Adressierung über die ID's erfolgt.
Gibt noch die Möglichkeit ohne echtem CAN-Bus die Software zu testen, sucht einfach mal nach "vcan" oder "vcan0 mcp2515", da werdet ihr schon was finden.
Zu meiner Software:
Die Rechtschreibprüfung manipuliert den SourceCode. Deshalb habe ich es als zip-Archiv hochgeladen
Viel Spaß