K rádiu Stream je mimo jiné přivedena i sběrnice CAN bus. Stačilo si realizovat převodník CAN Bus s procesorem ST32F1xx a mohl jsem vesele odposlouchávat, co si auto pro sebe brumlá. Přikládám několik prvních výsledků zjištěných reverzním inženýrstvím.
ID: 0x470 00 XX 00 00 00 – kontakty dveří
XX
| |||||||
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
kufr otevřít
|
kapota
|
pravé zadní
|
levé zadní
|
spolujezdec
|
řidič
| ||
kufr prostor otevřen
|
ID: 0x2C1 0X 00 00 00 04 – blinkry
Pravý X - 2
Levý X - 1
Varovné X - 4
Levý X - 1
Varovné X - 4
ID: 0x571 XX 00 00 00 00 00 – napětí akumulátoru [V]
Napětí akumulátoru: (XX/2+50)/10 [V] Příklad: 0x571 BA 00 00 00 00 00 0xBA => 14,3 V
ID: 0x359 00 XX YY 00 00 00 00 00 - rychlost
Rychlost: (YY*256 + XX) / 201 [km/hod]
z XX se nebere nejvyšší bit
z XX se nebere nejvyšší bit
ID: 0x351 00 XX YY 00 00 00 00 00 - rychlost
Rychlost: (YY*256 + XX) / 201 [km/hod]
ID: 0x35B 00 XX YY ZZ 00 00 00 – otáčky motoru + teplota vody
Otáčky motoru: (YY*256+XX)/4 [ot/min] Příklad: 0x35B 00 24 0E 55 08 19 02 29 0x24, 0x0E => 905 ot/min
Teplota motoru: ZZ-10 [°C] Příklad: 0x35B 00 24 0E 55 08 19 02 29 0x55 => 75,00 °C
Pokud motor neběží, tak je první byte 0x07, díky čemu je možné poznat zda jsou data platná či ne.
Pokud motor neběží, tak je první byte 0x07, díky čemu je možné poznat zda jsou data platná či ne.
ID: 0x65D Ujeté kilometry + datum a čas
0x065D F0 F2 ED 02 00 90 9E 06
11110000 11110010 11101101 00000010 00000000 10010000 10011110 00000110
Ujeté km = 242 + 237 * 256 + 2
* 256 * 256 = 191 986 km
Hod = 144 / 16 + 0
* 16 = 9
Min = 30 / 2 = 15
Sec = 6 * 2 + 128 / 128 = 13
Testovaná O2 patrně nemá aktuální datum, pouze čas.
Testovaná O2 patrně nemá aktuální datum, pouze čas.
Rok = 0/128 + 0 *128 + 2000 = 2000
Měsíc = 0 / 8 = 0
Den = 0 / 128 + 0 * 2 = 0Nultý bajt zatím neidentifikován (mění se bez zjevné návaznosti na ujeté km i čas).
Datum a čas
|
CAN ID
|
B0
|
B1
|
B2
|
B3
|
B4
|
B5
|
B6
|
B7
|
Datum a čas
|
km
|
Hod
|
Min
|
Sec
|
Výsledek
|
||||
16.01.2016 11:58
|
0x065D
|
F6
|
EC
|
EE
|
02
|
00
|
B0
|
F6
|
00
|
16.01.2016
11:58
|
192236
|
10110000
|
11110110
|
00000
|
11
|
59
|
1
|
11:59:01
|
|
16.01.2016 15:51
|
0x065D
|
F7
|
32
|
EF
|
02
|
00
|
F0
|
68
|
10
|
16.01.2016
15:51
|
192306
|
11110000
|
01101000
|
10000
|
15
|
52
|
32
|
15:52:32
|
|
16.01.2016 16:06
|
0x065D
|
F8
|
3E
|
EF
|
02
|
00
|
00
|
8F
|
14
|
16.01.2016
16:06
|
192318
|
00000000
|
10001111
|
10100
|
16
|
7
|
41
|
16:07:41
|
ID: 0x03E3 00 00 00 00 00 00 00 00 - nemění se
ID: 0x65F VIN kód 0X 00 00 00 00 54 4D 42
X – značí část VINu a první bajt značí, která část VIN se zrovna přenáší (0, 1 a 2)
65F
|
0
|
0
|
0
|
0
|
0
|
54
|
4D
|
42
|
TMB
|
TMBBS21Z952XXXXXX
| |
65F
|
1
|
42
|
53
|
32
|
31
|
5A
|
39
|
35
|
BS21Z95
| ||
65F
|
2
|
32
|
XX
|
XX
|
XX
|
XX
|
XX
|
XX
|
2XXXXXX
|