Taula de continguts:
- Pas 1: Configuració i connexió del maquinari
- Pas 2: instal·leu el programari a l'Arduino
- Pas 3: connecteu-lo i comenceu a recuperar dades
- Pas 4: les dades i el seu significat
- Pas 5: mireu el vídeo
Vídeo: Hacking de Seeed Studio CAN-BUS V2.0 - Introducció: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Aquest instructiu està pensat per a principiants que ja coneixen Arduino. El coneixement inicial per tirar endavant sempre suposa un dolor i un temps en qualsevol projecte. Però fins que no conegueu el vostre camí gairebé sempre desitgeu tenir algú que us mostri els conceptes bàsics.
En aquest instructiu, us retornarem algunes dades CAN-BUS del vostre vehicle.
I no us preocupeu! Arribaré fins al punt sense divagar i utilitzar paraules buzz per fer-me sonar com un hacker intel·ligent:-)
Personalment recomano els escuts CAN-BUS de Seeed Studio. Realment no puc parlar per cap de les altres marques, però el CAN-BUS Shield de SeeedStudio m’ha servit molt bé.
Nota important: el blindatge del can-bus és obligatori. Vaig fer aquesta nota perquè sovint es pregunta si heu d’utilitzar un escut CAN-BUS. El blindatge té un MCP2515 (controlador CAN) i un MCP2551 (transceptor) que processaran les dades CAN-BUS al port sèrie del vostre Arduino.
El maquinari requerit.1. Arduino UNO: qualsevol arduino compatible serà suficient. He utilitzat aquest
2. Escut CAN-BUS de SeeedStudio. L’he aconseguit directament de SeeedStudio aquí teniu l’enllaç
3. Alguns cables per accedir al CAN-BUS
4. un vehicle del qual podeu recuperar dades
El programari requerit1. ID Arduino, Duh! Viouslybviament:-)
2. Biblioteca CAN-BUS de SeeedStudio. Descarregable des de GIT Hub
Alguna informació vital addicional si teniu ganes de llegir més sobre l’escut CAN-BUS de SeeedStudio.
Comencem!
Pas 1: Configuració i connexió del maquinari
Comencem per la part més difícil. Hem de trobar un lloc al vostre vehicle on puguem accedir al CAN-BUS. Aquí no puc fer molt per vosaltres, heu d’esbrinar-ho per vosaltres mateixos. En el meu cas, vaig tocar el CAN-BUS a través de la ràdio. Sí! la ràdio. Els vehicles amb àudio integrat del cotxe solen configurar la il·luminació de la pantalla estèreo del cotxe en funció de la configuració dels fars del vehicle per conduir de nit. Normalment es fa mitjançant el CAN-BUS interior.
He utilitzat un cable d’extensió USB que té un extrem USB i una femella USB. Així que simplement el vaig tallar per la meitat i després vaig soldar el costat femení al connector de la ràdio. És possible que vulgueu comprar un connector femella masculí per al vostre tipus de ràdio, de manera que no haureu de connectar-vos al cablejat del vostre vehicle i anul·lar la garantia o potencialment causar un risc d'incendi.
I després la part masculina que vaig connectar a l’escut CAN-BUS de SeeedStudio tal com es mostra a la imatge. D'aquesta manera puc connectar / desconnectar quan sigui necessari.
Consell: utilitzeu filferro vermell per a CAN-H i negre per a CAN-L
Pas 2: instal·leu el programari a l'Arduino
Descarregueu la biblioteca SeeedStudio des del wiki CAN-BUS de SeeedStudio.
github.com/Seeed-Studio/CAN_BUS_Shield
Instal·leu la biblioteca tal com es mostra a les imatges.
Des de l’IDE Arduino, seleccioneu Sketch Include Library - Add.zip Library.
Després d'afegir la biblioteca, tanqueu l'IDE Arduino i torneu-lo a obrir. Ara podreu carregar alguns exemples del menú Fitxer Exemples de fitxers Escut CAN-BUS Receive check
Per a aquest tutorial, carregueu l'exemple de comprovació de recepció.
Important!
A continuació es requereix una prova i un error.
Vaig utilitzar el meu Jeep JK 2010 Rubicon per recuperar dades i el seu bus interior funciona a 125Kbs.
A la secció de configuració on es llegeix
mentre (CAN_OK! = CAN.begin (CAN_500KBPS)) l'he hagut de canviar a
mentre que (CAN_OK! = CAN.begin (CAN_125KBPS))
Si us equivoqueu, no podreu recuperar dades llegibles. En la majoria dels casos, inclòs el meu, el vostre vehicle passarà a ser bonker. És a dir, el cúmul s’il·lumina com un arbre de Nadal i els eixugaparabrises començaran a moure’s. perquè el blindatge del bus de llaunes està corrompent el bus.
Pas 3: connecteu-lo i comenceu a recuperar dades
Abans de connectar-vos, feu un control sanitari abans de connectar-lo al vehicle. L'últim que voleu fer és enviar energia al CAN-BUS que potencialment bufa l'ECU del vostre vehicle.
No vaig fer cap comprovació de seny i només després de comprendre que no rebia dades, vaig veure que vaig connectar l'USB de l'ordinador portàtil directament a l'alimentació USB de l'Arduino. Per sort no va passar res.
A les imatges d’aquest pas he utilitzat el meu portàtil Lenovo carregat amb Linux Mint. Si no és gruixut, podeu utilitzar qualsevol sistema operatiu per connectar-vos al port sèrie del vostre Arduino, 1. Configureu el portàtil del vehicle i engegueu el blindatge CAN-BUS Arduino amb un cable USB.
2. Inicieu Putty o Arduino serial Monitor (prefereixo Putty), quan estigui connectat hauríeu de veure un missatge a la consola serial que us indica que va aconseguir inicialitzar el blindatge Can-Bus.
3. Engegueu el vehicle. No s’ha d’iniciar sempre que la tecla estigui en posició d’encès.
4. Connecteu l'Arduino al CAN-BUS. En el moment en què estigui connectada, les dades començaran a transmetre’s a la consola.
Pas 4: les dades i el seu significat
Quan es recuperin les dades, les bolcarà al format HEX següent.
Identificador, BIT1, BIT2, BIT3, BIT4, BIT5, BIT6, BIT7, BIT8
La identificació sol representar un node del vostre vehicle.
Fem un exemple senzill. (El següent es compon i no és real, només un exemple)
ID de node d'aire condicionat = 0x402 APAGA L'AIRCON = 13 ACTIVA L'AIRCON = 14 CONFIGUEU EL SOPLADOR D'AIRCON A BAIX = 7C CONFIGUEU EL SOPLADOR D'AIRCON A MEDI 8C CONFIGUEU EL SOPLADOR D'AIRCON A 9C ALT
Per tant, si activem l'Aircon i el configurem en mitjà, el missatge tindrà un aspecte semblant a aquest: 0x402, 13, 8C
el mateix passa amb altres nodes, exemple Bloqueig central ID de bloqueig central = 0x503 LOCK totes les portes = 14
Per tant, si premeu el botó per bloquejar totes les portes, el missatge quedarà així
0x502, 14
Algunes notes addicionals.
Alguns missatges estan basats en l'estat i alguns o momentàniament.
Exemple 1. Llums frontals com accionats per l’estat. Quan configureu un commutador al vehicle a una posició específica, el node continuarà emetent el missatge una i altra vegada. Si hagués d’interferir amb el CAN-BUS, envieu un missatge per apagar els llums frontals. S’apagarà breument i es tornarà a engegar perquè el node on està configurat l’interruptor per encendre els fars tornarà a enviar un missatge per activar-lo.
Exemple2. Omet les pistes de la unitat principal de ràdio. quan premeu un botó i un botó momentani que farà que el circuit es trenqui immediatament quan el deixeu, s'enviarà un missatge per saltar la pista i mai més fins que no ho demaneu, torneu a prémer el botó.
Normalment els botons momentanis són els més útils perquè podeu controlar les funcions del vehicle enviant una sola ordre sense tenir la preocupació que la vostra comanda estigui escrita per sobre. Quan les funcions basades en l'estat se sobreescriuran indefinidament.
Alguns consells i idees
En veure que ara podeu bolcar les dades, podeu utilitzar-les per crear els vostres propis circuits Arduino que reaccionaran basant-se en els missatges. Consulteu el CAN-BUS. per exemple. Suposem que instal·leu després dels llums spot del mercat. Sense haver d’excavar el cablejat existent, podeu instal·lar els fars de manera independent i activar-los només quan l’Arduino detecti un missatge al CAN-BUS.
Enviament de dades al CAN-BUS
Si heu seguit les instruccions al principi d’aquest instructiu, heu instal·lat les biblioteques SEEEDStudio. A l’IDE Arduino hi ha algun exemple que podeu provar.
Conèixer l'identificador i el missatge CAN0-BUS del node amb el qual voleu interactuar.
Malauradament, aquesta no és una tasca molt fàcil. Però aquí teniu una idea. Utilitzeu la funció de registre de Putty i buideu totes les dades de sessió per arxivar-les. Deixeu que Arduino supervisi el bus de llaunes uns 5 minuts i deseu la sessió.
A continuació, inicieu una nova sessió i comenceu a descarregar les dades. Però aquesta vegada mentre es descarreguen les dades, premeu un botó. No premeu més d'un botó. Premeu el botó un parell de vegades per garantir que ha capturat el botó.
A continuació, utilitzeu algun tipus d’eina de comparació i compareu el fitxer per detectar les diferències. Excel funciona molt bé per a això.
Podeu provar alguns codis
Si teniu el mateix model de Jeep 2010 Rubicon que jo (estic segur que el següent també funcionarà per als models '07, '08', 09)
Podeu provar els missatges següents. Carregueu els exemples d’enviament des del menú d’exemples d’Arduino i el canvi va ser rellevant.
Engage Locker posterior: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);
Intermitent esquerre activat: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);
Intermitent dret activat: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);
ESP On / OFF: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);
En la meva propera instrucció, enviaré algunes dades al CAN-BUS del meu Jeep per demostrar com podeu interferir-hi.
Bona sort!
Pas 5: mireu el vídeo
Mireu el vídeo per obtenir més bondat CAN-BUS.
Recomanat:
Hacking de bancs d’alimentació USB a Power Arduino: 6 passos
Com piratejar els bancs d’alimentació USB per alimentar Arduino: utilitzar bancs d’alimentació econòmics per alimentar els circuits Arduino és molt frustrant amb els seus circuits d’apagat automàtic de baixa intensitat. 30-40 segons. Modifiquem un Ch
Sweepy: el programa de neteja Studio & Forget It Studio: 10 passos (amb imatges)
Sweepy: the Set It & Forget It Studio Cleaner: Per: Evan Guan, Terence Lo i Wilson Yang Introducció & MotivationSweepy, el netejador d’estudis, va ser dissenyat en resposta a les condicions caòtiques de l’estudi d’arquitectura deixat pels estudiants bàrbars. Cansat del desordenat que està l'estudi durant la revisió
Seeed LoRa IoTea Solució: 5 passos
Seeed LoRa IoTea Solution: un sistema automàtic de recollida d’informació aplicat a les plantacions de te. Forma part de la recopilació d'informació agrícola intel·ligent
Seeed IoTea LoRa Solution (Actualització 1811): 5 passos
Solució Seeed IoTea LoRa (actualització 1811): Internet + és un concepte popular ara. Aquesta vegada hem provat Internet i l'agricultura perquè el jardí del te creixi a Internet
Seeed IoTea LoRa Solution (amb Azure, actualització 1812): 5 passos
Seeed IoTea LoRa Solution (amb Azure, actualització 1812): Microsoft Azure és un servei al núvol que proporciona una potència informàtica més potent i estable. Aquesta vegada hem intentat enviar-hi les nostres dades IoTea