Author Topic: Grabbing station packets off the air with USB SDR dongle?  (Read 5954 times)

0 Members and 1 Guest are viewing this topic.

Offline vreihen

  • El Niņo chaser
  • Forecaster
  • *****
  • Posts: 709
  • K2BIG
Grabbing station packets off the air with USB SDR dongle?
« on: December 03, 2015, 06:52:32 AM »
So I have a new Raspberry Pi Zero in my hands.  I've been running DUMP1090 on another Pi for about a month, which tracks aircraft in the local area via ADS-B radio packets received by a cheap USB SDR (software defined radio) dongle.  My plan is to move the setup onto the Pi Zero and put it outdoors where it has a better view of the sky to receive more ADS-B packets.

Last night, I had a thought about this whole setup and how it could also be used for weather apps in a Pi.  The SDR can tune any frequency basically from 28 - 2000 Mhz.  I have used one to listen on the 28 Mhz amateur radio band, and the ADS-B operates on 1090 Mhz.  All of the common Part 15 radio bands used by weather stations for wireless data transfer to their consoles easily fall in range of the SDR, and there are docs available for decoding over-the-air packets for Davis and Acu-Rite (and probably others).  Since the DUMP1090 folks have provided enough code to grab packets from the SDR as a starting point, how much labor would be involved with modifying their work to grab weather station packets and import them into weewx or another WX app?  With the Pi Zero costing $5.00 and SDR dongles going for $15 - $20, the hardware costs would certainly be half of the Acu-Rite bridge and almost an order of magnitude cheaper than the 159 Euro MeteoStick for decoding Davis packets.....
WU Gold Stars for everyone! :lol:

Offline Bushman

  • Forecaster
  • *****
  • Posts: 6690
    • Eagle Bay Weather
Re: Grabbing station packets off the air with USB SDR dongle?
« Reply #1 on: December 03, 2015, 09:25:46 AM »
I had thought the same thing a while back, but the latest low, low cost devices make this a far more reasonable experiment now.  But what about hopping?  How does SDR manage that?

Offline nincehelser

  • Forecaster
  • *****
  • Posts: 2020
    • nincehelser.com
Re: Grabbing station packets off the air with USB SDR dongle?
« Reply #2 on: December 03, 2015, 10:31:07 AM »
It sounds like it's getting easier: http://www.desert-home.com/2015/02/reading-acurite-5n1-sensor-set-this.html

Note his comments about the power needed for the dongles. 

One missing component for a "complete" bridge replacement is a baro sensor, but that could be wired in another way. 


Offline vreihen

  • El Niņo chaser
  • Forecaster
  • *****
  • Posts: 709
  • K2BIG
Re: Grabbing station packets off the air with USB SDR dongle?
« Reply #3 on: December 03, 2015, 07:30:00 PM »
But what about hopping?  How does SDR manage that?

The "S" in SDR is software.  Amateur radio operators are using these things to display waterfall images of a big chunk of a particular band, so they can quickly find what frequencies other stations are transmitting on.  If the hopping pattern is known, I'm pretty sure that it can be coded.

It sounds like it's getting easier: http://www.desert-home.com/2015/02/reading-acurite-5n1-sensor-set-this.html

Note his comments about the power needed for the dongles. 

One missing component for a "complete" bridge replacement is a baro sensor, but that could be wired in another way.

Adafruit has more than one barometer module option for sale.  There's a growing market for altitude measurement for quad copters and high-altitude balloons, and this is an important instrument for both.

His power problem was probably caused by using an earlier Pi with a 1.0A power supply.  My Pi B+ with a 2.0A power supply has no problem running the SDR, a bluetooth dongle, and a wifi dongle all at the same time with no USB hub or extra power.  As much as this sounds like a recipe for RF disaster, the SDR will pick up planes from 30 miles away on the cheesy indoor telescopic antenna that came with the SDR even with the wifi and bluetooth dongles in the neighboring ports on the Pi.  I wouldn't anticipate any power problem with the Pi Zero, because it essentially needs a powered USB hub to be of any use thanks to only having one micro-USB port included.

Great find on the Acu-Rite article that you linked!  If I read it correctly, it appears that he (and rtl_433) has done most of the heavy lifting, and can provide decoded packets that should be simple to feed into weewx or other programs.  I'll have to take a deeper look into this, since rtl_433 may already have support for several other weather station brands.....
WU Gold Stars for everyone! :lol:

Offline vreihen

  • El Niņo chaser
  • Forecaster
  • *****
  • Posts: 709
  • K2BIG
Re: Grabbing station packets off the air with USB SDR dongle?
« Reply #4 on: December 03, 2015, 08:41:56 PM »
From the rtl_433 readme file.  It appears that they have decoded many different vendors' weather stations (except Davis):

Quote
Supported devices:
    [01] Silvercrest Remote Control
    [02] Rubicson Temperature Sensor
    [03] Prologue Temperature Sensor
    [04] Waveman Switch Transmitter
    [05] Steffen Switch Transmitter
    [06] ELV EM 1000
    [07] ELV WS 2000
    [08] LaCrosse TX Temperature / Humidity Sensor
    [09] Acurite 5n1 Weather Station
    [10] Acurite 896 Rain Gauge
    [11] Acurite Temperature and Humidity Sensor
    [12] Oregon Scientific Weather Sensor
    [13] Mebus 433
    [14] Intertechno 433
    [15] KlikAanKlikUit Wireless Switch
    [16] AlectoV1 Weather Sensor (Alecto WS3500 WS4500 Ventus W155/W044 Oregon)
    [17] Cardin S466-TX2
    [18] Fine Offset Electronics, WH-2 Sensor
    [19] Nexus Temperature & Humidity Sensor
    [20] Ambient Weather Temperature Sensor
    [21] Calibeur RF-104 Sensor
    [22] X10 RF
    [23] DSC Security Contact
    [24] Brennstuhl RCS 2044
    [25] GT-WT-02 Sensor
    [26] Danfoss CFR Thermostat
    [27] Energy Count 3000 (868.3 MHz)
    [28] Valeo Car Key
    [29] Chuango Security Technology
    [30] Generic Remote SC226x EV1527
    [31] TFA-Twin-Plus-30.3049
    [32] Digitech XC0348 Weather Station
    [33] WT450
    [34] LaCrosse WS-2310 Weather Station
    [35] Esperanza EWS
    [36] Efergy e2 classic
    [37] Inovalley kw9015b rain and Temperature weather station
    [38] Generic temperature sensor 1
    [39] Acurite 592TXR Temperature/Humidity Sensor and 5n1 Weather Station

Guess that my "revelation" is actually yesterday's news..... :(
WU Gold Stars for everyone! :lol:

Offline nincehelser

  • Forecaster
  • *****
  • Posts: 2020
    • nincehelser.com
Re: Grabbing station packets off the air with USB SDR dongle?
« Reply #5 on: December 03, 2015, 08:57:19 PM »
Acurite has released some new sensors if you want to add to the list of devices.

I suspect these will eventually be supported by the AcuLink bridge, but for now they aren't.

http://www.acurite.com/room-monitor-00276rm.html


Offline Bushman

  • Forecaster
  • *****
  • Posts: 6690
    • Eagle Bay Weather
Re: Grabbing station packets off the air with USB SDR dongle?
« Reply #7 on: December 04, 2015, 10:21:45 AM »
Is this not what you are looking for?

http://www.wxforum.net/index.php?topic=18112.0;topicseen

Not really I think.  Isn't the idea of SDR to skip the console (rx) entirely?

Offline vreihen

  • El Niņo chaser
  • Forecaster
  • *****
  • Posts: 709
  • K2BIG
Re: Grabbing station packets off the air with USB SDR dongle?
« Reply #8 on: December 05, 2015, 04:02:01 PM »
In case anyone was curious, I chased all of the pre-requisite packages down and built rtl_433 on the Pi Zero.  I followed the desert-home instructions, but grabbed rtl-sdr and rtl_433 from their source git repositories and not what he bundled.

Here's a clip of the output from running rtl_433.  Note that I have an Acu-Rite tower sensor and 5-in-1, and it found both.  The 127% humidity on the tower sensor is because Acu-Rite left the humidity probe out of this particular part number and the warm temperature is because it's indoors:

Code: [Select]
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 250000.000414 Hz
[R82XX] PLL not locked!
Sample rate set to 250000.
Bit detection level set to 8000.
Tuner gain set to Auto.
Reading samples in async mode...
Tuned to 433920000 Hz.
2015-12-05 15:42:00 Acurite tower sensor 0x219F Ch A: 20.8 C 69.4 F 127 % RH
2015-12-05 15:42:00 Acurite tower sensor 0x219F Ch A: 20.8 C 69.4 F 127 % RH
2015-12-05 15:42:00 Acurite tower sensor 0x219F Ch A: 20.8 C 69.4 F 127 % RH
2015-12-05 15:42:00 Acurite 5n1 sensor 0x04C3 Ch C, Msg 38, Wind 0 kmph / 0.0 mph, 9.8 C 49.6 F 50 % RH
2015-12-05 15:42:00 Acurite 5n1 sensor 0x04C3 Ch C, Msg 38, Wind 0 kmph / 0.0 mph, 9.8 C 49.6 F 50 % RH
2015-12-05 15:42:00 Acurite 5n1 sensor 0x04C3 Ch C, Msg 38, Wind 0 kmph / 0.0 mph, 9.8 C 49.6 F 50 % RH
2015-12-05 15:42:16 Acurite tower sensor 0x219F Ch A: 20.8 C 69.4 F 127 % RH
2015-12-05 15:42:16 Acurite tower sensor 0x219F Ch A: 20.8 C 69.4 F 127 % RH
2015-12-05 15:42:16 Acurite tower sensor 0x219F Ch A: 20.8 C 69.4 F 127 % RH
2015-12-05 15:42:19 Acurite 5n1 sensor 0x04C3 Ch C, Total rain fall since last reset: 0.00
2015-12-05 15:42:19 Acurite 5n1 sensor 0x04C3 Ch C, Msg 31, Wind 0 kmph / 0.0 mph 90.0° E (10), rain gauge 0.00 in.
2015-12-05 15:42:19 Acurite 5n1 sensor 0x04C3 Ch C, Total rain fall since last reset: 0.00
2015-12-05 15:42:19 Acurite 5n1 sensor 0x04C3 Ch C, Msg 31, Wind 0 kmph / 0.0 mph 90.0° E (10), rain gauge 0.00 in.
2015-12-05 15:42:19 Acurite 5n1 sensor 0x04C3 Ch C, Total rain fall since last reset: 0.00
2015-12-05 15:42:19 Acurite 5n1 sensor 0x04C3 Ch C, Msg 31, Wind 0 kmph / 0.0 mph 90.0° E (10), rain gauge 0.00 in.
2015-12-05 15:42:32 Acurite tower sensor 0x219F Ch A: 20.8 C 69.4 F 127 % RH
2015-12-05 15:42:32 Acurite tower sensor 0x219F Ch A: 20.8 C 69.4 F 127 % RH
2015-12-05 15:42:32 Acurite tower sensor 0x219F Ch A: 20.8 C 69.4 F 127 % RH
2015-12-05 15:42:38 Acurite 5n1 sensor 0x04C3 Ch C, Msg 38, Wind 0 kmph / 0.0 mph, 9.8 C 49.6 F 50 % RH
2015-12-05 15:42:38 Acurite 5n1 sensor 0x04C3 Ch C, Msg 38, Wind 0 kmph / 0.0 mph, 9.8 C 49.6 F 50 % RH
2015-12-05 15:42:38 Acurite 5n1 sensor 0x04C3 Ch C, Msg 38, Wind 0 kmph / 0.0 mph, 9.8 C 49.6 F 50 % RH
2015-12-05 15:42:48 Acurite tower sensor 0x219F Ch A: 20.8 C 69.4 F 127 % RH
2015-12-05 15:42:48 Acurite tower sensor 0x219F Ch A: 20.8 C 69.4 F 127 % RH
2015-12-05 15:42:48 Acurite tower sensor 0x219F Ch A: 20.8 C 69.4 F 127 % RH
2015-12-05 15:42:57 Acurite 5n1 sensor 0x04C3 Ch C, Total rain fall since last reset: 0.00
2015-12-05 15:42:57 Acurite 5n1 sensor 0x04C3 Ch C, Msg 31, Wind 0 kmph / 0.0 mph 90.0° E (10), rain gauge 0.00 in.
2015-12-05 15:42:57 Acurite 5n1 sensor 0x04C3 Ch C, Total rain fall since last reset: 0.00
2015-12-05 15:42:57 Acurite 5n1 sensor 0x04C3 Ch C, Msg 31, Wind 0 kmph / 0.0 mph 90.0° E (10), rain gauge 0.00 in.
2015-12-05 15:42:57 Acurite 5n1 sensor 0x04C3 Ch C, Total rain fall since last reset: 0.00
2015-12-05 15:42:57 Acurite 5n1 sensor 0x04C3 Ch C, Msg 31, Wind 0 kmph / 0.0 mph 90.0° E (10), rain gauge 0.00 in.

Here's the list of recognized protocols/devices from my build:

Code: [Select]
Registering protocol "Silvercrest Remote Control"
Registering protocol "Rubicson Temperature Sensor"
Registering protocol "Prologue Temperature Sensor"
Registering protocol "Waveman Switch Transmitter"
Registering protocol "Steffen Switch Transmitter"
Registering protocol "ELV EM 1000"
Registering protocol "ELV WS 2000"
Registering protocol "LaCrosse TX Temperature / Humidity Sensor"
Registering protocol "Acurite 5n1 Weather Station"
Registering protocol "Acurite 896 Rain Gauge"
Registering protocol "Acurite Temperature and Humidity Sensor"
Registering protocol "Oregon Scientific Weather Sensor"
Registering protocol "Mebus 433"
Registering protocol "Intertechno 433"
Registering protocol "KlikAanKlikUit Wireless Switch"
Registering protocol "AlectoV1 Weather Sensor (Alecto WS3500 WS4500 Ventus W155/W044 Oregon)"
Registering protocol "Cardin S466-TX2"
Registering protocol "Fine Offset Electronics, WH-2 Sensor"
Registering protocol "Nexus Temperature & Humidity Sensor"
Registering protocol "Ambient Weather Temperature Sensor"
Registering protocol "Calibeur RF-104 Sensor"
Registering protocol "X10 RF"
Registering protocol "DSC Security Contact"
Registering protocol "Brennstuhl RCS 2044"
Registering protocol "GT-WT-02 Sensor"
Registering protocol "Danfoss CFR Thermostat"
Registering protocol "Energy Count 3000 (868.3 MHz)"
Registering protocol "Valeo Car Key"
Registering protocol "Chuango Security Technology"
Registering protocol "Generic Remote SC226x EV1527"
Registering protocol "TFA-Twin-Plus-30.3049"
Registering protocol "Digitech XC0348 Weather Station"
Registering protocol "WT450"
Registering protocol "LaCrosse WS-2310 Weather Station"
Registering protocol "Esperanza EWS"
Registering protocol "Efergy e2 classic"
Registering protocol "Inovalley kw9015b rain and Temperature weather station"
Registering protocol "Generic temperature sensor 1"
Registering protocol "Acurite 592TXR Temperature/Humidity Sensor and 5n1 Weather Station"
Registering protocol "Acurite 986 Refrigerator / Freezer Thermometer"

No Davis support, but there is support for several other weather station vendors besides Acu-Rite.....
WU Gold Stars for everyone! :lol:

Offline Bushman

  • Forecaster
  • *****
  • Posts: 6690
    • Eagle Bay Weather
Re: Grabbing station packets off the air with USB SDR dongle?
« Reply #9 on: December 05, 2015, 04:53:23 PM »
The listed stations are all 433 mHz; Davis 900~ hopping.  I wonder if that is why?  Although isn't Meteostick SDR?  So it is solvable.

Offline vreihen

  • El Niņo chaser
  • Forecaster
  • *****
  • Posts: 709
  • K2BIG
Re: Grabbing station packets off the air with USB SDR dongle?
« Reply #10 on: December 05, 2015, 05:31:27 PM »
I don't know if the meteostick is a true SDR or an embedded radio with a FHSS decoder.  Given the price, I would hope that someone with a Davis console would be looking into writing the decoder.  The SDR will certainly tune 900 Mhz, and I have used mine to listen to repeaters on 927 Mhz FM.....
WU Gold Stars for everyone! :lol:

Offline nincehelser

  • Forecaster
  • *****
  • Posts: 2020
    • nincehelser.com
Re: Grabbing station packets off the air with USB SDR dongle?
« Reply #11 on: December 05, 2015, 05:58:31 PM »
Cool.  It looks like it gives a little more detail than the bridge does as it breaks out the "A-B-C" switch setting.

Now I'm hooked... I've got one of the dongles here somewhere.

Offline vreihen

  • El Niņo chaser
  • Forecaster
  • *****
  • Posts: 709
  • K2BIG
Re: Grabbing station packets off the air with USB SDR dongle?
« Reply #12 on: December 06, 2015, 09:25:58 AM »
As a hardware note, I just re-tried by setup above on the Pi Zero...using only the Pi's 1.0A power supply and leaving the USB hub un-powered.  There is apparently enough power to drive the Pi, USB hub, SDR, wifi, a bluetooth dongle, and my portable APRS TNC all at the same time!  The desert-home page above mentioned that the SDR drew a lot of power in his setup, but I have seen no bad things running my setup for about 30 minutes now with extra USB peripherals and only 1.0A of total power.

For the Acu-Rite sensors, I'm using this command line:

# rtl_433 -R 39

Device 39 is the dual 5-in-1 and tower sensor code.  When I tried device 09 (5-in-1) or 11 (T/H sensor), it did not receive anything.  I'm guessing that those were deprecated or replaced by the new device 39 code.

My plan for this Pi Zero is to bundle everything up into a small tupperware box and put it out in my detached garage attached to a rafter crossmember, where it should have good wifi connectivity and a much better view of the sky for DUMP1090 to track aircraft telemetry.  Having to only poke holes for one power cord and the SDR's antenna cable is a good thing.  The bluetooth dongle is so that the Pi can send/receive APRS packets via a 2-meter HT that will also be out there, running the aprx software as a local iGate/digipeater.  I had no intentions of doing anything WX-related on it, except maybe to grab the current data from my MeteoBridge and transmit it via radio and Internet to APRS every 10-15 minutes.  After this experiment, I'm thinking about buying another Pi Zero when they are back in stock that will be dedicated to running DUMP1090.   This one will be used for the APRS stuff, with weewx and rtl_433 for catching weather data and transmitting it via radio and Internet.  (I'll have to order a barometer/altimeter module from Adafruit, since Acu-Rite only has them in consoles and they aren't sent by RF.)

As a side note, I have the SDR's telescopic whip antenna totally collapsed and laying on its side on my workbench.  For WX reception, it could probably live inside a tupperware box with the other stuff except in very long-range setups to the sensors.....
WU Gold Stars for everyone! :lol:

 

anything