--
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 weewx-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Impressive, Luc. I admire your persistence!
Switch several of my older dongles to this one: https://www.amazon.com/dp/B01HA642SW/ref=sspa_dk_detail_2?psc=1&pd_rd_i=B01HA642SW&pd_rd_w=JtW8R&pf_rd_p=733540df-430d-45cd-9525-21bc15b0e6cc&pd_rd_wg=fH2H2&pf_rd_r=YKVSGSYAFB36QD0YPV4W&pd_rd_r=2faf93c1-3ed6-11e9-936e-01fa71378c68 . This dongle seems not to drift much at the higher frequencies.
--
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 weewx-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
The python and go programs are ready for alpha-testing.What need to be done is:
- Currently there is no provision for pressure (barometer) data; we need a pressure sensor and code in the driver to read the sensor data
luc, please do NOT put barometer code into any sdr driver. reading pressure from the bme or other pi/arduino-specific hardware does not belong in an sdr driver. it belongs in a separate service.m
The two messages you received should have 0 as second digit (the transmitter id: which should be in the range 0-7), but they are 8 and 9. Those messages. should not have passed the crc check.
Another thing: I could not test the program with the US frequencies, so one or more frequency might be wrong.
The original driver started with a random frequency channel, but mine always starts with channel 0.
I will have to add more debug logging to get an idea what is happening.
More to come.
Luc
The ‘8’ message can be declared, it is channel 0 with the battery-low bit set.
As the hopping is not working for the US frequencies, I believe the frequencies in the program and/or the hopping sequence are wrong.
I will do some research on the internet to try to find better values.
The problem with the internet is that faulty stuff is copied over and over without being looked at seriously and it hides the spare good stuff.
Luc
The US, AU and NZ Davis models hop with 51 different channel frequencies. The EU Davis models hop with only 5 different channel frequencies.
For the first transmitter (with id=0) the hop period is 2.5 + 1/16 second, i.e. 2.5625 seconds.
One channel is this revisited after 51 * 2.5625 seconds (130.7 seconds).
During the init phase I notised long periods before your station message was received on the channel 0.
For EU models this period is much shorter, 5 * 2.5625 is 12.8 seconds.
You might try the following US frequencies.
902381897, 902883656, 903385415, 903887174, 904388933, 904890692,
905392451, 905894210, 906395969, 906897728, 907399487, 907901246,
908403005, 908904764, 909406523, 909908282, 910410042, 910911801,
911413560, 911915319, 912417078, 912918837, 913420596, 913922355,
914424114, 914925873, 915427632, 915929391, 916431150, 916932909,
917434668, 917936427, 918438186, 918939945, 919441704, 919943463,
920445222, 920946981, 921448740, 921950499, 922452258, 922954017,
923455776, 923957535, 924459294, 924961053, 925462813, 925964572,
926466331, 926968090, 927469849,
Replace the US ones in file protocol.go and recompile the program, then start program rtldavis to see if these frequencies are better.
BTW The US hopping sequence is OK.
Luc
FSTEP = FXOSC/2^19
FSTEP = 0.00006103515
I don't see where FSTEP gets converted to Hz.
Rich
h.ChannelIdx = p.hopPattern[p.hopIdx]
h.ChannelFreq = p.channels[h.ChannelIdx]
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-tfrcAfter 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 pctGood341 19 360 94,7335 16 351 95,4324 20 344 94,2---- -- ---- ----tot 1000 55 1055 94,8The 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.htmlThere 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
Both transmitters work with the same sets of frequencies, so it is likely they both fail or succeed at a given frequency.
It is a good idea to start a tread in weewx-development, which I just did, so we can continue from there.
Luc
|
-- You received this message because you are subscribed to a topic in the Google Groups "weewx-user" group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/weewx-user/ZjDVbSmwmZY/unsubscribe. To unsubscribe from this group and all its topics, send an email to weewx-user+...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. |
However, I am still not receiving anything.
Regards
Phil
So what to I have to do to make it work?
Or is it something in the program which you can fix?
No it is not! I decided to keep the rtldavis program and the weewx driver for it in one place. Sorry!
The right link is: https://github.com/lheijst/weewx-rtldavis/archive/master.zip
I will change the readme.
Luc
Trying to run the as a standalone driver but it crashes within 10 seconds.
On Monday, 18 March 2019 20:32:15 UTC-3, rich T wrote:Trying to run the as a standalone driver but it crashes within 10 seconds.
Some progress with the rtldavis program and the weewx-rtldavis driver.
See this thread in the weewx development forum: https://groups.google.com/forum/m/#!topic/weewx-development/jhGleLxu-p0
Luc