Elektor Sdr Software
Elektor Sdr Software Rating: 3,7/5 414 votes
I love ESP 8266 . I'm using it in many and many projects in my house, ranging from gas detectors to light control and even vegetable irrigation and chicken door command ! .RTL2832 with SDR# interface DLL: 64 MHz - 1700 MHz: 2000 kHz max, IQ. Just a quick video showing my SWL setup using an Elektor software. Elektor Software Defined Radio. Software Defined Radio with RTL2832 DVB. Software Defined Radio Receiver USB Stick RTL2832 w/R820T. Software Defined Radio Receiver USB Stick RTL2832 w/R820T.
- Special Support for the Elektor SDR Shield - aka SDR Reloaded - 7/2016. The G8JCFSDR is an SDR which uses RF front-end hardware to down-convert RF frequencies into.
- This shield is based on the extremely popular SDR-project published in the May 2007 issue of Elektor Electronics. The original author Burkhard Kainka also made this new design, now as a shield for an Arduino Uno (-based) microcontroller board.
It consist of a 4 digit OSRAM PD3535 display found in the junkbox which I choose because of the good bright ( but you can change it as you prefer even with oled type). A 5v switching regulator recovered from a car usb adapter reduce the 12vcc incoming from home to 5v needed to the display. Another regulator creates 3.3v for esp8266 and port expander. The circuit itself is quite simple: The esp8266, an I2C port expander to drive the parallel interface of the display PD3535 and the display itself.
There is also a simple temperature sensor made from an LM335 and the analog input of the esp8266 ... I added this just to see what happens in summer into the doorbell box ... in Italy the sun can be very strong at that time ... from the web page I will check approximately the circuit health... probably in north europe you can omit it !
The software:
The IP address is static to reach the built in web page simply typing the address in any browser.
An mqtt server is connected at a specified address ( 192.168.0.102 in my system) with username and password.
Two topics are required (or created if not exist) IN and RSSI.
At the first one the static number 68 is published at any doorbell press. The second topic is RSSI where the esp8266 publish node number (23 in my example) toghether with IP and RSSI of the wifi ... justy for diagnose,
The display flow the standard message continuously until the doorbell press: at that time it flash the display to gain the user attention and then begin to flow the calling message. You can change both message from the built in web page and they will be stored on eeprom. The eeprom of the esp8266 is simply a part of the system flash ... so everytime you reprogram the chip from arduino the messages will be lost , remember to reintroduce it from the web page.
The esp8266 built in led is used to diagnose wifi connection state and web server activity.
The Server side:
A mosquitto server installed in my home server dispatch the incoming messages. The system publish 2 mqtt topics : IN topic for messages from the doorbell and RSSI where it publish the wifi rssi every half an hour.

In my home I use a slackware linux as domotic server but everything should work (ubuntu , raspberry ...) as long you have python 3 installed with the pychromecast library (pip3 install pychromecast) and a web server to serve the mp3 files to all the chromecasts.
The google home device discover is quite time consuming. To avoid unacceptable delays at the time of door bell ring action, a list of google home devices is checked and maintained every 15 minutes.
Every google home device is identified from a 'friendly name' which you assign at installation time. This name is used to call devices to play. The first time you use the python software or every time you add a new google home device you must temporarily uncomment the print statement at line 18 of domot22.py . The software will display all the data of found devices from which you can grab the 'friendly name' to add at line 8 of the same script. All the listed devices will play the doorbell message, a separate thread play process is created for every device.