Reading from USB device

I have some limited experience with Arduino, but I'm looking for some guidance on a specific problem.

I'm hoping to read data from the Ford Reference Vehicle Interface (VI).

https://www.itead.cc/wiki/Vehicle_Interface
http://vi-firmware.openxcplatform.com/en/master/platforms/ford.html

It exposes the data via Bluetooth and a Micro USB port. I'd prefer wired to wireless, hence a preference for USB over Bluetooth. I've written data via serial on an Arduino before, but it's always been as the USB client.

I'd like to do this using an ESP32. Do I really need to build / buy additional circuitry to provide a USB host interface for the ESP32 so it can talk to the VI?

Failing that, would it be easier / possible to solder some extra wires onto the board inside (http://vi.openxcplatform.com/electrical/sources/vehicle-interface.sch.pdf) to hit TX/RX directly and communicate via Serial that way? It looks like pins 62 & 63 (P0.15/TXD1/SCK0/SCK and P0.16/RXD1/SSEL0/SSEL) might have the data I need.

Or I'm totally thinking about this wrong and there's an easy route staring me in the face.

Thank you for any guidance - I'm doing my best to learn fast as I go!

I'd prefer wired to wireless, hence a preference for USB over Bluetooth.

but

I'd like to do this using an ESP32.

The ESP32 is the ultimate wireless device but it's quite bad at wired connections. So this specification is quite schizophrenic.

Failing that, would it be easier / possible to solder some extra wires onto the board inside (http://vi.openxcplatform.com/electrical/sources/vehicle-interface.sch.pdf) to hit TX/RX directly and communicate via Serial that way? It looks like pins 62 & 63 (P0.15/TXD1/SCK0/SCK and P0.16/RXD1/SSEL0/SSEL) might have the data I need.

What are you trying to achieve? What should be the sink of all that data you read from your car? A display? A PC?
And yes, on pin 62/63 you can read the Bluetooth stream directly which is much easier to read on the ESP32 if you really want that MCU.

Thanks for responding. A little more context that might help make my plan make more sense.

We're full-time RVers, and the vehicle data I'm trying to read is from the tow vehicle (our Ford F-150). The sink for that data is an Intel NUC in our travel trailer - injected to InfluxDB via MQTT and Node-RED.

The ESP32 will send this data over WiFI to the Intel NUC in the trailer via MQTT. If the trailer is not within range, it will buffer the data locally until the WiFi becomes available. I haven't decided yet whether to persist it in the flash memory on the ESP32 or an SD card - I'll see what the data volumes are like and decide accordingly.

It sounds like my easiest option is to solder some headers onto pins 62 and 63 and read it from serial then? Alternatively I can use Bluetooth I guess, but the ESP32 will be located very close to the Vehicle Interface so connecting wires would be trivial.

The ESP32 will send this data over WiFI to the Intel NUC in the trailer via MQTT. If the trailer is not within range, it will buffer the data locally until the WiFi becomes available. I haven't decided yet whether to persist it in the flash memory on the ESP32 or an SD card - I'll see what the data volumes are like and decide accordingly.

The ESP32 can read the board by Bluetooth and send the data to the NUC by WiFi.

That's the easiest option and you don't have to solder wires onto the board.