mirror of
https://github.com/acaloiaro/roam-location
synced 2026-07-21 10:12:21 +00:00
No description
Remove the in-memory cache from geocode/nominatim.go (cacheTTL, cacheMu, cachedLoc, cacheExpiry) so CityCenter always makes a live request when called. Call frequency is now controlled by the caller rather than a time-based TTL. In the poll goroutine, log the raw GPS coordinates on every cycle. Track the last geocoded position and only call CityCenter on the first fix or when the device has moved more than 5 miles (haversine). WebDAV snapshots are written every poll cycle using the cached city centroid with fresh weather data. |
||
|---|---|---|
| geocode | ||
| gpsd | ||
| service | ||
| weather | ||
| webdav | ||
| .ignore | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| README.md | ||
roam-location
The purpose of this repo is to make my current location available on adriano.fyi. The coordinates from the two services here are used populate the map at https://adriano.fyi/whereami
About
I can't imagine this is useful to many others. This repo consits of a receiver of GPS data and a web service that makes the data avaialble.
Receiver
The receiver receives UDP packets containing NMEA sentences from my Sierra Wireless RV55 router. The sentences are parsed and appended to a log file.
Location Service
The location service simply finds the last location appended to the log file and makes it available as a JSON object over HTTP.
Running
ROAM_LOCATION_DB_PATH=/path/to/nmea_logs.log go run main.go