Hi Luc
I re-compiled the code with the frequencies you provided and here is what I
get:
pi@raspberrypi:~/work/src/github.com/lheijst/rtldavis $
$GOPATH/bin/rtldavis -tf US
17:53:20.344708 rtldavis.go VERSION=0.7
17:53:20.345197 tr=1 actChan=[0] maxChan=1 *transmitterId=0 msgIdToChan=[0
9 9 9 9 9 9 9]
17:53:20.345320 idLoopPeriods=[2562500000 2625000000 2687500000 2750000000
2812500000 2875000000 2937500000 3000000000]
17:53:20.346105 BitRate: 19200
17:53:20.346146 SymbolLength: 14
17:53:20.346184 SampleRate: 268800
17:53:20.346216 Preamble: 1100101110001001
17:53:20.346249 PreambleSymbols: 16
17:53:20.346282 PreambleLength: 224
17:53:20.346315 PacketSymbols: 80
17:53:20.346350 PacketLength: 1120
17:53:20.346385 BlockSize: 512
17:53:20.346419 BufferLength: 2048
Found Rafael Micro R820T tuner
17:53:20.758912 main.go:157: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
Exact sample rate is: 268800.001367 Hz
17:53:20.940735 Init loopTimer and wait for messages on channel 0:
loopTimer=273064896 idLoopPeriods=2562500000 loopPeriod=133250000000
17:55:34.192393 ID:0 packet missed
17:55:34.192703 Init channels: wait for messages
17:55:34.193092 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
17:57:47.443103 ID:0 packet missed
17:57:47.443399 Init channels: wait for messages
17:57:47.443576 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:00:00.694699 ID:0 packet missed
18:00:00.694871 Init channels: wait for messages
18:00:00.695034 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:02:13.945499 ID:0 packet missed
18:02:13.945600 Init channels: wait for messages
18:02:13.945712 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:04:27.196393 ID:0 packet missed
18:04:27.196494 Init channels: wait for messages
18:04:27.196609 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:06:40.448300 ID:0 packet missed
18:06:40.448578 Init channels: wait for messages
18:06:40.448853 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:08:53.699277 ID:0 packet missed
18:08:53.699556 Init channels: wait for messages
18:08:53.699750 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:11:06.950125 ID:0 packet missed
18:11:06.950282 Init channels: wait for messages
18:11:06.950434 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:13:20.201020 ID:0 packet missed
18:13:20.201119 Init channels: wait for messages
18:13:20.201224 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:15:33.451275 ID:0 packet missed
18:15:33.451373 Init channels: wait for messages
18:15:33.451568 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:17:46.702804 ID:0 packet missed
18:17:46.702904 Init channels: wait for messages
18:17:46.703019 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:19:59.953423 ID:0 packet missed
18:19:59.953521 Init channels: wait for messages
18:19:59.953629 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:22:13.205513 ID:0 packet missed
18:22:13.205786 Init channels: wait for messages
18:22:13.205979 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:24:26.457365 ID:0 packet missed
18:24:26.457797 Init channels: wait for messages
18:24:26.458104 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:26:39.708999 ID:0 packet missed
18:26:39.709160 Init channels: wait for messages
18:26:39.709310 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
18:28:52.959658 ID:0 packet missed
18:28:52.959891 Init channels: wait for messages
18:28:52.960037 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902381897
FreqError:0}
Thanks
Rich
On Sunday, March 3, 2019 at 2:33:07 PM UTC-5, Luc Heijst wrote:
>
> Recently my attention was brought to a SDR tool for receiving wireless
> sensor data (TFA IT+ KlimaLogg Pro, LaCrosse, WeatherHub). See:
> https://github.com/baycom/tfrec.
>
> I wrote a weewx driver which parsed and stored the tfrec data of my 9
> KlimaLogg sensors. The weewx driver can be found here:
> https://github.com/matthewwall/weewx-tfrc
>
> After this success I searched for a package that reads the radio data of
> Vantage Pro weather stations with a (cheap) RTL-SDR dongle and found: the
> rtldavis package on: https://github.com/bemasher/rtldavis.
>
> With this package were a few problems:
> 1. The development of the package stopped three years ago.
> 2. The set of European frequencies appeared not to be useful.
> 3. The package could only handle one transmitter (at a time).
> 4. The package is written in GO. Not a big issue, but the GO language is
> new for me.
>
> With two Vantage Pro2 systems, an anemometer station and a leaf-soil
> station the challenge was to get this package concurrently working for more
> than one transmitter (four in my case).
>
> With some modifications of main.go and protocol.go and trial and error I
> could find a reasonable set of the European frequencies which are used in
> the frequency hop sequence.
> The next step was to get the data of more than one sensor wich each its
> own hopping timing.
> The last step will be to parse the data packets and store the data in
> Weewx. This part is easy because this was already done by me via the
> parsing of the raw meteostick data in the weewx-meteostick driver, see:
> https://github.com/matthewwall/weewx-meteostick.
>
> The hopping mechanism has some prograss today. The principle is as follows.
> 1. Wait long enough on a fixed frequency until you have seen at least one
> message of each transmitter. For the five EU frequencies this process takes
> 17 seconds or less. For the 51 US frequencies this will take about ten
> times as much time.
> 2, Calculate with help of the lastVisitedTimes of all transmitters what
> the nextVisitTimes (in the near future) will be and how many hops would be
> needed to get here.
> 3. Detect the smallest nextVisitTime. This will be of the transmitter
> which follows first.
> 4. Calculate the hop channel for this transmitter.
> 5. Calculate the loopPeriod for this transmitter. In case the signal of
> this transmitter is missed we don't want to wait too long and miss packets
> of other transmitters too.
> 6. Start the hop process and wait for new data.
>
> I combined the weewx-sdr and weewx-meteostick drivers fr this weewx-rtld
> driver.
> The results so far:
>
> The first 1000 messages were read with the new driver.
> Average percentage of received signals is 94,8 %, see table.
>
> ok missed tot pctGood
> 341 19 360 94,7
> 335 16 351 95,4
> 324 20 344 94,2
> ---- -- ---- ----
> tot 1000 55 1055 94,8
>
> The FreqError in general varies between -1000 and +1000.
> When abs(FreqError) > 10000 the weewx-rtld driver will restart program
> rtldavis.
>
> For a comparison between the Meteostick and rtld driver data see:
> http://www.lucdesign.nl/_weewx/bootstrap_rtld/hour.html
>
> There is one challence left: how to get local barometer data in my
> Raspberry PI?
> I could use a BMP280 pressure/temp sensor... so, more to come.
>
> Cheers, Luc
>
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.