Software-defined radio (SDR) is a radio communication system where components that have been traditionally implemented in hardware (e.g. mixers, filters, amplifiers, modulators/demodulators, detectors, etc.) are instead implemented by means of software on a personal computer or embedded system (https://en.wikipedia.org/wiki/Software-defined_radio).
As more people move away from cable and satellite based entertainment to Internet based services, SDR provides a method to access over the air radio broadcasts without using Internet bandwidth. Using a USB SDR radio dongle attached to a Raspberry Pi 3 Model B local radio channels can be played through a HDMI port.
The Raspberry Pi Full HD HDMI Photo Frame Carousel with SDR Radio and Internet Radio combines SDR and Internet radio streams with a Full HD (1920×1080) photo frame carousel that displays high resolution images on a Full HD or Ultra HD television.
Python Flask can be used as a small IoT web server for SDR and Internet radio stream control using a WiFi connected cellphone as a remote control. In order to synchronize multiple remote control browsers, websockets are used for server (i.e. the SDR IoT device) to client (i.e. the web browsers) communications to notify all users when a channel is changed. AJAX is used for client to server communications, such as pressing a button.
The SDR IoT device can also be used to scan public safety (e.g. fire department), aircraft communications, and shortwave radio frequencies (please check if legal restrictions exist in your area).
If your Internet Service Provider has a bandwidth cap, or is temporarily unavailable, the SDR IoT device can provide local radio channels without using Internet bandwidth.
OTTStreamingVideo.net has extensive experience designing hardware and writing software for IoT devices and embedded Linux products. Please contact us for more information.
GitHub Repository README.md