diff --git a/overlay/opt/emcomm-tools/bin/et-aircraft b/overlay/opt/emcomm-tools/bin/et-aircraft new file mode 100755 index 0000000..b583a2e --- /dev/null +++ b/overlay/opt/emcomm-tools/bin/et-aircraft @@ -0,0 +1,48 @@ +#!/bin/bash +# +# Author : Gaston Gonzalez +# Date : 4 June 2025 +# Update : 5 June 2025 +# Purpose : Wrapper script around dump1090 +# +# Preconditions: +# 1. RTL-SDR is connected and detected +# +# Postconditions: +# 1. dump1099 is launched +# 2. A map is launched + +# TODO: Update installer to copy map file +# TODO: Check for RTL-SDR device +# TODO: Change port from 8080 to 1090 +# TODO: Add a systemd user service to start dump1090 +# TODO: Use local offline map +# TODO: Move map to current position +# TODO: Use icon and add to launcher + +source /opt/emcomm-tools/bin/et-common + +DUMP1090_CONF_DIR="${HOME}/.local/share/emcomm-tools/dump1090" +DUMP1090_MAP_HTML="${DUMP1090_CONF_DIR}/gmap.html" + +if [[ ! -e ${DUMP1090_MAP_HTML} ]]; then + et-log "Map HTML not found: ${DUMP1090_MAP_HTML}" + notify-user "Map HTML not found: ${DUMP1090_MAP_HTML}" + exit 1 +fi + +CWD_DIR=$(pwd) + +cd ${DUMP1090_CONF_DIR} + +# replace with systemd +CMD="dump1090 --net --net-http-port 1090" +et-log "Starting dump1090 in ${DUMP1090_CONF_DIR} with: ${CMD}" + +${CMD} + +if [[ $? -ne 0 ]]; then + notify-user "RTL-SDR not detected. Please connect it and retry." +fi + +cd ${CWD_DIR} diff --git a/overlay/opt/emcomm-tools/bin/et-common b/overlay/opt/emcomm-tools/bin/et-common index b6b1539..d14f2f9 100755 --- a/overlay/opt/emcomm-tools/bin/et-common +++ b/overlay/opt/emcomm-tools/bin/et-common @@ -1,6 +1,7 @@ #!/bin/bash # Author : Gaston Gonzalez # Date : 1 February 2025 +# Updated : 5 June 2025 # Purpose : Common environment variables and functions export ESC="\x1B" @@ -11,7 +12,13 @@ export WHITE="${ESC}[97m" export YELLOW="${ESC}[1;33m" export NC="${ESC}[0m" +# Display an error message in the terminal show-err-dialog() { local message="$1" dialog --title "Notification" --msgbox "$message" 8 60 } + +# Display a notification message as a UI popup in the desktop +notify-user() { + notify-send -t 5000 --app-name="EmComm Tools" "$1" +} diff --git a/scripts/install-dump1090.sh b/scripts/install-dump1090.sh index f31fcda..cd0adf1 100755 --- a/scripts/install-dump1090.sh +++ b/scripts/install-dump1090.sh @@ -1,6 +1,7 @@ #!/bin/bash # Author : Gaston Gonzalez # Date : 4 June 2025 +# Updated : 5 June 2025 # Purpose : Install dump1090 (ADB-S aircraft tracking) set -e trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG @@ -10,15 +11,16 @@ trap 'et-log "\"${last_command}\" command failed with exit code $?."' ERR APP=dump1090 VERSION=master -DOWNLOAD_FILE=master.zip +DOWNLOAD_FILE=dump1090-master.zip BIN_FILE=dump1090 INSTALL_DIR="/opt/${APP}-${VERSION}" INSTALL_BIN_DIR="${INSTALL_DIR}/bin" LINK_PATH="/opt/${APP}" +DUMP1090_CONF_DIR="/etc/skel/.local/share/emcomm-tools/dump1090" if [[ ! -e ${ET_DIST_DIR}/${DOWNLOAD_FILE} ]]; then - URL="https://github.com/antirez/dump1090/archive/refs/heads/${DOWNLOAD_FILE}" + URL="https://github.com/antirez/dump1090/archive/refs/heads/master.zip" et-log "Downloading ${APP}: ${URL}" curl -s -L -o ${DOWNLOAD_FILE} --fail ${URL} @@ -42,6 +44,10 @@ fi [[ ! -e ${INSTALL_BIN_DIR} ]] && mkdir -v -p ${INSTALL_BIN_DIR} cp -v "${ET_SRC_DIR}/${APP}-master/${BIN_FILE}" ${INSTALL_BIN_DIR} +# Install HTML map +[[ ! -e ${DUMP1090_CONF_DIR} ]] && mkdir -v -p ${DUMP1090_CONF_DIR} +cp -v "${ET_SRC_DIR}/${APP}-master/gmap.html" ${DUMP1090_CONF_DIR} + [[ -e ${LINK_PATH} ]] && rm ${LINK_PATH} ln -s ${INSTALL_DIR} ${LINK_PATH}