App to capture data from a Davis Vantage Vue weather station using an RTL-SDR dongle
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Initial commit Dec 30, 2018
LICENSE Initial commit Dec 30, 2018
README.md Create README.md Dec 30, 2018
buffer.go Add the go files Dec 30, 2018
db.go Add the go files Dec 30, 2018
dsp.go Add the go files Dec 30, 2018
main.go Add the go files Dec 30, 2018
sdr.go Add the go files Dec 30, 2018
sensor.go Add the go files Dec 30, 2018

README.md

iss3

App to capture data from a Davis Vantage Vue weather station using an RTL-SDR dongle, written in Go.

Background

When I moved the weather station there wasn't anywhere convenient to locate the large console. As I was mainly interested in the data and it was transmitted wirelessly I opted to try and capture the data using an RTL/SDR dongle. This was my first venture into the world of capturing raw data from the dongle and so the majority of the code contained in this app is very simple and can likely be much improved. I welcome suggestions and comments :-)

Inspiration came from the rtldavis project from Douglas Hall - https://github.com/bemasher/rtldavis

Instead of following the strategy of trying to follow the frequency hopping this app simply uses a single frequency to keep things simpler.

Requirements

I've tried to keep the dependancies to a minimum, but have used a number of go libraries. The liquid DSP processing library is used for the frequency downmixing.

Usage

The app is very simple and if run without any arguments will simply try and gather data from a nearby weather station. Running with the --capture flag will attempt to capture 200 seconds worth of data into a file called capture_868066711.cu8. Using the --replay flag allows you to provide a filename that will be processed. To view all messages processed in real time, use --show.

The only other option is to provide a different database name for storing the messages processed. By default this is records.db and needs to be created to be used.