Hello everyone!

I already posted a first time here a while ago: https://lemmy.world/post/30549957

My goal was to replace my Android Auto + phone setup for satnav in car with a dedicated Raspberry Pi.

Here’s a status update of the project so far!

Choosing the parts and getting them here was obviously fairly easy even though it took quite bit of research to find a way to power the Pi4 in car reliably.

It’s a pi4 with an adafruit ultimate gps dongle, an SD card and a 2.5 SSD. The SD for OS installs, and then I clone them to SSD for better stability and performances.

I first tried to go Pi OS route. I figured Linux might open more possibilities and I’m more comfortable with Linux. I tried a few options in Pi OS, namely Navit. I banged my head quite hard on that one, trying to figure out how to make it work, but I never managed to get a good navit.xml config file. After hours upon hours of trials, I gave up.

Tried Organic Maps then, but it was a flatpak which introduced a lot of permission issues and I never got the GPS dongle to talk to the app.

After a few failed attempts, I decided to try Emteria OS, an android spin available in the Pi Imager. It doesn’t boot without SD card as opposed to PiOS, so I was glad I spent the 5€ for the SD card. It booted easily, SSH was harder to enable than on Linux but it’s likely because I just know Linux better. Installing apps was easy, but I stopped there and didn’t even try to get the GPS working because 90% of my RAM was used idling at boot, which makes the whole project impossible on Emteria. Not sure if there’s a bug in the current version or what, but I simply moved on.

Then I went to LineageOS. Similarly to Emteria, installing apps was very easy. Getting the GPS from Adafruit to talk to Android was fairly easy if you read the docs carefully. I needed to install android dev tools on my main PC and connect to the Pi using ADB as root to edit some config files. That’s it, the GPS worked and I had a working GPS unit.

Now I’m at the point where I need to introduce the package into the car. For now , the pi still doesn’t have a case because I didn’t want to limit my options in the car. I still haven’t found a good way to bring the pi with me and have it being safely transported without breaking or even becoming a deadly cannonball in case of crash.

My current idea that I’m exploring and checking is getting a Pelican Case, not sure if any of their cases has vent holes. The pi would go inside the case, and the case would be attached to a strong anchor point like the seat rails. Not sure how, yet. I’m thinking maybe about carabiners from Petzl since they would be much stronger than needed, I’m just not sure the anchor point on the case would be strong enough.

So there you have it, I’ve made good progress on the project and I’m confident it will work out reasonably well.

  • KaninchenSpeed@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    11 hours ago

    I’m currently doing the same project.

    To get gps to work on linux, you configure gpsd to get the data from your gps module and setup geoclue to get its data from gpsd. I lost the config files but I remember that I did the gpsd geoclue connection by echoing the gps data of gpsd into a netcat socket and connecting geoclue to it. Organic maps then automaticly gets its position from geoclue.

    Im also working on a organic maps fork, which shows onscreen directions on linux.

    • Natal@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      11 hours ago

      I had GPSD working nicely, confirmed both by cgps -s and mongps, but I was stuck on geoclue. Whatever I did, the GPS wouldn’t send data to Organic Maps. I kept having this error: “Error: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Object does not exist at path “/org/freedesktop/GeoClue2/Client/1”” despite being 100% sure client1 was the right one.

      Going to Lineage OS was much easier for me and I just needed a working GPS. Linux GPS will stay in the “challenge todo list”, because I’d like to figure it out eventually. I most likely was doing something stupid.