CLI GPSD Client
Project description
pindrop
Requirements
- gpsd
- gps dongle
Setup
I'm using this tool in an old vehicle to track it's location. However, it can be used for many applications! This is just a command line wrapper for the gpsd-py3 library, which in effect is a gpsd client library. Gpsd is the server that is handling the serial communication from the modem, and will still have to be set as such. There are plenty of tutorials to set up gpsd, here is one that I find useful.
Once gpsd is successfully set up, install whereami's dependencies.
Install with pip
pip3 install gpsd-pindrop
or
Clone this reposiitory and run:
pip3 install -r requirements.txt
Operation
usage: pindrop.py [-h] [--loc] [--lat] [--lon] [--map] [--alt] [--speed]
[--climb] [--weather] [--addr] [-v] [-a]
CLI GPSD Client
optional arguments:
-h, --help show this help message and exit
--loc get location as lat/lon pair
--lat get latitude in decimal format
--lon get longitude in decimal format
--map get link to your location on a map
--alt get altitude in meters
--speed get speed in m/s
--climb get climb in m/s
--weather get weather at location
--addr get address from lat/lon (requires internet)
-v, --verbose increase verbosity
-a, --all display all location information
Example output:
For all possible output printed in a nice way, use the -a flag for all output
pi@carbox:~ $ pindrop -a
*****
*******
*** ***
*** ***
*** ***
*****
***
*
Pindrop
Lat,Lon: (48.4363038, -69.979379213)
Alt: 234.708 m
Speed: 0.0 m/s
Climb: 0.0 m/s
Time (UTC): 2020-02-12T20:09:53.000Z
Address:
123, street , County, State, ZIP, Country
Weather:
\ / Clear
.-. 33 °F
― ( ) ― ↓ 0 mph
`-’ 9 mi
/ \ 0.0 in
View Here: http://www.openstreetmap.org/?mlat=48.4363038&mlon=-69.979379213&zoom=15
For terse output, you can limit your check:
pi@carbox:~ $ pindrop --alt
248.763
For verbose output of a single command, use -v. You can also add multiple flags:
pi@carbox:~ $ whereami --alt --loc -v
Altitude: 245.936m
Lat,Lon: (30.436288299, -23.979343698)
Roadmap
- Completely wrap gpsd-py3 options, all functions and variables covered.
- Allow for many output modes (json, csv, nmea, kml)
- Pass interface path as an argument
- daemon mode
- REST API Endpoint logging feature (will work with my other project, hq, in the future)
- HomeAssistant Logging feature
- database logging feature
geocoding lat/lon to address
Contributions
-
Please contribute! If there's an error let me know -- even better if you can fix it :)
-
A big thank you to anyone who has helped:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file gpsd_pindrop-1.0.4.tar.gz
.
File metadata
- Download URL: gpsd_pindrop-1.0.4.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 852435052462ea1aa042680865bb69423d78b1744fe92e5da23c8f9980a24c4b |
|
MD5 | 5d645b1c87f4aec398cf9b37c3499d70 |
|
BLAKE2b-256 | af1d5794f6cd8f0701b36e967228a885307e4577d2ce98f7d3458dc0f55da765 |