Giter VIP home page Giter VIP logo

rtlsdr-433m-sensor's Introduction

Decoding Oregon Scientific wireless sensor data with RTL-SDR and GNU Radio

Kevin Mehall
http://kevinmehall.net

This script decodes the packets that Oregon Scientific remote thermometers (like the one pictured below) send to the display unit. It also serves as example code for accessing rtl-sdr / GNU Radio samples live from Python.

Picture of sensor

Each sensor transmits every 30 seconds on 433.9MHz. The packet is repeated twice. Modulation is On-off keying, and the 32 data bits are manchester encoded. Alexander Yerezeyev implemeted a decoder for AVR microcontrollers, and wrote up a description of the protocol.

My sensors use the V1 protocol, but if you have newer sensors, take a look at JeeLabs' description of the V2 protocol. It would probably be simple to adapt my code.

The GNU Radio osmosdr block captures from the device. It's tuned slightly to the side to avoid the DC noise at the local oscillator frequency. A freq_xlating_fir_filter_ccc block selects and downsamples the correct region of the captured frequency range. Then it AM demodulates that band, and uses a message sink and queue to bring the samples into Python. (see gr_queue.py). A Python state machine detects the preamble, manchester-decodes the bits, and then parses the packet.

You can also (with the -a flag) play the AM audio to your speakers. The sensor packets sound like beeps, and you can hear other devices transmitting on the ISM band.

rtlsdr-433m-sensor's People

Contributors

kevinmehall avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rtlsdr-433m-sensor's Issues

Migration to gnuradio 3.7

Hello,

First of all, thank you for your work.

It seems that in new release of gnuradio 3.7, some restructuration has taken place and package blk2 does no longer exist. Therefore, the code here does not work.

I was trying to use it but I am not an SDR expert to propose a solution here (I'm sorry).

It could be nice if you may fix it (it seems that's a couple of functions only)

Thank you very much

Joan,

GRC Flows

Hi,

Was any of the python generated with GNU Radio Companion? If so, do you have the flows, i'd be very interested to see them.

Thanks for your help

Alex

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.