Benutzer-Werkzeuge

Webseiten-Werkzeuge


caring_caribou:caring

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
caring_caribou:caring [2019/02/09 13:40] – [Installation] geier99caring_caribou:caring [2022/11/28 21:31] (aktuell) – [Caring Caribou] geier99
Zeile 6: Zeile 6:
   * python3   * python3
   * python-can   * python-can
 +  * sonstiges kann auch nicht schaden:
 +    * python -m pip install --upgrade setuptools
 +    * python -m pip install --upgrade python-can
 +  * DoIP <code>Note: This module requires the packages doipclient and udsoncan, which only support Python 3.6+. 
 +These can be installed through $ pip install doipclient udsoncan. If your system uses Python 2 as 
 +default python interpreter, you may have to use 
 +$ pip3 install doipclient udsoncan 
 +or 
 +$ python3 -m pip install doipclient udsoncan
 + (and make sure to run Caring Caribou through python3) instead.</code>
  
 ===== Installation ===== ===== Installation =====
Zeile 14: Zeile 24:
   - Default Konfiguration für Python-CAN anlegen. <code>cat ~/.canrc   - Default Konfiguration für Python-CAN anlegen. <code>cat ~/.canrc
 [default] [default]
-interface = socketcan_native+interface = socketcan_native     // Achtung in neuere Socketcan  2.2 (python-can 4.1) wieder ohne native!!!!
 channel = can0</code> channel = can0</code>
  
Zeile 33: Zeile 43:
  
  
-</code> eingibt. Wenn jetzt CAN-Botschaften angezeigt werden ist alles in Ordnung.+</code> eingibt. Wenn jetzt CAN-Botschaften angezeigt werdenist alles in Ordnung. 
 + 
 +===== Tipps / Beispiele ===== 
 +==== OBD-Scanning ==== 
 +<code>python3  cc.py dcm discovery -min 0x700 -nostop       # versucht ab 0x700..0x7FF eine Diagnositzung zu öffenen 
 +</code> 
 +danach kann man dan veruchen welche Service unterstützt werden:<code>python3  cc.py dcm services 0x773 0x7DD 
 +- besser wäre hier aber die Broadcast 7DF bzw Motor-ECU 7E0  mit response ID 7E8</code> 
 +oder mit uds_fuzz  arbeiten.<code> python3 cc.py uds_fuzz delay_fuzzer 100311022701 0x03 0x773 0x7DD    #1003, 1102, 2701 Request senden</code> 
 + 
 +Eigenes Python Skript um alle Anfrage zu senden:<code>cat obd_pid_scan_andi.py                                                  
 +#!/usr/bin/python3                                                        
 +                                                                          
 +import can                                                                
 +import time   # wenn man zyklish was senen will                           
 +                                                                          
 +# scand PIDs ohne die Support Adressen                                    
 +                                                                          
 +bus = can.interface.Bus(bustype='socketcan', channel='can0', bitrate=500000)                                                                       
 +                                                                          
 +msg = can.Message(arbitration_id=0x7E0, data=[2, 1, 0, 0, 0, 0, 0, 0], extended_id=False)                                     
 +bus.send(msg)                                                             
 +                                                                          
 +for i in range(256):                                                      
 +  if ( ((i%0x20)==0)):                                                    
 +     print ( "ID: 0x%03X not send  (supported IDs)" % (i))                
 +     continue                                                             
 +                                                                          
 +  msg.data[2]=i                                                           
 +  bus.send(msg)                                                           
 +  print(msg)                                                              
 +  time.sleep(0.1)                                                         
 + 
 +print("fertig"                                                          
 +</code> 
 +Dies Skript starten und schauen was candump: <code>candump -L can0,7E8:7FF</code> anzeigt.\\ Hinweis die Anfrage nach den Supported IDs wird unterdrückt. 
 + 
 +DCM ist veraltet, dafür gibt es jetzt die UDS-Module: 
 +  * UDS:  
 +    * <code>./cc.py uds discovery            # über alle Ids probieren eine Diagnosesitzung zu öffnen 
 +=> xxx | 02 10 01 00 00 00 00 00 ........</code>  
 +    * <code>./cc.py uds services 0x7E0 0x7E8                 # alle möglichen Service IDs scannen</code> 
 +  * UDS_FUZZ 
 + 
 +VIN anfordern entweder über Service 09   oder über UDS-Anfrage: 03 22 F1 91     (Pam America) 
 + 
 +==== Links ==== 
 +Hmm, warum ist es jetzt hier auch: [[https://githubmemory.com/index.php/repo/CaringCaribou/caringcaribou]]
caring_caribou/caring.1549719645.txt.gz · Zuletzt geändert: 2019/02/09 13:40 von geier99