Difference between revisions of "Raspberry Pi RTL-SDR Broadcastify"
From The RadioReference Wiki
(Created page with "These instructions show you how to purchase and setup a completely self contained Raspberry Pi with an RTL-SDR stick(s) to broadcast a live audio feed to Broadcastify.com") |
|||
Line 1: | Line 1: | ||
These instructions show you how to purchase and setup a completely self contained Raspberry Pi with an RTL-SDR stick(s) to broadcast a live audio feed to Broadcastify.com | These instructions show you how to purchase and setup a completely self contained Raspberry Pi with an RTL-SDR stick(s) to broadcast a live audio feed to Broadcastify.com | ||
+ | |||
+ | == Purchase Equipment == | ||
+ | |||
+ | Raspberry Pi 2 Model B Project Board - 1GB RAM - 900 MHz Quad-Core CPU | ||
+ | * http://amzn.to/1Ku3T9Y | ||
+ | |||
+ | RTL-SDR - RTL2832U & R820T USB Stick | ||
+ | * http://amzn.to/1DJA79d | ||
+ | |||
+ | Male MCX Connector to... | ||
+ | * F Female - http://amzn.to/1KtVwIt | ||
+ | * PL259 - http://amzn.to/1JLgjV7 | ||
+ | * BNC - http://amzn.to/1DJqZ4A | ||
+ | * SMA - http://amzn.to/1JLgAav | ||
+ | * Lots of connectors - http://amzn.to/1Ku4c4s | ||
+ | |||
+ | Power Supply for Raspberry Pi | ||
+ | * http://amzn.to/1U2r8cD | ||
+ | |||
+ | Memory Card for Raspberry Pi | ||
+ | * http://amzn.to/1U2r8JG | ||
+ | |||
+ | Case for Raspberry Pi | ||
+ | * http://amzn.to/1JLgNe3 | ||
+ | |||
+ | == Install pre-reqs and update raspberry pi to latest version == | ||
+ | |||
+ | sudo apt-get update | ||
+ | sudo apt-get upgrade | ||
+ | sudo apt-get install git cmake libusb-1.0-0.dev build-essential | ||
+ | sudo apt-get install libmp3lame-dev libvorbis-dev libshout-dev | ||
+ | sudo rpi-update && sudo reboot | ||
+ | |||
+ | == Install the latest rtl-sdr code == | ||
+ | |||
+ | This latest git release is needed for padding zeros when squelch is enabled (-E pad option) | ||
+ | |||
+ | git clone https://github.com/keenerd/rtl-sdr/ | ||
+ | cd rtl-sdr/ | ||
+ | mkdir build | ||
+ | cd build | ||
+ | cmake ../ | ||
+ | make | ||
+ | sudo make install | ||
+ | sudo ldconfig | ||
+ | sudo mv $HOME/rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/rtl-sdr.rules | ||
+ | |||
+ | == Blacklist the kernel's bundled RTL drivers == | ||
+ | |||
+ | We do this so we don't conflict with the RTL drivers we're about to install | ||
+ | |||
+ | sudo su - | ||
+ | echo "blacklist r820t" >> /etc/modprobe.d/dvb-blacklist.conf | ||
+ | echo "blacklist rtl2832" >> /etc/modprobe.d/dvb-blacklist.conf | ||
+ | echo "blacklist rtl2830" >> /etc/modprobe.d/dvb-blacklist.conf | ||
+ | echo "blacklist dvb_usb_rtl28xxu" >> /etc/modprobe.d/dvb-blacklist.conf | ||
+ | exit | ||
+ | |||
+ | == Install and configure ezstream == | ||
+ | |||
+ | sudo apt-get install ezstream | ||
+ | |||
+ | Create this configuration file at /etc/ezstream_bcfy.xml and replace with your mount, password, and stream name | ||
+ | |||
+ | <ezstream> | ||
+ | <url>http://audio#.broadcastify.com:80/your_mount</url> | ||
+ | <sourcepassword>your_source_password</sourcepassword> | ||
+ | <format>MP3</format> | ||
+ | <filename>stdin</filename> | ||
+ | <svrinfoname>Stream Name</svrinfoname> | ||
+ | <svrinfourl>http://www.broadcastify.com</svrinfourl> | ||
+ | <svrinfogenre>Scanner</svrinfogenre> | ||
+ | <svrinfodescription></svrinfodescription> | ||
+ | <svrinfobitrate>16</svrinfobitrate> | ||
+ | <svrinfochannels>1</svrinfochannels> | ||
+ | <svrinfosamplerate>22050</svrinfosamplerate> | ||
+ | <svrinfopublic>0</svrinfopublic> | ||
+ | </ezstream> | ||
+ | |||
+ | == Command for AM Aviation Scanning == | ||
+ | |||
+ | rtl_fm -M am -f 124.55M -f 133.4M -f 121.6M -l 65 -p 69 -g 40 -t 0 -E pad -s 8k | ||
+ | | lame -r -s 8 -m m -b 16 --cbr --lowpass 4 --scale 16 - - | ||
+ | | ezstream -c /etc/ezstream_bcfy.xml & | ||
+ | |||
+ | rtl_fm - command line tuner for rt stick | ||
+ | -M am tune to AM Mode | ||
+ | -f 124.55M tune to 124.55 MHz (use multiple -f entries to scan through frequencies) | ||
+ | -l 65 set scanning squelch to 65 (adjust as needed) | ||
+ | -p 69 ppm offset | ||
+ | -g 40.2 gain (0-49.6) - adjust as needed | ||
+ | -t 0 scanning delay (I set to 0, default is 10) | ||
+ | -E pad when squelch is enabled pad output with zeros (required when broadcasting) | ||
+ | -s 8k sample at 8k | ||
+ | |||
+ | which is then piped to the mp3 lame encoder... | ||
+ | |||
+ | lame - MP3 encoder | ||
+ | -r accept raw data input | ||
+ | -s encode at 8k | ||
+ | -m encode mono | ||
+ | -b encode at 16kbs bitrate | ||
+ | --cbr use Broadcastify’s mp3 cbr standard | ||
+ | --lowpass 4 use a low pass filter of 4 | ||
+ | --scale 16 turn up the volume | ||
+ | |||
+ | which is then piped to ezstream | ||
+ | |||
+ | ezstream -c /etc/ezstream_bcfy.xml |
Revision as of 00:41, 31 July 2015
These instructions show you how to purchase and setup a completely self contained Raspberry Pi with an RTL-SDR stick(s) to broadcast a live audio feed to Broadcastify.com
Contents
Purchase Equipment
Raspberry Pi 2 Model B Project Board - 1GB RAM - 900 MHz Quad-Core CPU
RTL-SDR - RTL2832U & R820T USB Stick
Male MCX Connector to...
- F Female - http://amzn.to/1KtVwIt
- PL259 - http://amzn.to/1JLgjV7
- BNC - http://amzn.to/1DJqZ4A
- SMA - http://amzn.to/1JLgAav
- Lots of connectors - http://amzn.to/1Ku4c4s
Power Supply for Raspberry Pi
Memory Card for Raspberry Pi
Case for Raspberry Pi
Install pre-reqs and update raspberry pi to latest version
sudo apt-get update sudo apt-get upgrade sudo apt-get install git cmake libusb-1.0-0.dev build-essential sudo apt-get install libmp3lame-dev libvorbis-dev libshout-dev sudo rpi-update && sudo reboot
Install the latest rtl-sdr code
This latest git release is needed for padding zeros when squelch is enabled (-E pad option)
git clone https://github.com/keenerd/rtl-sdr/ cd rtl-sdr/ mkdir build cd build cmake ../ make sudo make install sudo ldconfig sudo mv $HOME/rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/rtl-sdr.rules
Blacklist the kernel's bundled RTL drivers
We do this so we don't conflict with the RTL drivers we're about to install
sudo su - echo "blacklist r820t" >> /etc/modprobe.d/dvb-blacklist.conf echo "blacklist rtl2832" >> /etc/modprobe.d/dvb-blacklist.conf echo "blacklist rtl2830" >> /etc/modprobe.d/dvb-blacklist.conf echo "blacklist dvb_usb_rtl28xxu" >> /etc/modprobe.d/dvb-blacklist.conf exit
Install and configure ezstream
sudo apt-get install ezstream
Create this configuration file at /etc/ezstream_bcfy.xml and replace with your mount, password, and stream name
<ezstream> <url>http://audio#.broadcastify.com:80/your_mount</url> <sourcepassword>your_source_password</sourcepassword> <format>MP3</format> <filename>stdin</filename> <svrinfoname>Stream Name</svrinfoname> <svrinfourl>http://www.broadcastify.com</svrinfourl> <svrinfogenre>Scanner</svrinfogenre> <svrinfodescription></svrinfodescription> <svrinfobitrate>16</svrinfobitrate> <svrinfochannels>1</svrinfochannels> <svrinfosamplerate>22050</svrinfosamplerate> <svrinfopublic>0</svrinfopublic> </ezstream>
Command for AM Aviation Scanning
rtl_fm -M am -f 124.55M -f 133.4M -f 121.6M -l 65 -p 69 -g 40 -t 0 -E pad -s 8k | lame -r -s 8 -m m -b 16 --cbr --lowpass 4 --scale 16 - - | ezstream -c /etc/ezstream_bcfy.xml &
rtl_fm - command line tuner for rt stick -M am tune to AM Mode -f 124.55M tune to 124.55 MHz (use multiple -f entries to scan through frequencies) -l 65 set scanning squelch to 65 (adjust as needed) -p 69 ppm offset -g 40.2 gain (0-49.6) - adjust as needed -t 0 scanning delay (I set to 0, default is 10) -E pad when squelch is enabled pad output with zeros (required when broadcasting) -s 8k sample at 8k
which is then piped to the mp3 lame encoder...
lame - MP3 encoder -r accept raw data input -s encode at 8k -m encode mono -b encode at 16kbs bitrate --cbr use Broadcastify’s mp3 cbr standard --lowpass 4 use a low pass filter of 4 --scale 16 turn up the volume
which is then piped to ezstream
ezstream -c /etc/ezstream_bcfy.xml