One very nice thing about the Waveshare 3S UPS is the number of outputs. Along with 5V for the RPi, it has pins for 3.3V, 5V and 12V, making it a power source for the USB hub and for the one small relay used in the shutdown circuit, along with 2 GPIO activated relays, one for shutdown and the other for a dash light.
During design I added 2x 2-pin sockets for 12V and 2x 3-pin sockets for 5V and a signal line tied to GPIO. One 12V socket feeds the hub and one 5V feeds the amplifiers power on signal relay, which found a home above the fuses.
'35 Flatlander
Re: '35 Flatlander
It took the better part of 3 days to get the OBD to show signs of life. The learning here is don't buy cheap shit. Yeah you can get away with it most of the time, but then you lose 3 days. I usually go for second or third cheapest and don't mind spending on quality if it's worth it. But I bought the cheap one.
After the first day I suspected the wired OBD interface was not working right, but had nothing to compare it to. I've never worked with OBD before, hard or software, so had to learn its character from scratch. I'm old enough to have played with AT commands on modems but that was like mid-eighties. The second day I ordered a next.day.delivery unit that was a bit more upscale, if $28 Canadian is upscale.
Today, the third day, the new interface shows up. My head was full of broken.interface.tests so it took a bit to flush the trash out of my few remaining coherent brain cells, but the right combo finally showed up. The correct OBD baudrate setting in main_configuration.json is 38400, and is one of 2 options listed in the ELM327 data sheet https://cdn.sparkfun.com/assets/learn_t ... M327DS.pdf, the other being 9600.
I used Putty on a laptop to troubleshoot the baud. The cheap first interface was erratic at either speed, but the new one spoke right up when queried at 38400. So I swapped it into the workstation and after cold boot was rewarded with a flashing OBD DISCONNECTED that I didn't know was going to be there. Moving it into the truck to test went smooth, with the water temperature telling me it's 17C. More and better testing tomorrow, day 4, after the A.Truck delivers a short USB extension cord.
Also, prior to going hard at baud, I verified the API was in the loop by opening a remote terminal and running OBDQuery.py copied from the github. The cheap unit could get the API to respond with version numbers during the hello handshake but it would stall there, looping through the rest of main(). The new unit is a chatterbox.
The big difference between the 2 units is the cheap one shows up as /dev/ttyACM0 and the new unit as /ttyUSB0. I don't know if this is the point of failure but it's sure a pain in the ass when A/B testing.
The new unit has a HS/MS switch and the default is HS, with the other used for some Fords as far as I know.
Don't buy cheap shit.
After the first day I suspected the wired OBD interface was not working right, but had nothing to compare it to. I've never worked with OBD before, hard or software, so had to learn its character from scratch. I'm old enough to have played with AT commands on modems but that was like mid-eighties. The second day I ordered a next.day.delivery unit that was a bit more upscale, if $28 Canadian is upscale.
Today, the third day, the new interface shows up. My head was full of broken.interface.tests so it took a bit to flush the trash out of my few remaining coherent brain cells, but the right combo finally showed up. The correct OBD baudrate setting in main_configuration.json is 38400, and is one of 2 options listed in the ELM327 data sheet https://cdn.sparkfun.com/assets/learn_t ... M327DS.pdf, the other being 9600.
I used Putty on a laptop to troubleshoot the baud. The cheap first interface was erratic at either speed, but the new one spoke right up when queried at 38400. So I swapped it into the workstation and after cold boot was rewarded with a flashing OBD DISCONNECTED that I didn't know was going to be there. Moving it into the truck to test went smooth, with the water temperature telling me it's 17C. More and better testing tomorrow, day 4, after the A.Truck delivers a short USB extension cord.
Also, prior to going hard at baud, I verified the API was in the loop by opening a remote terminal and running OBDQuery.py copied from the github. The cheap unit could get the API to respond with version numbers during the hello handshake but it would stall there, looping through the rest of main(). The new unit is a chatterbox.
The big difference between the 2 units is the cheap one shows up as /dev/ttyACM0 and the new unit as /ttyUSB0. I don't know if this is the point of failure but it's sure a pain in the ass when A/B testing.
The new unit has a HS/MS switch and the default is HS, with the other used for some Fords as far as I know.
Don't buy cheap shit.