Koezt schreef :
Moet je niet ook de zwarte draad van de Nmea2000 aansluiten?
Heel benieuwd hoe dit straks verder gaat. Ook net zoiets gekocht om bedraad het netwerk aan de boordcomputer te koppelen. Ipv de wifi zoals nu.
Mag ik een poging doen wat opmerkingen te maken over de Canable Pro?
Ik heb zelf de Canale Pro v1.1, niet de v2. Zoals misschien bekend heb ik ook geen RPI aan boord. Uit principe.
Stap 1
Voor de aansluiting zou ik uitgaan van de informatie van Canable zelf. Sluit CANH, CANL en GND aan ("The GND pin is for ground reference"). Het verkooppunt van de Pro is de galvanische scheiding.
Stap 2
Dan het in het systeem hangen:
Als je de USB kabel aansluit zal de Canable solid blue branden. Dan heeft de canbus stroom maar deelt deze geen data. Met "ip a" (kort voor "ip address") kun je zien of een can-bus ongeconfigureerd in je systeem hangt. Wat je wil zien heb ik ter illustratie in de spoiler gezet.
Af en toe brand de Canable alleen groen (wel data op de canbus, niet aan de pc-zijde).
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
<knip>
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
<knip>
6: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state DOWN group default qlen 10
link/can Can-bus aanwezig, maar nog niet geconfigureerd.
Stap 3
Canbus de 1ste keer handmatig instellen, om te zien of deze werkt.
# /bin/ip link set can0 up type can bitrate 25000
(Regel begint met een '#', dus uitvoeren als root of commando starten met 'sudo' om voldoende rechten te krijgen).
Als het goed is brand de groene led continu en knippert de blauwe led. Je kunt nog een extra check uitvoeren, maar dat zegt net zoveel als de led.
Een andere check om te zien of de bus werkt kan met "can-utils". Door als gebruiker "candump can0" in te tikken vliegt de data over het scherm als het goed is. Onleesbaar, maar we weten nu dat de bus werkt.
Stap 4
Maak een udev-regel aan als root. Bijvoorbeeld /etc/udev/rules/70-Canable.rules:
ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="606f", RUN+="/bin/ip link set can0 up type can bitrate 250000"De codes vind je met lsusb (onderstaande is voor een Canable v1, dus minimaal het model wijkt af.)
# lsusb | grep -i can
Bus 003 Device 021: ID 1d50:606f OpenMoko, Inc. Geschwister Schneider CAN adapter
(Zonder 'grep', met alleen lsusb, moet je in de regels zoeken naar de juiste ID, als je dat eenvoudiger vindt.)
Als je nu de USB-kabel eruit trekt en terug steekt moet de can-bus meteen starten. "ip a" moet nu ook aangeven dat de bus meteen "UP" is.
Stap 5
Configureer SignalK. In de regel wijst zicht dit vanzelf, maar mocht je tegen een melding aanlopen dan de canbus niet gevonden wordt moet je in de logfiles kijken. Het lijkt erop dat die canboat.js module een update nodig heeft, want bij mij was er een probleem bij het installeren van deze module. De fouttolerantie kon wel iets beter.
En een algemene opmerking:
SignalK lijkt een behoorlijke update te hebben gehad. "Het werkt", want het heeft altijd gewerkt. Maar om te zeggen dat de huidige versie van SignalK een verbetering is...
Misschien ben ik volgend jaar wat positiever.