Author Topic: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions  (Read 63868 times)

0 Members and 1 Guest are viewing this topic.

Offline Bushman

  • Forecaster
  • *****
  • Posts: 7549
    • Eagle Bay Weather
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #75 on: July 29, 2014, 10:56:14 PM »
Impressive!  Thanks for sharing.
Need low cost IP monitoring?  http://wirelesstag.net/wta.aspx?link=NisJxz6FhUa4V67/cwCRWA or PM me for 50% off Wirelesstags!!

Offline DeKay

  • Forecaster
  • *****
  • Posts: 399
    • Mad Scientist Labs
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #76 on: July 30, 2014, 12:00:18 AM »
From Scott's wiki page...

Quote
Here's a list of the many blog posts DeKay posted as he was figuring out the Davis protocols.

(Many of the blog titles don't tell you too much)

I LOL'ed.

Glad you were able to make use of the Moteino stuff.  My work on using its flash chip to archive the data will resume once the weather turns crappy again in the fall.

Offline AnOldFella

  • Member
  • *
  • Posts: 16
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #77 on: August 10, 2014, 01:31:18 PM »
DeKay:

I've owned a Vantage Pro 2 since early 2005.  Several years ago, I bought and tried the WeatherLink Data Logger.  I wasn't impressed -- over priced, over promised, under delivered and clunky.  I returned it and told them why, but got no response other than my money back.

I've gotten that itch to have my own real-time weather database again, so thought Davis must have improved on their data logger and software by now.  Not !  Unfortunately, Davis is just milking the same old product with only minor adjustments over the intervening years since I last tried it.

For the rest of the world, technology has marched forward at warp speed.  I'm a bit of a geek and a hardcore DIYer.  I learned how to hack my DirecTivo and my cell phone, so thought maybe I'd see if there was info on the web to do something similar with my weather station.  I've been searching to see if some enterprising soul had finally figured out how to build and set up a link from a Vantage Pro 2 console to a PC without using a WeatherLink Data Logger.  This led me to this forum and your blog.

I've been reading your posts on this topic and have learned a lot from them.  Thank you for sharing your technical knowledge and being such a clear and entertaining writer on a subject that would normally put people to sleep !  As I'm working my way through your posts from the beginning, I've noticed that some of the document links you provide, especially those to davisnet.com, now return "Page Not Found" errors.  I couldn't find where anyone else had noted this, but thought you might want to know.

Offline Scott216

  • Senior Member
  • **
  • Posts: 62
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #78 on: August 10, 2014, 09:22:52 PM »
You may want to read DeKay's last blog post.  He pretty much wraps things up in it.

Offline DeKay

  • Forecaster
  • *****
  • Posts: 399
    • Mad Scientist Labs
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #79 on: August 10, 2014, 10:22:55 PM »
I've been reading your posts on this topic and have learned a lot from them.  Thank you for sharing your technical knowledge and being such a clear and entertaining writer on a subject that would normally put people to sleep !  As I'm working my way through your posts from the beginning, I've noticed that some of the document links you provide, especially those to davisnet.com, now return "Page Not Found" errors.  I couldn't find where anyone else had noted this, but thought you might want to know.

Thanks for the kind words.  Always good to hear from people what have gotten something out of this.

I'm probably the cause of all those broken links.  Davis took a fair bit of material out of circulation when I started writing this stuff up.  Maybe Davis will restore those links someday,  Yeah... maybe I'm a Chinese jet pilot.

Offline AnOldFella

  • Member
  • *
  • Posts: 16
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #80 on: August 14, 2014, 09:10:12 AM »
Quote
I'm probably the cause of all those broken links.  Davis took a fair bit of material out of circulation when I started writing this stuff up.  Maybe Davis will restore those links someday,  Yeah... maybe I'm a Chinese jet pilot.

It's a sad commentary on business in America today that they work so hard to keep their most ardent customers from realizing the true potential of the products they make and sell.

Offline DeKay

  • Forecaster
  • *****
  • Posts: 399
    • Mad Scientist Labs
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #81 on: October 08, 2014, 10:09:51 AM »
This link was posted in a comment on my blog and I had to share it.  This guy has done some phenomenal work in decoding some until-now unknown wireless transmissions.  Want to know the voltage on your supercap?  Wind gust info?  Need more info on rain rates?  This and more can be found here:

http://www.carluccio.de/davis-vue-hacking-part-2/

My hat is off to this guy   =D>

Offline Scott216

  • Senior Member
  • **
  • Posts: 62
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #82 on: October 08, 2014, 10:19:17 AM »
This link was posted in a comment on my blog and I had to share it.  This guy has done some phenomenal work in decoding some until-now unknown wireless transmissions.  Want to know the voltage on your supercap?  Wind gust info?  Need more info on rain rates?  This and more can be found here:

http://www.carluccio.de/davis-vue-hacking-part-2/

I looked at the data coming from my Vantage Pro2 ISS and I didn't see any data for the supercap voltage.  Perhaps it's only available on the Vue. 
I wish he posted this a week earlier, it would have saved me hours of staring at my spreadsheet trying to figure out the seconds between bucket tips.

Next time I'm at my weather station I want to do another test with an Arduino simulating bucket tips to fine tune that formula.  His calculation is a little different then mine.  He did a great job with everything.

Offline Scott216

  • Senior Member
  • **
  • Posts: 62
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #83 on: October 08, 2014, 10:36:32 AM »
I had a rain storm come through my station this morning and I compared the ISS data I'm sending to weather underground against the normal VP2 data (see attached screenshots).  The way my setup works is I'm uploading data to two weather underground stations.  The first gets it's data from the VP2 console using a dongle that's connected to a Hautewind internet appliance (no longer made).  The second uses a Moteino to intercept the wireless ISS data and I have an Arduino program that deciphers the data and uploads it to the second WU station. My Arduino program is currently using the seconds between bucket tips that's being sent from the ISS to calculate the rain rate.  The two charts match up pretty well, not perfectly, but I expect some minor differences.  In a week or two I want to run a bucket tip simulation and compare again between the two WU stations.

Offline rdsman

  • Senior Contributor
  • ****
  • Posts: 249
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #84 on: October 08, 2014, 12:24:17 PM »
Quote

I wish he posted this a week earlier, it would have saved me hours of staring at my spreadsheet trying to figure out the seconds between bucket tips.


I own a Vue and have invested a considerable amount of time in decoding the messages.  Once you get past wind speed, we have very little in common.

Ray

Offline rdsman

  • Senior Contributor
  • ****
  • Posts: 249
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #85 on: October 10, 2014, 05:30:38 PM »
Now that I'm back home, I thought that I would paste some code (rough draft version) for the Rain Rate calculation (in inches) that I did a while back.  It could probably be simplified - but it matches the Vue exactly.....

Code: [Select]

case 0x50:  //  Rain Rate Message.
            data[1] = Radio.read();  //  Incoming Byte 3.
            data[2] = Radio.read();  //  Incoming Byte 4.
            rate = data[2] & 0xF0;   //  rate is a byte.
                 
            switch (rate)
              {
                case 0x00:
                case 0x10:
                case 0x20:
                case 0x30: 
                            temp = rate << 4 | data[1];  //  temp is a word.
                            rainRate = 576.0 / temp;      //  rainRate is a float.
                            break;
                     
                case 0x40:
                case 0x50:
                case 0x60:
                case 0x70:
                            temp = ((rate & 0x30) << 8) | data[1] << 4;
                            if (temp >= 0x3FF0)
                              rainRate = 0.0;
                            else 
                              rainRate = 576.0 / temp;
                            break;   
                                         
            default: 
                            break; 
              }   
            break;


Hope this helps out.
Ray

Offline DeKay

  • Forecaster
  • *****
  • Posts: 399
    • Mad Scientist Labs
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #86 on: October 11, 2014, 12:21:01 PM »
Code: [Select]

case 0x50:  //  Rain Rate Message.
            data[1] = Radio.read();  //  Incoming Byte 3.
            data[2] = Radio.read();  //  Incoming Byte 4.
            rate = data[2] & 0xF0;   //  rate is a byte.
                 
            switch (rate)
              {
                case 0x00:
                case 0x10:
                case 0x20:
                case 0x30: 
                            temp = rate << 4 | data[1];  //  temp is a word.
                            rainRate = 576.0 / temp;      //  rainRate is a float.
                            break;
                     
                case 0x40:
                case 0x50:
                case 0x60:
                case 0x70:
                            temp = ((rate & 0x30) << 8) | data[1] << 4;
                            if (temp >= 0x3FF0)
                              rainRate = 0.0;
                            else 
                              rainRate = 576.0 / temp;
                            break;   
                                         
            default: 
                            break; 
              }   
            break;


I haven't been following this too closely.  So there are two separate messages for rain rate?  Would the same type of station send the two messages, or is one for Vue and the other for VP2?  If the former, does it send either 30 or 70 without interspersing them?

Nice work, BTW.

Offline rdsman

  • Senior Contributor
  • ****
  • Posts: 249
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #87 on: October 11, 2014, 02:07:47 PM »
I think that the VP2 and the Vue are very similar when it comes to rain.  The Type E0 message is the actual bucket tip count, which the console has to keep up with - daily, weekly, etc.  The Type 50 message is the actual elapsed time between bucket tips.  The actual formula is derived from:

57600 * (.01 inches / time)

I think for the mm users it would be:

57600 * (.2 / time) or simply 11520.0 / time.

I haven't found any other message that appears to be determined by rain.
« Last Edit: October 11, 2014, 02:15:56 PM by rdsman »
Ray

Offline rdsman

  • Senior Contributor
  • ****
  • Posts: 249
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #88 on: October 14, 2014, 05:30:03 PM »
Not sure if this will help the VP2 users, but it should enlighten the Vue users.  Try this code somewhere in your scheme:

Code: [Select]

word rawDirection = (radio.DATA[2] << 2) | (radio.DATA[4] & 0x02)  // Using DeKay's numbering scheme
float windDirection = rawDirection * .3515625;

if (windDirection > 360.0 || windDirection == 0.0)
    windDirection = 360.0;


Let me know if it matches your Vue!
Ray

Offline EA1EF

  • Senior Member
  • **
  • Posts: 98
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #89 on: October 16, 2014, 01:20:21 PM »
On RF world one of interest way for easy and cheaper testing are the USB dongles RTL2832U R820T or E4000 thah can buy online fron 7$ and open a waste horizonts for esperiment.

Only need the USB dongle, drivers (for al sistems Android, Windows Linus Raspberry etc etc) and antenna.  Its cheap and easy (step by step guided with drivers).

Many people are receiving with USB dongles and http://www.coaa.co.uk/ software " all move it"...

I thing its a good and popular tool for your poupose.

example where buy
http://www.ebay.com/itm/RTL2832U-R820T-DVB-T-SDR-DAB-FM-USB-2-0-DIGITAL-TV-Tuner-Receiver-Digital-/231071399525?pt=US_Video_Capture_TV_Tuner_Cards&hash=item35ccedbe65

where DIY installation drivers and info
http://www.m9t.co.uk/
http://www.rtl-sdr.com/
etc

where RX software
http://sdrsharp.com/
http://www.rtl-sdr.com/big-list-rtl-sdr-supported-software/


Offline rdsman

  • Senior Contributor
  • ****
  • Posts: 249
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #90 on: October 16, 2014, 01:33:39 PM »
EA1EF:

I already have the dongle and I'm very familiar with SDR#.  I believe this would be an excellent project.  Maybe after I retire...............

Ray

Offline kobuki

  • Forecaster
  • *****
  • Posts: 838
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #91 on: October 25, 2014, 04:40:29 PM »
Well, now that I had some time to permanently hook up my weather station to my home server (and some popular sites) I started looking around and read some of the posts around here. First, Scott216, great work! You've finished a project similar to the one I started last winter. Naturally, I used the heapload of info gathered by the great folks in these forums. Now I have an Envoy instead of a homebreed receiver but I'll eventually finish my old project someday too. I've also created a standalone anemometer transmitter, for which I published the code here. Reading your project wiki I discovered that the ISS/SAT is able to transmit wind gust figures as well, which I ignore now.

Now my question is: how is the ISS calculating the wind gust? @Scott216: how did you calculate it? At one point you had youd own calculator. What kind of information or algorithm is it based on? I want to add this extra piece to my SAT code, making it almost complete. I also recommend you having a peek at my code for the wind vane speed compensation calculations based on material published by Davis itself. Your project doesn't take these error correction figures into account AFAIK.

Offline kobuki

  • Forecaster
  • *****
  • Posts: 838
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #92 on: October 25, 2014, 05:13:18 PM »
In the meantime I realised that my question is a little misdirected at Scott216 since in the SAT I work with different variables. I have direct access to the pulses from the anemometer and can do a lot of different calculations. But my question still hods of course, I'd like to hear some ideas. Naturally, I have my own theory too but that isn't necessarily the one I should follow.

Offline AnOldFella

  • Member
  • *
  • Posts: 16
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #93 on: November 14, 2014, 08:27:30 PM »
This thread and the blog that spawned it has led me to attempt to create a stand alone wireless VP2 data logger that collects the data directly from the ISS and stores it until the unit is plugged into a USB from a computer running Cumulus. 

I purchased a Moteino USB r4 with the integrated RFM69W and flash from LowPowerLab.  I also ordered and am awaiting the arrival of a DS3231 clock chip, BMP180 Barometric pressure/temperature/altitude sensor (BMP085 has been discontinued) and a DHT22 temperature/humidity sensor.  I downloaded DeKay's sketches and libraries as noted in his summary blog posting.  After many false starts, I finally have the Moteino receiving and displaying the ISS transmissions using DeKay's ISSRx sketch and a serial monitor.  Using the wire antenna supplied with the Moteino, I've noticed that about 7 out of every 51 transmissions isn't received by the Moteino.  Is this level of packet loss normal ?  If not, should I be concerned ?

Offline DeKay

  • Forecaster
  • *****
  • Posts: 399
    • Mad Scientist Labs
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #94 on: November 15, 2014, 05:24:11 AM »
This thread and the blog that spawned it has led me to attempt to create a stand alone wireless VP2 data logger that collects the data directly from the ISS and stores it until the unit is plugged into a USB from a computer running Cumulus. 
Awesome!

I purchased a Moteino USB r4 with the integrated RFM69W and flash from LowPowerLab.  I also ordered and am awaiting the arrival of a DS3231 clock chip, BMP180 Barometric pressure/temperature/altitude sensor (BMP085 has been discontinued) and a DHT22 temperature/humidity sensor.  I downloaded DeKay's sketches and libraries as noted in his summary blog posting.  After many false starts, I finally have the Moteino receiving and displaying the ISS transmissions using DeKay's ISSRx sketch and a serial monitor.  Using the wire antenna supplied with the Moteino, I've noticed that about 7 out of every 51 transmissions isn't received by the Moteino.  Is this level of packet loss normal ?
No

If not, should I be concerned ?
Yes

You'd have to give some background on your setup.  Is your ISS quite far away from the Moteino or are there substantial obstructions in the signal path vs. where your console is sighted?  Is it always the same channels or any other pattern to the dropouts?  What is the reported RSSI value?  I think what others have seen is that the reception stats of the Moteino generally hold up extremely well.

By the way, I haven't looked at this stuff in quite a while.  This is a winter(s) project for me.  I do hope to get back to it soon though.  Last I left off was datalogging in my VP2 sketch.  That wasn't working yet, mostly because the flash chip in the real logger is a strange beast.

Offline kobuki

  • Forecaster
  • *****
  • Posts: 838
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #95 on: November 15, 2014, 05:58:28 AM »
@AnOldFella: How is your console signal? Is it in the upper 90%? I'd say 7 out of 51 is not really a big deal (around 14% loss). Keep in mind that he small wire monopole antenna is not as stable and sensitive as the accurately tuned dipole of the console. I've been running such a receiver for more than 7-8 months. It can be disturbed easily by any metallic object in the path of the signal. TBH, I'm receiving 2 stations, an ISS and a SAT, but while the received packet ratio is around 99% most of the time, I get dips for seemingly no reason for hours sometimes, while the console pays no mind and stays at around 95% or more. I'm going to attach a factory-made dipole soon. A hint: put the moteino receiver on a plain metallic surface such as the top of a PC or something. This dramatically helped me gain signal strength (10+ dB).
« Last Edit: November 15, 2014, 04:28:05 PM by kobuki »

Offline AnOldFella

  • Member
  • *
  • Posts: 16
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #96 on: November 15, 2014, 04:23:17 PM »
Quote
Is your ISS quite far away from the Moteino or are there substantial obstructions in the signal path vs. where your console is sighted?

My ISS is mounted on a metal pole about 300' from my VP2 console with only the outer wall of the house blocking the ISS signal.  However, I moved the console to right next to the Moteino while I was testing.  The Moteino will be located about 25' further from the ISS along the same line of sight as the console, but with two more walls intervening.

Quote
Is it always the same channels or any other pattern to the dropouts?

I'm assuming that the 0-50 line #s reported are the 51 channels in the frequency hop sequence.  I ran a test of 16 hop cycles giving 816 packets with 101 lost equaling a little over 12% loss ratio.  The RSSIs were mostly in the -78 to the mid -80s with just a few in the low -100s.  I'm not very  radio or hardware savvy, so I don't know exactly what this represents.  However, I am a numbers guy and the frequencies of the lost packets definitely show some patterns.  More than half the lost packets (53) were concentrated in four frequencies - 28, 29, 36 & 45.  Six more frequencies (10, 12, 20, 26, 40 & 50) accounted for the next quarter (26) of all losses.  The remaining frequencies only had 0-2 lost packets.

Quote
How is your console signal?

I placed my VP2 console next to the Moteino for the testing presented above and put it in diagnostic mode.  Signal strength runs from 27-38 (don't really know what this represents), background noise is solid 9, good packets are almost 100% with 32 bad out of 15300 total.

Quote
Keep in mind that he small wire monopole antenna is not as stable and as sensitive as the accurately tuned dipole of the console.

I've been reading the LowPowerLab Forum thread "Antenna Tutorial or Antennas in a Mote" to learn more about antennas and see what I can do to increase my Moteino reception strength.

Offline kobuki

  • Forecaster
  • *****
  • Posts: 838
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #97 on: November 15, 2014, 04:44:38 PM »
RSSI around -80 dB is OK. It's enough for a good reception with near 100% ratio. However a better antenna is always a good idea.

About the console RSSI values. If we go by the logic in this thread, then the "real" RSSI values of -100..-40 dB are mapped to 20..60 on the console. That would map 27..38 to -89,5..-67,6. I'd say it's close to the Moteino, albeit goes a lot higher. I'd try increasing the antenna gain. For me a metallic surface helped, though I'll ttach a real antenna sometime soon.

Offline AnOldFella

  • Member
  • *
  • Posts: 16
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #98 on: November 16, 2014, 11:53:36 AM »
RSSI around -80 dB is OK. It's enough for a good reception with near 100% ratio. However a better antenna is always a good idea.
Thanks for the info, it means that I'm at least in the ballpark.  I have just enough electrical/radio knowledge to be dangerous, but I'm still capable of learning and mastering new skills. ;)

... For me a metallic surface helped ...
Per your comment, I cut a can lid down to a 78mm radius and placed it under the Moteino.  Should this ground plane be wired to the Gnd ?  If so, what type/length of wire ?

With the can lid centered under the antenna and on a sticky note for insulation the signal is generally running 74-82 with occasional spikes to 85 and very infrequent jumps to 100-109.  Now after 16 hop cycles my error rate is running under 2%.

... a real antenna ...
What do you mean by "...a real antenna..." ?  After market or homemade ?  Since both ends of my system are in fixed positions, it seems that the antenna on the Moteino would work best if it was highly directional over a small arc.  Do you know what type of antenna that would be ?

Offline kobuki

  • Forecaster
  • *****
  • Posts: 838
Re: A Walk on the Wireless Side: Deciphering ISS to Console Transmissions
« Reply #99 on: November 16, 2014, 12:13:40 PM »
Well, the interesting thing is that my metallic surface is just the top of the server-pc I've put the breadboard on, so no intended direct connection to the PC case. It's not meant to be a ground plane, but to some extent, it might pose as one, since the USB ground (and thus tme Moteino's ground) is probably galvanically connected to the PC case for grounding. It increased my RSSI, however, purely by experience. I'm by no means an antenna expert, but I think it would worth a try to connect your disc to the ground of the moteino to create a ground plane.

OTOH, I call "real antenna" one that has been tuned and tested either by factory (I have several 868 MHz rubber ducky dipoles laying around) or made with a little more precision than cutting a small wire to size :) Of course, a home made dipole with proper 50 Ohms connection should be equally good. Another attempt at a dipole could be soldering a wire to GND on the opposite side of the Moteino where the antenna is sticking out on top. It should be the same length as the monopole wire and the 2 together would be forming a dipole.

But anyway, error rate of 2% is pretty good already!

 

anything