Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bwolf/gpsd_proto
The `gpsd_proto` module contains types and functions to connect to gpsd to get GPS coordinates and satellite information.
https://github.com/bwolf/gpsd_proto
gps gpsd gpsd-proto protocol rust satellite-information
Last synced: 3 months ago
JSON representation
The `gpsd_proto` module contains types and functions to connect to gpsd to get GPS coordinates and satellite information.
- Host: GitHub
- URL: https://github.com/bwolf/gpsd_proto
- Owner: bwolf
- License: apache-2.0
- Created: 2018-10-09T22:33:20.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-06-25T15:20:40.000Z (7 months ago)
- Last Synced: 2024-10-06T09:46:11.588Z (4 months ago)
- Topics: gps, gpsd, gpsd-proto, protocol, rust, satellite-information
- Language: Rust
- Homepage:
- Size: 70.3 KB
- Stars: 12
- Watchers: 2
- Forks: 8
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gpsd_proto [![Build Status]][travis] [![Latest Version]][crates.io] [![Latest Docs]][docs.rs] [![Coverage Status]][codecov.io]
[Build Status]: https://travis-ci.org/bwolf/gpsd_proto.svg?branch=master
[travis]: https://travis-ci.org/bwolf/gpsd_proto
[Latest Version]: https://meritbadge.herokuapp.com/gpsd_proto
[crates.io]: https://crates.io/crates/gpsd_proto
[Latest Docs]: https://docs.rs/gpsd_proto/badge.svg
[docs.rs]: https://docs.rs/gpsd_proto/
[Coverage Status]: https://codecov.io/gh/bwolf/gpsd_proto/branch/master/graph/badge.svg
[codecov.io]: https://codecov.io/gh/bwolf/gpsd_protoThe `gpsd_proto` module contains types and functions to connect to
[gpsd](http://catb.org/gpsd/) to get GPS coordinates and satellite
information.`gpsd_proto` uses a plain TCP socket to connect to `gpsd`, reads
and writes JSON messages. The main motivation to create this crate
was independence from C libraries, like `libgps` (provided by
`gpsd`) to ease cross compiling.A example demo application is provided in the `example` sub
directory. Check the repository for up to date sample code.# Testing
`gpsd_proto` has been tested against `gpsd` version 3.17 on macOS and Linux with these devices:
- [Adafruit Ultimate GPS Breakout - PA1616S](https://www.adafruit.com/product/746)
- [Quectel EC25 Mini](https://www.quectel.com/product/ec25minipcie.htm) PCIe 4G/LTE Module
- [u-blox MAX-M8Q](https://www.u-blox.com/en/product/max-m8-series)
- GPS mice (Adopt SkyTraQ Venus 8)
- iOS app [GPS2IP](http://www.capsicumdreams.com/iphone/gps2ip/).Feel free to report any other supported GPS by opening a GitHub
issue.# Reference documentation
Important reference documentation of `gpsd` are the [JSON
protocol](http://www.catb.org/gpsd/gpsd_json.html) and the [client
HOWTO](http://catb.org/gpsd/client-howto.html).# Development notes
Start `gpsd` with a real GPS device:
```sh
/usr/local/sbin/gpsd -N -D4 /dev/tty.SLAB_USBtoUART
```Or start [gpsd](http://catb.org/gpsd/gpsd.html) with a TCP stream to a remote GPS:
```sh
/usr/local/sbin/gpsd -N -D2 tcp://:
```Test the connection to `gpsd` with `telnet localhost 2947` and send the string:
```text
?WATCH={"enable":true,"json":true};
```