So this is going to be about me being pissy after a day of disastrous computing. Feel free to skip it.
A while back I ordered the open vehicle monitoring system. I did this because I would like to control the aircon in our Kia Niro EV without paying $225 per year. Now OVMS cannot currently do that, but I thought I would capture the data OBD data from my car — which has a trial subscription to Kia’s UVO system — when it turns on the Aircon remotely. This…might enable someone cleverer than me to identify how to actually make it work. Or even, it might enable me to identify how to make it work. The easiest way to capture that data is to use the OVMS dongle which is designed to be able to capture data. Unfortunately – in very minor things that COVID has caused, my OVMS unit is stuck in China, somewhere, in a freight unit. And our ‘trial’ of UVO runs out in about 2 weeks.
However, in a moment of clarity I realised that I could* use my existing diagnostic OBD dongle to connect to the car, and log using that. However, I didn’t want to pay for expensive software to replicate what OVMS will be able to do, so it needed to be a cheap-or-free solution.
It started okay.
I had located some free software that could, in theory, talk to an OBD dongle, on linux, and log the data from it for free.
Only slight problem, my Linux laptop didn’t have all the bits installed for it. As is often the case, the more geeky the thing you want to do, the worse the installation and usage instructions are, and the more time you have to spend trying to work out what the author had installed on their system that may — or may not — be necessary to built it, but was included in their build files. And also what was in their head when they wrote the instructions (if they even really exist) to install it.
I finally managed to get all the dependencies installed and it sort of working — insofar as it reported that the dongle isn’t connected — only to realise that my dongle is WiFi not Bluetooth, and so that application wouldn’t work. Then I spent a solid few hours trying to get a different application installed. That had a specific dependency on a deprecated version of an application where I couldn’t find that version. After quite a while I gave up on that application.
Then I thought, well… perhaps a Mac application will talk to the WiFi dongle.
So I got one, and the WiFi section of it doesn’t work.
So while I was sat in the car, I got to argue with the Mac which reports that it has a great connection to our WiFi network, but refuses to do anything. Eventually, I got into a position where I had both WiFi reported and working, and…I got another application, and installed it, and it crashes when it tries to switch to logging.
So then I thought, ha, maybe an Android app will do it.
After much searching and dinking I found that all the apps I can find that have OBD data logging are fucking expensive.
So then I thought, fuck it, I will find the relevant archaic version of this application and install it. Found it. Built it from sourcecode. Installed the fucker. Then found out that the Bluetooth logging app has a bug – only apparent when you get to compiling the application (I mean, it didn’t want to configure, which should have been a warning). That bug means it clashes with newer versions of some part of the OS – and you have to hack up your OS to make it compile properly by futzing with a system variable name. This was getting a bit too far into the territory of potential for breaking the laptop’s OS install – at which point I gave up.
So then I thought… well, I used to have an OBD dongle that was bluetooth – where did it go? And I hunted and hunted, and couldn’t find it. Then I remembered that OBD dongle I got sent heavily discounted because I’d bought a ZUS voltage monitor for my car.
And I got that and put it in the car. And my Android device will connect happily to it.
The mac? Well, it let me enter a PIN and connected, then disconnected, and since then has refused to let me enter a PIN for the dongle, just reporting that the connection failed because the PIN is wrong. Deleting the device did sod all. It just sits in the list and if you press connect, fails.
My Linux laptop (Pinebook) won’t even give me a PIN entry option, despite the manual for bluetoothctl claiming it handles legacy devices that need a PIN. How does it handle them? By not working, it seems.
I thought – hrm – the Linux install on my laptop is a bit old (up to date security patch wise, but not the newest or shiniest kernel). So then I shuffled the cars to put Raven right next to the house (and thus, conveniently close to the room my PC is in). And lo, it appeared on the Bluetooth items list – and… failed to connect.
Because it won’t let me enter a f’king PIN.
And then I gave up.
A whole day of learning – the main point seemingly being – don’t think you’re so fucking clever.
And for an encore I broke a friends WordPress install. Thankfully a fresh install with nothing in it on a VM. But let’s just say I do not feel the most technically competent today.
* Because sometimes I forget how much the world has moved on and I still think I possess more technical competence than I actually do.