Actions

Broadcastify/RTLSDR-Airband

From The RadioReference Wiki

Raspberry Pi Broadcastify RTL-SDR VHF Sharing Feed Appliance

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.


--- 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

# 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 unstable
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
make PLATFORM=rpiv2
make install
ldconfig
cd ~

--- 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 at http://rodyeo.dyndns.org/ ;)


Multiple source streaming sample file config and IceCast local server config sample file @ http://rodyeo.dyndns.org/download/rb24-vhf-share.zip by http://rodyeo.dyndns.org/


Also reference to another thread posting ... https://wiki.radioreference.com/index.php/Raspberry_Pi_RTL-SDR_Broadcastify