Um gamer americano chamado mryeester pegou seu antigo Honda CR-V 2012, conectou um laptop a ele pela porta OBD2 e o treinou para ler dados dos sensores do carro. Tudo para que o Honda pudesse ser usado como um controle de jogo para corridas.
Fonte da imagem: mryeester
Qualquer carro fabricado após 1996 possui uma porta OBD. Ela geralmente está localizada no lado esquerdo, abaixo do painel. Trata-se de uma interface de diagnóstico universal projetada para identificar e corrigir problemas no carro. Entre outras coisas, ela é usada para extrair dados de vários sensores para obter informações sobre rotação do motor, nível de combustível, etc.
Mryeester conectou-se ao cabo OBD2, acessou a unidade de controle eletrônico do carro e começou a ler os dados dos sensores em um laptop. Por exemplo, ele monitorou a posição do acelerador, que está diretamente ligada ao pedal do acelerador.
Fonte da imagem: mryeester
Para “traduzir” as leituras analógicas em um sinal digital para o computador, foi necessária a biblioteca Python pySerial. Com a ajuda dela, ele “extraiu” o PID (identificador de parâmetro) necessário para a válvula borboleta do fluxo e escreveu um script que converte os dados do pedal em valores compreensíveis para o computador. O autor não divulgou os detalhes exatos do código.
Fonte da imagem: mryeester
Assim que o script começou a coletar dados em tempo real, eles foram salvos em um arquivo JSON. Esse arquivo foi então monitorado por uma ferramenta de automação separada. Usando o AutoHotkey, o blogueiro criou um segundo script que simulava o pressionamento de um botão físico sempre que os valores nesse arquivo mudassem. Assim que o “trigger_value” no JSON ultrapassava a marca de 0,2, o script “pressionava” a barra de espaço no sistema. No emulador Need for Speed, a barra de espaço é atribuída ao pedal do acelerador — então o pedal real se tornou um acelerador virtual.
Fonte da imagem: mryeester
Para usar o esquema, basta abrir qualquer emulador ou jogo com teclas personalizáveis, vincular o gás à barra de espaço e executar o script AutoHotkey.
Em seguida, mryeester também conectou o volante do Honda CR-V ao computador. O cara conseguiu acesso aos sensores ocultos do volante e, da mesma forma, os interceptou no emulador Dolphin.