CAN Raspberry Pi Interface board

Post Reply
rjversluis
Site Admin
Posts: 42305
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

CAN Raspberry Pi Interface board

Post by rjversluis » 18.09.2018, 07:30

Moin Gerd,

du hast mir Hardware geschickt, aber ich weis nicht was ich damit testen muss/kann...

bertc3p0
Posts: 324
Joined: 25.04.2012, 20:19
Location: near Frankfurt Germany

Re: [gelöst]Banana PI mit CAN-Interface: Weichenlagenerkennu

Post by bertc3p0 » 18.09.2018, 09:14

Hallo Rob,
rjversluis wrote:Moin Gerd,

du hast mir Hardware geschickt, aber ich weis nicht was ich damit testen muss/kann...
müssen musst Du damit nix ;-) Es ist mehr ein Angebot.

Mit diesem Adapter ist die Verwendung des CAN-Busses m.E. sehr einfach. Man kann Ihn universell nutzen um z.B. Mergs, Märklins oder Zimos CAN Bus zu beobachten:

Code: Select all

# Beispiel Merg, Zimo
sudo ip link set can0 up type can bitrate 125000 restart-ms 100
# zeigt alle CAN Frames incl. Error Frames
candump -ta -axe any,0:0,#FFFFFFFF
# mittels cansend kann man auch einzelne Frames senden
cansend can0 123#deadbeef
Neben dieser einfachen Diagnose Möglichkeit, die im Übrigen parallel laufen kann, könnte man auch damit das CAN-GC1e nachbauen. Der Vorteil: Keine zusätzliche Hardware wenn man den RPI eh als Rocrail-Server nutzt. Alternativ kann man auch SocketCAN als Schnittstelle in Rocrail vorsehen um mehrere Zentralen zu unterstützen (wie z.B. Märklin Gleisbox).

Für Dich entseht natürlich kein Zwang den Adapter zu nutzen. Ich gebe zu, das es für mich nicht ganz uneigennützig ist. Sollte der Adapter für Dich in irgendeiner Form nützlich sein werde ich ihn Rocrail dokumentieren. Ggf. bestellt jemand hier die Platinen (Quantity 1 -> ergibt mind. 8 Platinen) und unterstützt mich bei meinen eigenen Bestellung mit $1.

Gruß

Gerd

PS: Die Adapter Platine ist für den RPi. Beim Banana Pi ist die CAN-Bus Anbindung sogar noch einfacher.
Last edited by bertc3p0 on 18.09.2018, 10:12, edited 2 times in total.

rjversluis
Site Admin
Posts: 42305
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: [gelöst]Banana PI mit CAN-Interface: Weichenlagenerkennu

Post by rjversluis » 18.09.2018, 09:21

Moin Gerd,

OK, jetzt verstehe ich und finde es durchaus interessant um damit GC1e zu ersetzen.
Vielleicht besser ein neues Thema aufmachen?

bertc3p0
Posts: 324
Joined: 25.04.2012, 20:19
Location: near Frankfurt Germany

Re: [gelöst]Banana PI mit CAN-Interface: Weichenlagenerkennu

Post by bertc3p0 » 18.09.2018, 09:30

Moin Rob,
rjversluis wrote:Moin Gerd,

OK, jetzt verstehe ich und finde es durchaus interessant um damit GC1e zu ersetzen.
Vielleicht besser ein neues Thema aufmachen?
ich denke schon - es ist ein wenig deplatziert (RPi-Adapter) hier.

Gruß

Gerd

rjversluis
Site Admin
Posts: 42305
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Raspberry Pi Interface board

Post by rjversluis » 18.09.2018, 09:45

Hi Gerd,

gibt es irgendwo ein Doku wo ich nachschauen kann wo die Jumper, Stecker und Klemmen hinkommen sollten?

bertc3p0
Posts: 324
Joined: 25.04.2012, 20:19
Location: near Frankfurt Germany

Re: CAN Raspberry Pi Interface board

Post by bertc3p0 » 18.09.2018, 10:05

Hi Rob,
rjversluis wrote:Hi Gerd,

gibt es irgendwo ein Doku wo ich nachschauen kann wo die Jumper, Stecker und Klemmen hinkommen sollten?
die Doku sammle ich hier:
https://github.com/GBert/misc/tree/master/RPi-MCP2515

P7 ist die Anreiklemme (bitte nur CANL, CANH und GND verbinden), P6 (daneben) für die optionale Terminierung (120 Ohm).

Gruß

Gerd

rjversluis
Site Admin
Posts: 42305
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Raspberry Pi Interface board

Post by rjversluis » 18.09.2018, 10:06

Hi Gerd,

und der LED?

bertc3p0
Posts: 324
Joined: 25.04.2012, 20:19
Location: near Frankfurt Germany

Re: CAN Raspberry Pi Interface board

Post by bertc3p0 » 18.09.2018, 10:10

Hi Rob,
rjversluis wrote:Hi Gerd,

und der LED?
Diode D1 - neben der Anreihklemme.

Gruß

Gerd

rjversluis
Site Admin
Posts: 42305
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Raspberry Pi Interface board

Post by rjversluis » 18.09.2018, 10:57

Hallo Gerd,

in ein anderes Fenster habe ich "cansend can0 123#deadbeef" abgesetzt:

Code: Select all

candump -ta -axe any,0:0,#FFFFFFFF
 (1537264316.096008)  can0  RX - -  20000004   [8]  00 08 00 00 00 00 00 00   ERRORFRAME
	controller-problem{tx-error-warning}
 (1537264316.098750)  can0  RX - -  20000004   [8]  00 20 00 00 00 00 00 00   ERRORFRAME
	controller-problem{tx-error-passive}
Ich finde unter /dev kein can0 device...

Code: Select all

pi@keltenbahn:~ $ ls /dev/
autofs           gpiochip2  loop-control        ram1    raw        tty13  tty28  tty42  tty57      urandom  vcsa4
block            gpiomem    mapper              ram10   rfkill     tty14  tty29  tty43  tty58      vchiq    vcsa5
btrfs-control    hwrng      mem                 ram11   serial0    tty15  tty3   tty44  tty59      vcio     vcsa6
bus              i2c-1      memory_bandwidth    ram12   serial1    tty16  tty30  tty45  tty6       vc-mem   vcsa7
cachefiles       initctl    mmcblk0             ram13   shm        tty17  tty31  tty46  tty60      vcs      vcsm
char             input      mmcblk0p1           ram14   snd        tty18  tty32  tty47  tty61      vcs1     vhci
console          kmsg       mmcblk0p2           ram15   spidev0.1  tty19  tty33  tty48  tty62      vcs2     watchdog
cpu_dma_latency  log        mqueue              ram2    stderr     tty2   tty34  tty49  tty63      vcs3     watchdog0
cuse             loop0      net                 ram3    stdin      tty20  tty35  tty5   tty7       vcs4     zero
disk             loop1      network_latency     ram4    stdout     tty21  tty36  tty50  tty8       vcs5
fb0              loop2      network_throughput  ram5    tty        tty22  tty37  tty51  tty9       vcs6
fd               loop3      null                ram6    tty0       tty23  tty38  tty52  ttyAMA0    vcs7
full             loop4      ppp                 ram7    tty1       tty24  tty39  tty53  ttyprintk  vcsa
fuse             loop5      ptmx                ram8    tty10      tty25  tty4   tty54  ttyS0      vcsa1
gpiochip0        loop6      pts                 ram9    tty11      tty26  tty40  tty55  uhid       vcsa2
gpiochip1        loop7      ram0                random  tty12      tty27  tty41  tty56  uinput     vcsa3
pi@keltenbahn:~ $ ls /dev/spidev0.1 
/dev/spidev0.1
pi@keltenbahn:~ $ 


bertc3p0
Posts: 324
Joined: 25.04.2012, 20:19
Location: near Frankfurt Germany

Re: CAN Raspberry Pi Interface board

Post by bertc3p0 » 18.09.2018, 11:11

Hi Rob,
rjversluis wrote:Hallo Gerd,

in ein anderes Fenster habe ich "cansend can0 123#deadbeef" abgesetzt:

Code: Select all

candump -ta -axe any,0:0,#FFFFFFFF
 (1537264316.096008)  can0  RX - -  20000004   [8]  00 08 00 00 00 00 00 00   ERRORFRAME
	controller-problem{tx-error-warning}
 (1537264316.098750)  can0  RX - -  20000004   [8]  00 20 00 00 00 00 00 00   ERRORFRAME
	controller-problem{tx-error-passive}
Ist ein weiterer Knoten am CAN-Bus angeschlossen bzw. Terminierung berücksichtigt ? tx-warning deutet darauf hin, das der Controller das Paket nicht auf dem CAN-Bus abliefern kann/konnte.
Ich finde unter /dev kein can0 device...
mit ifconfig solltest Du ein can0 Netzwerk Device finden.

Gruß

Gerd

rjversluis
Site Admin
Posts: 42305
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Raspberry Pi Interface board

Post by rjversluis » 18.09.2018, 11:16

Hi Gerd,

leider nicht:

Code: Select all

pi@keltenbahn:~ $ ifconfig 
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether b8:27:eb:9e:af:9b  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 5  bytes 284 (284.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5  bytes 284 (284.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.124  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::e7d0:ecad:207a:9f2e  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:cb:fa:ce  txqueuelen 1000  (Ethernet)
        RX packets 251  bytes 20351 (19.8 KiB)
        RX errors 0  dropped 2  overruns 0  frame 0
        TX packets 308  bytes 201956 (197.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

rjversluis
Site Admin
Posts: 42305
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Raspberry Pi Interface board

Post by rjversluis » 18.09.2018, 11:18

OK,

Code: Select all

can0: flags=193<UP,RUNNING,NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
aber erst nachdem ich

Code: Select all

sudo ip link set can0 up type can bitrate 125000 restart-ms 100
auf der Kommando Zeile ausgeführt habe.
Kann man das aktivieren nicht automatisieren?

bertc3p0
Posts: 324
Joined: 25.04.2012, 20:19
Location: near Frankfurt Germany

Re: CAN Raspberry Pi Interface board

Post by bertc3p0 » 18.09.2018, 11:24

Hi Rob,
rjversluis wrote:OK,

Code: Select all

can0: flags=193<UP,RUNNING,NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
aber erst nachdem ich

Code: Select all

sudo ip link set can0 up type can bitrate 125000 restart-ms 100
auf der Kommando Zeile ausgeführt habe.
Kann man das aktivieren nicht automatisieren?
das geht natürlich auch. Entweder packst Du es in eins der Start-Skripte oder eleganter - siehe:
http://www.armadeus.org/wiki/index.php? ... at_startup

Gruß

Gerd

rjversluis
Site Admin
Posts: 42305
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Raspberry Pi Interface board

Post by rjversluis » 18.09.2018, 12:00

Hi Gerd,

OK.

Problem: Mit dieses board und config funktioniert sodu reboot nicht mehr und bleibt irgendwo hängen.

Und
http://www.armadeus.org/wiki/index.php? ... at_startup
funktioniert nicht.

bertc3p0
Posts: 324
Joined: 25.04.2012, 20:19
Location: near Frankfurt Germany

Re: CAN Raspberry Pi Interface board

Post by bertc3p0 » 18.09.2018, 12:08

Hi Rob,
rjversluis wrote:Hi Gerd,

OK.

Problem: Mit dieses board und config funktioniert sodu reboot nicht mehr und bleibt irgendwo hängen.

Und
http://www.armadeus.org/wiki/index.php? ... at_startup
funktioniert nicht.
sorry. Kann es jetzt grad nicht überprüfen. Diese Config funktioniert zuminest bei mir mit dem BPi:

Code: Select all

# CAN Interface
auto can0
iface can0 inet manual
        pre-up /sbin/ip link set $IFACE type can bitrate 125000 restart-ms 100
        up /sbin/ifconfig $IFACE up
        down /sbin/ifconfig $IFACE down
Gruß

Gerd

Post Reply

Return to “CBUS (DE)”