Bil till Arduino meddelande: CAN-Bus sniffning och sänder med Arduino
Från Wikipedia är Controller Area Network (CAN) bussen en "fordonet buss standard syftar till att mikrokontroller och enheter att kommunicera med varandra inom ett fordon utan värddator." Dessa enheter kan också betecknas som elektroniska styrenheter (ecu). I huvudsak kan bussen är ett gäng länkade ecu i fordonet att kommunicera med varje baserat på en sändning. Varje ECU fångar upp varje broadcast, men besluta individuellt om att reagera på det eller inte.
Här är ett exempel:
Låt oss föreställa oss det finns en ECU som styr bromsljus, en ECU som styr bil horn och en ECU som styr bromssystemet. När du blåsa horn, horn ECU skickar ett broadcast-meddelande ut på kan bussnät varje ecu den är ansluten till, inklusive bromsljus ECU och bromssystemet ECU. Bromsljus ECU snappar upp att broadcast-meddelande, men väljer att strunta i det eftersom det har ingen betydelse. Bromsljus ECU är egentligen bara väntar på budskapet från bromssystemet ECU. Också, hornen ECU inte reagerar på bromssystemet ECU.
Detta broadcast system är uppdelade i olika komponenter; två viktigaste är meddelande-ID och meddelandedata.
För nu, se meddelande-ID som en ECU adress. Meddelandet är innehållet. Det är vanligen större än ID på runt 8 byte lång.
Här är ett exempel:
meddelande ID: 620
data: 10 80 FF FF 80 20 00 80
Ecu kommunicera med varandra över en tvinnad tråd par hålla kan-hög (kan +) och CAN-låg (CAN-). KAN-hög och låg kan nås via OBD-II-porten under ratten. Detta är hur vi ska få!
Pro tips: Använd en tråd tracer/tone generator till backtrace till andra CAN-Bus åtkomstpunkter inom din bil.
Volkswagen har en bra guide till hur den CAN-Bus nätverk fungerar: http://www.volkspage.net/technik/ssp/ssp/SSP_238.pdf