Actions

Difference between revisions of "Broadcastify/RTLSDR-Airband"

From The RadioReference Wiki

Line 196: Line 196:
  
 
  <nowiki>
 
  <nowiki>
 
+
sudo apt-get update -y
 
sudo apt-get install icecast2 -y
 
sudo apt-get install icecast2 -y
  

Revision as of 02:07, 8 November 2020

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.


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.


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