I love the idea of simplifying hookup/integration. What are you writing this in? I would like to make an esp32/arduino version of this library for fast boot times and low power draw. Heck, just documenting the PIDs is awesome.
Some pie in the sky ideas:
- virtual ignition signal
- battery voltage
- specific door open status for lighting control
- oem cabin lighting status/control
- display alerts on dash/trigger alarms (grey water tank full, you're still plugged into shore power!)
- prevent ignition/drive (same reason as above)
- gas tank level (if this available when the car is off, it would make a great way to have a configurable threshold for a gasoline-based heater)
- gps coordinates (one less thing on the roof)
- head unit control (next track, volume up/down etc)
- interior/exterior temperatures (probably only useful if it is available when off)
- lock/unlock/remote start (battery low? Run until topped off)
I realize some of this would require some very proprietary info or access to a different data bus. There may be more to glean at https://developer.ford.com/
, but it looks like they lock much of the obd stuff behind a firmware blob.
The other option I have been pondering is some sort of interface with an idatalink product
to handle the heavy lifting, but I can't find anything about their own serial data protocol.
My implementation is split between a Raspberry Pi 3B+ and an Arduino board that plugs directly into the Pi. I'm thinking it might work with only an ESP32 board but haven't taken the time to research it.
As I've mentioned before, I'm working on putting together an easy to use library based on SocketCAN, so anything with that and some additional interface hardware would work.
As for your list, most of that is covered:
Ignition - almost certainly, need to verify
Battery voltage - yes
Specific doors - probably, but this is on MS-CAN and I don't currently have it connected to verify
Cabin lights - probably, same as above
Dash alerts - that one is harder but not outside the realm of possibility, certainly something I'll look at
Prevent ignition/drive - unlikely, that's a high expectation [EDIT: after some consideration, maybe there's a security mode that could be enabled to prevent start, research required]
Fuel level - Yes, but only with key on. Same holds true for just about any CAN communication we're interested in. That system draws a LOT of power and wouldn't last long without power input.
GPS Co-ords - probably, I've seen PIDS related to this but don't have GPS integrated into my own van to test. Things like this will require volunteers to test in the future.
A/V control - maybe, there's a third bus that a lot of this runs on and I haven't looked at it in detail yet
Temperatures - yes, but again only key on
Lock/unlock/start - maybe, but I think only start for models with a start button, which mine isn't. Locking and unlocking may require two additional connections, as I haven't had success on that front using only CAN.