Broadcastify/RTLSDR-Airband
From The RadioReference Wiki
RTLSDR-Airband or rtl_airband receives analog radio voice channels and produces audio streams which can be routed to various outputs.
Download: https://github.com/szpajder/RTLSDR-Airband
Broadcastify Fully Supports RTLSDR-Airband or rtl_airband.
Please read and follow the initial setup guide for RTLSDR-Airband or rtl_airband.
User's Manual: https://github.com/szpajder/RTLSDR-Airband/wiki
RTLSDR-Airband or rtl_airband support multiple frequency channel scanning features.
After you have completed the initial setup guide by "szpajder" the come back here to follow this custom setup guide which have been tested working!
Here is a custom rtl_airband.conf config file for Broadcastify server and local Icecast server if you have it setup in your Raspberry Pi unit.
Else you can set "disable = true;" if you do not need that section profile enabled. Otherwise set "disabled = false;" if you need that section profile to be enabled for active usage.
Note: If you uses two RTL-SDR dongle in a Raspberry Pi unit, please set a unique serial number to either one of the units using rtl_eeprom software.
Install RTL-SDR drivers and setup essentials for RTL-SDR dongle ...
sudo apt-get update -y sudo apt-get upgrade -y sudo cat <<EOF >/etc/modprobe.d/no-rtl.conf blacklist dvb_usb_rtl28xxu blacklist rtl8192cu blacklist rtl2832 blacklist rtl2830 blacklist e4000 EOF sudo apt-get install git-core -y sudo apt-get install git -y sudo apt-get install cmake -y sudo apt-get install libusb-1.0-0-dev -y sudo apt-get install build-essential -y git clone git://git.osmocom.org/rtl-sdr.git cd rtl-sdr/ autoreconf -i ./configure make sudo make install sudo make install-udev-rules sudo ldconfig sudo reboot
--- BOF /usr/local/etc/rtl_airband.conf ---
# Sample file of "rtl-airband.conf" output to BroadCastify.com icecast streaming server # RTLSDR-Airband - User's Manual: https://github.com/szpajder/RTLSDR-Airband/wiki # Refer to here for PPM Offset correction guide - https://viatorci.com/posts/rtlsdr-police-scanner/#rtl-sdr-dongle-offset-tuning # index = 0 => First dongle # index = 1 => Second dongle devices: ({ type = "rtlsdr"; index = 0; gain = 25.4; correction = 0; mode = "scan"; sample_rate = 2.4; buffers = 10; channels: ( { # squelch = 30; # Uncomment to set squelch manually freqs = ( 118200000, 119450000, 121900000, 124200000 ); # MODIFY_YOUR_AIRPORT_AIRBAND_FREQUENCY labels = ( "Tower", "S-Approach", "Ground", "N-Approach" ); # MODIFY_YOUR_AIRPORT_AIRBAND_FREQUENCY_NAME_LABELS outputs: ( # For local IceCast server { disable = true; # IF_NO_LOCAL_ICECAST_SERVER_IS_AVAILABLE_SET_IT_TO_TRUE type = "icecast"; server = "127.0.0.1"; port = 8000; mountpoint = "local"; name = "Airport_ICAO"; genre = "ATC"; username = "source"; password = "hackme"; send_scan_freq_tags = false; description = "Local IceCast Server"; }, # For remote BroadCastify server { disable = false; # THIS_PROFILE_TEMPLATE_ACTIVE_IN_USED type = "icecast"; server = "audioXXXXXXXX.radioreference.com"; # FROM_YOUR_RR_FEED_PROVIDER_PAGE port = 80; # PORT_OF_RR_FEED_PROVIDER_ICECAST_SERVER_USUALLY_8000 mountpoint = "XXXXXXXX"; # MOUNT_POINT_FROM_YOUR_RR_FEED_PROVIDER_PAGE name = "XXXXXXXX"; # FEED_NAME_THAT_RR_GAVE_YOU_WHEN_YOU_APPLIED genre = "ATC"; username = "source"; password = "XXXXXXXX"; # PASSWD_FROM_YOUR_RR_FEED_PROVIDER_PAGE send_scan_freq_tags = false; description = "XXXXXXXX"; # DESCRIPTION_ASSIGNED_FROM_YOUR_RR_FEED_APPLICATION } # If you need more outputs, put under here ... # NOTICE: Make sure you remove the comma at the end of the profile segment template. # e.g. From "}," to "}" else you get an error. For the last profile template segment only. ); } ); } );
--- EOF /usr/local/etc/rtl_airband.conf ---
Recommended RTL-Airband sample compile script for Raspberry Pi 2/3 uses V3D GPU mode by Tomasz Lemiech szpajder@gmail.com
--- BOF /root/rtl-airband-compile.sh ---
#!/bin/bash clear cd ~ apt-get install build-essential libmp3lame-dev libshout3-dev libconfig++-dev libraspberrypi-dev librtlsdr-dev git cmake libfftw3-dev libxslt1-dev -y git clone https://github.com/szpajder/RTLSDR-Airband.git cd RTLSDR-Airband git checkout master make help sleep 10 cp /usr/local/etc/rtl_airband.conf /usr/local/etc/rtl_airband.conf.old rm /usr/local/etc/rtl_airband.conf -R -f make clean if cat /proc/cpuinfo | grep ARMv6 then export PLATFORM=rpiv1 else if cat /proc/cpuinfo | grep Model | grep "Pi 2" then export PLATFORM=rpiv2 else if cat /proc/cpuinfo | grep Model | grep "Pi 3" then export PLATFORM=rpiv2 else export PLATFORM=armv8-generic fi fi fi export NFM=1 make make install ldconfig
--- EOF /root/rtl-airband-compile.sh ---
Instruction to activate and run at service mode... https://github.com/szpajder/RTLSDR-Airband/wiki/Running-the-program
--- BOF /etc/systemd/system/rtl_airband.service ---
[Unit] Description=SDR AM/NFM demodulator Documentation=https://github.com/szpajder/RTLSDR-Airband/wiki Wants=network.target After=network.target [Service] Type=simple ExecStart=/usr/local/bin/rtl_airband -Fe -c /usr/local/etc/rtl_airband.conf # The program may exit only due to startup failure (eg. misconfiguration) # or due to failure of all SDR devices (eg. disconnection). In either case, # there is no point to restart it, because it would fail once again. Restart=no [Install] WantedBy=multi-user.target
--- EOF /etc/systemd/system/rtl_airband.service ---
Else see here is the summary of commands on the shell terminal...
sudo chown root.root /etc/systemd/system/rtl_airband.service sudo chmod 0777 /etc/systemd/system/rtl_airband.service sudo systemctl disable rtl_airband sudo systemctl daemon-reload sudo systemctl enable rtl_airband sudo systemctl restart rtl_airband sudo systemctl status rtl_airband
Insert this Audio web tag at the end of the html code to auto play the local icecast server VHF audio streams...
--- BOF /var/www/html/index.html ---
<p> <b>WMSA - Sultan Abdul Aziz Shah Airport - Subang - Air Traffic Controller</b><br> <audio controls autoplay> <source src="http://rodyeo.dyndns.org:8000/wmsa" type="audio/mpeg">Click to play</audio> </p> <p> <b>WMKK - Kuala Lumpur International Airport - Sepang - Air Traffic Controller</b><br> <audio controls> <source src="http://rodyeo.dyndns.org:8000/wmkk" type="audio/mpeg">Click to play</audio> </p>
--- EOF /var/www/html/index.html ---
Install IceCast Audio Streaming Server ...
sudo apt-get update -y sudo apt-get install icecast2 -y
Listen to your local IceCast AirBand streams via a web browser link to the Raspberry Pi ip address http://Your-RaspPi-IP:8000/local
- Acknowledgement to Tomasz Lemiech szpajder@gmail.com for his constant guide and tutorial mentoring to make this simplifed manual guide easy for newbies... a big "Thank You" to him... else I would not have perfected my RTL-Airband audio streaming.
Multiple source streaming sample file config and IceCast local server config sample file @ https://disk.yandex.ru/d/RC7se4bIIVzgfg by Rodney Yeo (9W2YJ) rodyeo@yahoo.com
Also reference to another thread posting ... https://wiki.radioreference.com/index.php/Raspberry_Pi_RTL-SDR_Broadcastify