-
Notifications
You must be signed in to change notification settings - Fork 714
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request]: gpsd client support #4009
Comments
This sounds very interesting! |
The package version for gpsd on debian bookworm is 3.22-4.1 from Jan 2021. https://gpsd.gitlab.io/gpsd/NEWS As for gpsd on an ESP32, that's an interesting thought. |
Yeah, should be relatively easy to make this work. For native, it'd just be a config entry in config.yaml, and a different code path in the GPS.cpp code. |
I meant, as client, of course. E.g. if you have some ESP32-based router node which is anyways connected to your wifi for MQTT. |
I'd think that for native, we could get rid of TinyGPS++ and just grab the position/heading/speed/time or other data we want right from gpsd, letting gpsd manage the receiver(s), No NMEA decoding needed. |
Not entirely, no. It's too useful to be able to debug TinyGPS++ on native. But I could see a future where we default to gpsd on native. |
I see your point. |
That issue is probably running out of ram. It takes 4gb to run the full vscode backend reliably. |
Ahh, any chance of cross compiling? |
You can probably get away with running the compile from the command line, using the script in /bin. The pio command can take the -j flag to limit compile threads, if you need it. |
Well it got everything compiled and failed in the ld phase with a bunch of undefined references in PiWebServer.cpp, This is on my Rodk64, so there is probably a missing library unique to the Pi. I'll repeat this on the Pi now that I know how to set up the venv etc. |
Got it all compiled linked and it runs on my Pi3b+. |
Regarding compiling for Arm... Oracle Cloud Services has an extremely generous free tier for Ampere Arm64 instances... I got a lot of stuff on there including a drone.io worker to build containers for Arm64. |
I get the error -7 quite frequently on Meshtasticd. I also get it a decent amount on a Pico W and got a new RAK node recently that is also logging these errors. What is that all about? My googling has failed me. |
Platform
ESP32, Linux Native
Description
gpsd is the de-facto standard for sharing GPS data in Linux network. Implementing a gpsd client into Meshtastic would provide Wifi-/LAN-connected Meshtastic devices which don't have their own GPS with location and time information. I would also consider that useful for Linux native devices which run meshtasticd but want the GPS data also for other applications on the device.
The protocol is trivial. You open a tcp connection to port 2947 and send
?WATCH={"enable":true,"json":true}
. Gpsd will start sending GPS and other data as JSON.?WATCH={"enable":true,"nmea":true}
will get you an NMEA stream.A detailed protocol description and example code are available here: https://gpsd.gitlab.io/gpsd/client-howto.html
The text was updated successfully, but these errors were encountered: