RKS+CAN Adapter für CAN-Bus Sniffing
CAN-Interface
CANhack.de - CAN Hardware, CAN Software, CAN Protokolle - Das CAN-Bus Forum für Dein CAN-Bus Projekt.

Arduino + MCP2515 --> Signale "blockieren"?


 
Neues Thema beginnen Auf Beitrag antworten Weitergeben, Thema teilen Lesezeichen setzen Druckansicht CANhack.de - Übersicht » Mikrocontroller und Elektronik: Programmierung
Autor Nachricht
lengi



CAN Hacker seit: 15.04.2018
Beiträge: 7
Karma: +0 / -0   Danke, gefällt mir!


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-04-2018, 11:24    Titel: Arduino + MCP2515 --> Signale "blockieren"? Antworten mit Zitat

Guten Tag zusammen,

ich bin derzeit dabei mich etwas in das Thema CAN Bus einzuarbeiten. Eher aus Zufall, da die Komponenten, die ich Untersuche eben genau mit CAN BUS arbeiten.
Ich komme eigentlich aus dem Modellbaubereich und möchte dort ein System aus zwei Komponenten "manipulieren" (eigentlich ein hässliches Wort, trifft es aber ziemlich gut). Ich hoffe, dass mir hier dennoch jemand helfen kann, da es eher ein generelles CAN Bus "Problem" ist.

Mein Aufbau besteht derzeit aus einem Arduino Nano und einem MCP2515. Da es sich nicht um ein KFZ handelt, ist die Menge an IDs und Daten doch eher begrenzt und noch einigermaßen übersichtlich im Serial Monitor der Arduino IDE (max. 15 IDs).

Die zwei Komponenten, die ich mir ansehe, haben sowohl Sensoren, Aktoren und Bedienelemente (Knöpfe)

Ich möchte in dieses System eine Sicherheitsfunktion einbauen, dass wenn ich einen Eingang am Arduino auf HIGH setze, die vorhandenen Tasten keine Funktion mehr haben.
Die dazugehörige ID für die Taster konnte ich bereits identifizieren und es ist ebenfalls erkennbar, wie sich die Daten beim Drücken der Tasten verändern.

Im Ruhezustand haben Byte 0 und 1 dieser ID den Wert 0. Wird eine entsprechende TAste gedrückt, so ändern sich die Werte dieser ID bei Taster 1 bspw. folgendermaßen:

Taster 1:
Byte 0 = 1
Byte 1 = 1

Taster 2
Byte 0 = 4
Byte 1 = 1

Taster 3
Byte 0 = 16
Byte 1 = 1

usw.

Lassen sich die Signale irgendwie "blockieren"?

Was ich bereits versucht habe:
1. Daten im Arduino einlesen, ID auswerten, wenn ID erkannt -> Werte 0 setzen (Ruhezustand)
Ergebnis: System reagiert immer noch, allerdings etwas anders.

2. Arduino in Dauerschleife beide Bytes auf 0 setzen. Mit Delay in der Loop reagiert das System wie bei 1., nehme ich den Delay raus, stürzt das System ab und Startet neu (dauerhaft)

Die Leiter einfach zu unterbrechen ist leider auch keine Möglichkeit, da ich andere Daten dieser Komponente weiterhin benötige, wenn die Taster deaktiviert sein sollen.

Hat hier jemand eine Idee, wie man dies lösen kann?

Gruß
Jan
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden    
postmann
CAN-Profi
CAN-Profi


CAN Hacker seit: 23.05.2013
Beiträge: 116
Karma: +36 / -0   Danke, gefällt mir!


CAN Support

Beitrag15-04-2018, 14:40    Titel: Arduino + MCP2515 --> Signale "blockieren"? Antworten mit Zitat

Du benötigst ein Gateway. Das Signal zu ändern und wieder auf dem Bus zu senden wir zu Fehlern beim Sender führen. Du musst den CAN auftrennen und deine Gateway dazwischen setzen . Dadurch wird das Signal vom Gateway auf der einen Seite eingelesen und auf der anderen Seite kannst du dann das manipulierte Signal weitersenden.
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden    
lengi



CAN Hacker seit: 15.04.2018
Beiträge: 7
Karma: +0 / -0   Danke, gefällt mir!


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-04-2018, 19:24    Titel: Arduino + MCP2515 --> Signale "blockieren"? Antworten mit Zitat

Die Idee hatte ich auch schon die Adern aufzutrennen und das ganze entsprechend zu "tunneln" und ggf. zu blockieren, nur fehlte mir das Stichwort dazu.
Wie sich sowas umsetzen lässt, weißt du nicht zufällig oder?

Mir schwebt da gerade ein zweiter MCP2515, so dass ich quasi zwei mal CANL und CANH anschließen kann, aber dazu stecke ich noch zu wenig in der Materie.

Dann heißt es jetzt erstmal wieder weiter lesen, aber danke für das Stichwort!

Gruß
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden    
Zampan0
CAN-Profi
CAN-Profi


CAN Hacker seit: 28.06.2016
Beiträge: 16
Karma: +7 / -0   Danke, gefällt mir!


CAN Support

lengi gefällt das.
Beitrag16-04-2018, 10:35    Titel: Arduino + MCP2515 --> Signale "blockieren"? Antworten mit Zitat

du musst auf jedem Fall ein Gateway aufbauen
Ein Beispiel mit 2 x MCP2515 findest du hier

https://github.com/coryjfowler/MCP_CAN_lib/blob/master/examples/Dual_CAN/Dual_CAN.ino

da du relativ wenig Daten hast, wird das auch ohne Probleme funktionieren.
Du filterst einfach die entsprechende ID bei gedrückter Taste heraus und modifizierst die Daten und schickst diese weiter
Alle anderen Daten werden 1:1 weitergeleitet
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden    
lengi



CAN Hacker seit: 15.04.2018
Beiträge: 7
Karma: +0 / -0   Danke, gefällt mir!


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag16-04-2018, 11:21    Titel: Arduino + MCP2515 --> Signale "blockieren"? Antworten mit Zitat

Lieber Leser, Du hast keine ausreichenden Rechte um weiter zu lesen, weiter hier.
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden    
Neues Thema beginnen Auf Beitrag antworten Weitergeben, Thema teilen Lesezeichen setzen Druckansicht CANhack.de - Übersicht » Mikrocontroller und Elektronik: Programmierung
Ähnliche Fachartikel und Themen
Thema Community Bereich
Keine neuen Beiträge Zwei "Busse" verbinden Innenraum- / Komfort CAN
Keine neuen Beiträge CAN-Bus "hacken", welche Methoden? Allgemein
Keine neuen Beiträge Mit "Can-USB-Kit" Messages an RNS510 schicken CAN Softwaretools und Software
Keine neuen Beiträge CAN-IDs für "Volkswagen Sound" Soundsystem Innenraum- / Komfort CAN
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst Deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst Deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten.
Du kannst Dateien in diesem Forum herunterladen.