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.
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.
--- 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 = 22.9; 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 ---
- 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 @ 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