Hat schon jemand das CAN-Modul MCP2515 in FHEM eingebunden bzw. gibt es dazu eine Anleitung?
Die Grundkonfiguration ist abgeschlossen und das Modul ersichtlich unter ifconfig.
Ich habe auch noch ein paar Module hier herumliegen.
Könntest Du Dein Aufbau mal schildern?
Grüße,
Jürgen
Die Verdrahtung des MCP2515 Moduls
GPIO MCP2515 CAN
HEADR SIGNAL MODULE
PIN NAME --- SIGNAL
#01 3,3V --- VCC
#02 5V --- Extra (Verbindung zu Vcc TJA1050 wird nach dem Test auf Versorgung vom CAN-Bus umgestellt)
#06 GND --- GND (Verbindung zu GND TJA1050 wird nach dem Test auf Versorgung vom CAN-Bus umgestellt)
#09 GND --- GND
#19 MOSI --- SI
#21 MISO --- SO
#23 SCLK --- SCK/CLK
#24 SPI0.CE0 --- CS
#22 GPIO25 --- INT
Meine Configuration sieht so aus.
Raspberry aktualisieren
sudo apt-get update &&
sudo apt-get upgrade
Überprüfen der Kernel Version
uname -a
Linux piv2 4.1.19-v7+ #853 SMP Wed Mar 9 18:09:16 GMT 2016 armv7l GNU/Linux
Für das Modul ist es notwendig spi zu aktivieren
sudo raspi-config
Kontrolle des Vorhandenseins des aktiven SPI Eintrages
sudo nano /boot/config.txt
### MCP 2515 CAN-Modul
dtparam=spi=on
Blacklist editieren: sudo nano /etc/modprobe.d/raspi-blacklist.conf
# blacklist spi and i2c by default (many users don't need them)
# blacklist spi-bcm2708
# blacklist i2c-bcm2708
# blacklist mcp251x
Rechte vergeben.
sudo chmod -R a+w /sbin/ip
### Elfatherm E6
sudo /sbin/ip link set can0 up type can bitrate 20000
Damit das CAN Modul bei jedem Neustart automatisch geladen wird ist folgender Eintrag in der Datei rc.local notwendig.
sudo nano /etc/rc.local
Eintrag vor dem exit einfügen.
### MCP2515 Modul für Elfatherm E6
/sbin/ip link set can0 up type can bitrate 20000
Adapter Einrichtung für 8MHz und INT auf GPIO 25
sudo nano /boot/config.txt
### MCP 2515 CAN-Modul
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
dtoverlay=spi-bcm2835-overlay
sudo apt-get install python3-dbus
sudo apt-get install git
cd
git clone https://github.com/linux-can/can-utils.git
cd can-utils/
./configure
make
sudo apt-get install can-utils
sudo shutdown -r now
Hallo Chris,
danke für die Infos. :) :)
Vielleicht bekomme ich das schnell mal aufgebaut...
Grüße,
Jürgen
Hallo Chris,
hast Du konkrete Vorstellungendavon, was Du mit dem CAN-Bus steuern oder erfassen willst?
Automotive?
Ein CAN-Packet ist erst mal nichts anderes, als eine nummerierte Hülse für 8 Bytes ....
Wie diese 8 Bytes verwendet werden regeln ja verschiedene Protokolle, jeder kocht da ja sein eigenes Süppchen.
Eine SPI-Anbindung ist deshalb ja auch nur die halbe Miete, die übergelagerten Schichten um das Protokoll
aufzubauen müssen ja in Software "gegossen" werden...
Hast Du da schon was Fertiges?
Beispiel (http://caraca.sourceforge.net/)
https://www.mikrocontroller.net/articles/CAN_als_Hausbus (https://www.mikrocontroller.net/articles/CAN_als_Hausbus)
Grüße,
Jürgen
Hallo Zusammen,
ich interessiere mich ebenfalls sehr für die Möglichkeit CAN in FHEM einzubinden. Ich würde gern die Informationen von einer Türsteuerung abgreifen un ebenfalls über den CAN Steuerbefehle aussenden. Die Steuerung hat eine CAN Schnittstelle. Muss dafür erst ein Modul entwickelt werden? Und wie sieht es mit dem CAN in Fhem aus?
Leider muss ich zugeben das ich bislang nur die Idee und nicht mehr hab.
Besten Dank!
Adam
Über eine bestehende Intergation in FHEM kann ich leider nicht beitragen.
Ist eine Frage der Implementierung:
SW-Implementierung auf dem Pi -> FHEM oder z.B. eine Art CAN-Gateway (wie z.B. der CUL) mittels separater Anbindung per yC) mit seriellen Schnittstelle.
Darüber hinaus noch die Schichten + Protokolle, denn CAN ist nicht gleich CAN.
Wäre schön wenn es was gäbe, befürchte aber wenn, wäre es proprietär auf ein spezifisches Protokoll/Anwendungsfall zugeschnitten.
Das von 0 an aus dem Boden zu hieven, wäre wohl eine Mammutaufgabe ...
Grüße,
Jürgen
Ich habe vor das CAN-Modul für die Heizung zu verwenden.
Vorhanden ist ein Krom-Schröder Heizungsregler mit zwei Heizkreisen und zwei Bedienteilen, wobei nur ein Bedienteil den CAN-Bus verwendet.
An dem Bedienteil möchte ich das CAN-Modul andocken um den aktuellen Status des Systems abzugreifen, bzw. gewisse Änderungen via CAN-BUS zum Regler zu übertragen.
ZB Freigabe Heizung usw.
Bei diesem Protokoll, dass dieser Heizungsregler verwendet, handelt es sich um ein Elfatherm E6 Model.
fertiges CAN-Modul, bzw. als günstiger Bausatz:
http://www.fischl.de/usbtin/ (http://www.fischl.de/usbtin/) mit mcp2515.c - Source (http://www.fischl.de/usbtin/downloads/usbtin.2016-10-13.tar.gz)
Source ist für PIC, sollte aber leicht auf Atmel/ARM umbaubar sein ...
Es kamen ja auch schon Andere auf den Gedanken:
http://www.haustechnikdialog.de/Forum/t/169910/ComfortSoft-mit-CAN-BUS-Anbindung-Raspberry-Pi-verwenden (http://www.haustechnikdialog.de/Forum/t/169910/ComfortSoft-mit-CAN-BUS-Anbindung-Raspberry-Pi-verwenden)
FHEM/tiCAN
https://drive.google.com/file/d/0B1UL59HBifIPdjIzVHpseHBXQlU/view (https://drive.google.com/file/d/0B1UL59HBifIPdjIzVHpseHBXQlU/view)
Beispiel - Projekt:
http://juerg5524.ch/list_data.php (http://juerg5524.ch/list_data.php)
Aus dem KNX-Umfeld:
https://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/knx-eib-forum/12686-anbindung-canbus-an-knx (https://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/knx-eib-forum/12686-anbindung-canbus-an-knx)
Ich gehe mal davon aus, dass die verwendeten Protokolle nicht offen verfügbar sind?
D.h. man müsste erst mal den Bus sniffen und ......
http://messpunkt.org/blog/ (http://messpunkt.org/blog/)
Jetzt wo man das Thema kennt und SuFu anwendet ;D:
https://forum.fhem.de/index.php/topic,42248.msg570772.html#msg570772 (https://forum.fhem.de/index.php/topic,42248.msg570772.html#msg570772)
https://forum.fhem.de/index.php/topic,33273.msg256408.html#msg256408 (https://forum.fhem.de/index.php/topic,33273.msg256408.html#msg256408)
@Burny4600: Du warst dort auch schon aktiv?
Ja das kann schon sein.
Hatte jetzt längere Zeit die CANBUS Angelegenheit liegen lassen und muss mir alles wieder zusammensuchen da ich meine Notizen irtümlich warscheinlich gelöscht hatte.
Hi Burny4600,
kein Problem ... ;)
Im Moment fehlt mir noch ein passender CAN-Knoten zum experimentieren ...
Monitor (http://mhs-elektronik.de/index.php?module=download&action=list)
Tutorial & CANLib (http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515)
Open Source CAN bus Analyser and Simulation (https://github.com/mhs-elektronik)
Jürgen
Hallo,
gab es hierzu jemals neue Erkenntnisse?
Ich habe möchte auch gerne Daten von einem can0-Interface auf einem RaspberryPi in eine fhem-Instanz bekommen.
Alle meine Suchen und Experimente waren nicht von Erfolg gekrönt, wobei ich auch zugeben muss, dass ich kein Perl-Profi bin.
Nach meinen Erkenntnissen kann Perl nicht das CAN-Socket ansprechen.
Unter Python habe ich da bereits einige hilfreiche Tools und Debugprogramme gebaut.
Meine Gedanken gehen jetzt zu einer Art Wrapper-Skipt und Umweg über SOCAT und ein TTY-Interface.
Hab das mal testweise probiert, indem ich den Output von CANDUMP (aus canutils) in ein TTY-Device schiebe.
Dort könnte ich es dann mit fhem wieder abholen.
Senden könnte man über einen Wrapper von CANSEND machen.
Fühlt sich aber irgendwie an, wie durch die Brust ins Auge...
Gruß
sweetie-pie