Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Esta documentação apresenta uma maneira simples e econômica de hackear o fluxo OBD do carro. Neste estou tentando mostrar a maneira geral de obter as informações do OBD.
Aqui estou usando o Arduino UNO, escudo CAN-Bus (1.2), cabo DB9 para conectar à porta OBD e para programar o IDE do Arduino (o que ajuda a gravar o código no uno com facilidade).
Comecei este projeto para estabelecer o bloqueio automático das portas quando o veículo está atingindo a velocidade de 20 km e enrolar automaticamente todas as janelas quando o carro é bloqueado pelo lado de fora.
Para encontrar os dados produzidos a partir da porta OBD, é necessário analisar e compreender os dados antes de iniciar este projeto. (Necessita de mais paciência e de uma produção contínua).
Aqui a história começa. (Estou experimentando no Hyundai Grand i10, Magna, 2019 - fabricante na Índia, os dados variam de acordo com os fabricantes / variantes, etc.).
Etapa 1: Links de compra de hardware
- Escudo arduino CAN-bus - escudo CAN-bus
- Arduino UNO - Arduino UNO
- Porta OBD para cabo DB9 - Cabo DB9
Etapa 2: organizar hardware, IDE e outras coisas necessárias
Antes de iniciar o projeto, temos que garantir que todo o hardware usado para este projeto deve verificar e fazer o funcionamento conforme o esperado. Portanto, temos que conectar o hardware à porta OBD e garantir que não haja fumaça ou calor desnecessário produzido pelo hardware, então temos que gravar o código de amostra para garantir que o hardware possa ler o fluxo de dados do OBD.
A primeira etapa começa aqui, configure o Arduino IDE na máquina e certifique-se de que as bibliotecas necessárias estejam instaladas nele. Depois de conectar o arduino uno ao computador, selecionamos a porta serial conectada e o tipo de placa no IDE do Arduino.
O código de amostra deve ser baixado do repositório git e gravar o código no Arduino Uno, então conectamos o escudo à porta OBD e iniciamos a leitura do fluxo de dados.
Repositório Git -
github.com/JijovarghesePunalur/CarHacks.git
Você pode obter o código e a biblioteca de amostra para conectar e extrair o fluxo de dados do Can-bus. Depois de clonar o projeto, você pode copiar os arquivos da biblioteca dentro da pasta de arquivos do arduino e executar o processo de compilação e gravação no IDE do arduino.
Antes de gravar o código no Arduino Uno, você deve conectar o arduino ao computador e selecionar a porta serial e o tipo de placa no IDE do Arduino.
Na pasta de exemplo, você pode ver a operação de leitura, operação de gravação e arquivos de mensagem serial, basicamente conteúdo feito usando arquivos de biblioteca comuns. Serial-Message difere do programa Read com base no formato de saída, ou seja, neste projeto eu tentei usar can-utils no Linux para classificar as mensagens recorrentes.
Uso e execução de can-utils, você pode encontrá-lo no arquivo Readme.md de CarHaks.
Etapa 3: Link de vídeo
Este vídeo lhe dará uma ideia exata sobre o fluxo de dados do barramento CAN (porta OBD). Pode ser simples porque incluí apenas informações essenciais.
Etapa 4: Faça você mesmo e surpreenda-se
Escreva de volta para CAN-bus usando os dados extraídos usando Serial Message, isso realmente irá surpreendê-lo. (Você pode encontrar o programa de escrita no repositório, experimente agora).
Você pode controlar tudo conectado com ECU / BCM, só precisa analisar os dados e escrever de volta.
O próximo projeto será baseado neste estudo - Controlando o carro usando o smartphone.