#!/bin/bash ################################################################################## # Initializing drivers and background processes for PE1RXF-APRS-server # # # # (C)2021 M.T. Konstapel https://meezenest.nl/mees # # # # This file is part of PE1RXF-APRS-server. # # # # PE1RXF-APRS-server is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # PE1RXF-APRS-server is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with PE1RXF-APRS-server If not, see . # # # ################################################################################## # Start pigpiod for accessing gpio pins for carrier_detect #sudo pigpiod ########################### # initializing soundmodem # ########################### echo "Starting direwolf" /usr/local/bin/direwolf -t 0 -c /home/marcel/direwolf.conf -p -q hd > /dev/null 2>&1 & #Check if Direwolf is running /usr/bin/sleep 5 if [ -z "`ps ax | grep -v grep | grep direwolf`" ]; then echo -e "\nERROR: Direwolf did not start properly and is not running, please review direwolf.conf" exit 1 fi echo "Installing one KISS connection on PTY port /tmp/direwolf/kisstnc_aprx" mkdir -p /tmp/direwolf cp -a /tmp/kisstnc /tmp/direwolf/kisstnc_aprx /usr/sbin/mkiss -s 19200 -x 1 /tmp/direwolf/kisstnc_aprx > /tmp/unix98 #This creates a PTS interface like "/dev/pts/3" export PTS0=`more /tmp/unix98 | grep -w /dev | cut -b -11` echo "PTS0 device: $PTS0" sudo /usr/sbin/kissattach $PTS0 ax0 > /tmp/ax25-config.tmp awk '/device/ { print $7 }' /tmp/ax25-config.tmp > /tmp/ax25-config1-tmp read Device < /tmp/ax25-config1-tmp # Start kissutil to send messages in files written to /home/marcel/ham/aprs_utils/aprs_files_to_transmit /usr/local/bin/kissutil -f /home/marcel/ham/aprs_utils/aprs_files_to_transmit > /dev/null 2>&1 & # Start filter for received messages to PE1RXF-0 # Messages addressed to PE1RXF are stored in file /home/marcel/ham/aprs_utils/aprs_received_messages.log # tail /var/log/aprx/aprx-rf.log -F | grep --line-buffered "::PE1RXF-10" >> /home/marcel/ham/aprs_utils/aprs_received_messages/received_aprs_messages.log & #tail /var/log/aprx/aprx-rf.log -F --lines=1 | grep --line-buffered "::PE1RXF-1" | /home/marcel/ham/aprs_utils/process_aprs_messages.sh & ########################### #initialize arduino modem # ########################### echo "Starting external interface" sudo /usr/sbin/kissattach /dev/ttyUSB1 ax1 sudo /usr/sbin/kissparms -p ax1 -t 500 -s 200 -r 32 -l 100 -f n # Start kissutil to send messages in files written to /home/marcel/ham/aprs_utils/aprs_files_to_transmit_channel_B # kissutil -f /home/marcel/ham/aprs_utils/aprs_files_to_transmit_channel_B > /dev/null 2>&1 & ########################### # initializing LoRa modem # ########################### /home/marcel/ham/RPi-LoRa-KISS-TNC/start_all.sh # Start APRS-MQTT bridge # cd /home/marcel/ham/aprs_utils/aprs-mqtt-bridge # /home/marcel/ham/aprs_utils/aprs-mqtt-bridge/aprs-mqtt-bridge.py & # Start filter for received messages to PE1RXF (all sufixes) # Messages addressed to PE1RXF are stored in file /home/marcel/ham/aprs_utils/aprs_received_messages.log #tail /var/log/aprx/aprx-rf.log -F --lines=1 | grep --line-buffered "::PE1RXF" | /home/marcel/ham/aprs_utils/process_aprs_messages.sh & # Test log heard stations tail /var/log/aprx/aprx-rf.log -F --lines=1 | /home/marcel/ham/aprs_utils/process_traffic.sh & # Start mainloop maintenance routine /home/marcel/ham/aprs_utils/pe1rxf-aprs-server.sh