Как установить sh связь с устройством ELM327 OBDII WiFi с модулем ESP32 - PullRequest
0 голосов
/ 24 января 2020

У меня есть проект, в котором мне необходимо разработать приложение с помощью IoT, которое извлекает данные о значении уровня в топливном баке и значении одометра, поскольку эти значения недоступны в обычном OBD, доступном на рынке. Я обнаружил, что ELM327 связывается через WIFI с использованием протокола WLAN и последовательной связи. Но у меня нет идей относительно того, как установить sh эту связь с модулем Arduino esp32. Любые идеи по этому поводу будут очень полезны.

1 Ответ

0 голосов
/ 07 февраля 2020

Вы можете сделать это легко, выполнив правильные шаги:

  1. Обязательно настройте Bluetooth Classi c с помощью "BluetoothSerial.h"
  2. При вызове .begin (), убедитесь, что вы включили второй аргумент (bool true)
  3. . Вызовите .connect ("OBDII") для подключения к вашему ELM327
  4. Убедитесь, что вы отправляете только возврат каретки (без перевода строки!) при отправке команды / запросы к ELM327

Вот простой пример программы (тестировался на моем собственном ELM327 сегодня):

#include "BluetoothSerial.h"


BluetoothSerial SerialBT;


#define DEBUG_PORT Serial
#define ELM_PORT   SerialBT


void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);

  DEBUG_PORT.begin(115200);
  ELM_PORT.begin("ESP32test", true);

  DEBUG_PORT.println("Attempting to connect to ELM327...");

  if (!ELM_PORT.connect("OBDII"))
  {
    DEBUG_PORT.println("Couldn't connect to OBD scanner");
    while(1);
  }

  DEBUG_PORT.println("Connected to ELM327");
  DEBUG_PORT.println("Ensure your serial monitor line ending is set to 'Carriage Return'");
  DEBUG_PORT.println("Type and send commands/queries to your ELM327 through the serial monitor");
  DEBUG_PORT.println();
}


void loop()
{
  if(DEBUG_PORT.available())
  {
    char c = DEBUG_PORT.read();

    DEBUG_PORT.write(c);
    ELM_PORT.write(c);
  }

  if(ELM_PORT.available())
  {
    char c = ELM_PORT.read();

    if(c == '>')
      DEBUG_PORT.println();

    DEBUG_PORT.write(c);
  }
}

Также ELMduino теперь поддерживает платы ESP32 для удобного подключения и запроса данных об автомобиле!

...