From 585be5090fcda21391775c92ae60838cb7c201c6 Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Wed, 4 Jun 2025 07:40:48 -0700 Subject: [PATCH] Misc RF Tools - Added initial support for the RTL-SDR CLI tools and development libraries, dump1090 for ADB-S aircraft tracking, and SPLAT! for VHF/UHF prediction. Also, fixed an issue where the Paracon test script was not being run --- scripts/install-dump1090.sh | 50 +++++++++++++++++++++++++ scripts/install-rf-analysis-tools.sh | 12 ++++++ scripts/install-sdr-tools.sh | 12 ++++++ scripts/install.sh | 9 ++++- tests/test-dump1090.sh | 7 ++++ tests/{test-paracon => test-paracon.sh} | 0 6 files changed, 89 insertions(+), 1 deletion(-) create mode 100755 scripts/install-dump1090.sh create mode 100755 scripts/install-rf-analysis-tools.sh create mode 100755 scripts/install-sdr-tools.sh create mode 100755 tests/test-dump1090.sh rename tests/{test-paracon => test-paracon.sh} (100%) diff --git a/scripts/install-dump1090.sh b/scripts/install-dump1090.sh new file mode 100755 index 0000000..f31fcda --- /dev/null +++ b/scripts/install-dump1090.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 4 June 2025 +# Purpose : Install dump1090 (ADB-S aircraft tracking) +set -e +trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG +trap 'et-log "\"${last_command}\" command failed with exit code $?."' ERR + +. ./env.sh + +APP=dump1090 +VERSION=master +DOWNLOAD_FILE=master.zip +BIN_FILE=dump1090 +INSTALL_DIR="/opt/${APP}-${VERSION}" +INSTALL_BIN_DIR="${INSTALL_DIR}/bin" +LINK_PATH="/opt/${APP}" + +if [[ ! -e ${ET_DIST_DIR}/${DOWNLOAD_FILE} ]]; then + + URL="https://github.com/antirez/dump1090/archive/refs/heads/${DOWNLOAD_FILE}" + + et-log "Downloading ${APP}: ${URL}" + curl -s -L -o ${DOWNLOAD_FILE} --fail ${URL} + + mv -v ${DOWNLOAD_FILE} ${ET_DIST_DIR} +fi + +CWD_DIR=`pwd` + +# Only build once +if [[ ! -e "${ET_SRC_DIR}/${APP}/${BIN_FILE}" ]]; then + cd ${ET_SRC_DIR} + unzip -o ${ET_DIST_DIR}/${DOWNLOAD_FILE} + + cd dump1090-master + + et-log "Building ${APP}.." + make +fi + +[[ ! -e ${INSTALL_BIN_DIR} ]] && mkdir -v -p ${INSTALL_BIN_DIR} +cp -v "${ET_SRC_DIR}/${APP}-master/${BIN_FILE}" ${INSTALL_BIN_DIR} + +[[ -e ${LINK_PATH} ]] && rm ${LINK_PATH} +ln -s ${INSTALL_DIR} ${LINK_PATH} + +stow -v -d /opt ${APP} -t /usr/local + +cd $CWD_DIR diff --git a/scripts/install-rf-analysis-tools.sh b/scripts/install-rf-analysis-tools.sh new file mode 100755 index 0000000..6bdfee1 --- /dev/null +++ b/scripts/install-rf-analysis-tools.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# +# Author : Gaston Gonzalez +# Date : 22 May 2024 +# Updated : 4 June 2025 +# Purpose : Install RF prediction and analysis tools +set -e + +et-log "Installing RF prediction and analysis tools..." +apt install \ + splat \ + -y diff --git a/scripts/install-sdr-tools.sh b/scripts/install-sdr-tools.sh new file mode 100755 index 0000000..8bb01ad --- /dev/null +++ b/scripts/install-sdr-tools.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# +# Author : Gaston Gonzalez +# Date : 4 June 2025 +# Purpose : Install SDR tools +set -e + +et-log "Installing SDR tools..." +apt install \ + rtl-sdr \ + librtlsdr-dev \ + -y diff --git a/scripts/install.sh b/scripts/install.sh index 8d8a6e3..c44aa48 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -2,7 +2,7 @@ # # Author : Gaston Gonzalez # Date : 16 March 2024 -# Updated : 26 April 2025 +# Updated : 4 June 2025 # Purpose : Main installer for EmComm Tools Community (ETC) . ./env.sh @@ -66,3 +66,10 @@ exitIfNotRoot ./install-python.sh ./install-mbutil.sh ./install-gis-tools.sh + +# Install RF analysis and prediction tools +./install-rf-analysis-tools.sh + +# Install SDR tools +./install-sdr-tools.sh +./install-dump1090.sh diff --git a/tests/test-dump1090.sh b/tests/test-dump1090.sh new file mode 100755 index 0000000..23764fd --- /dev/null +++ b/tests/test-dump1090.sh @@ -0,0 +1,7 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 5 May 2025 +# Purpose : Test dump1090 installation + +OUT=$(which dump1090) +exit $? diff --git a/tests/test-paracon b/tests/test-paracon.sh similarity index 100% rename from tests/test-paracon rename to tests/test-paracon.sh