first commit
This commit is contained in:
Executable
+174
@@ -0,0 +1,174 @@
|
||||
|
||||
# INSTALL MMDVM Raspberry PI on Raspbian 10 (Buster)
|
||||
|
||||
|
||||
Download the package from the terminal using the command:
|
||||
|
||||
git clone https://github.com/lucamarche-iz1mlt/install-mmdvm-sh.git ./install-mmdvm-sh
|
||||
|
||||
cd install-mmdvm-sh
|
||||
|
||||
Launch the script using the command
|
||||
|
||||
sudo sh mmdvm.sh
|
||||
|
||||
wait for the installation to end ....
|
||||
|
||||
Config .ini file
|
||||
|
||||
Make sure you are always in the same direcory and open the file using the command
|
||||
|
||||
sudo nano MMDVMConfig.sh
|
||||
|
||||
|
||||
Once saved, run the script
|
||||
|
||||
sudo bash MMDVMConfig.sh
|
||||
|
||||
Uninstall by command
|
||||
|
||||
sudo mmdvm_uninstall.sh
|
||||
|
||||
# Start commands by servicing
|
||||
|
||||
MMDVMHost
|
||||
|
||||
sudo service mmdvmhost start
|
||||
|
||||
sudo service mmdvmhost stop
|
||||
|
||||
sudo service mmdvmhost restart
|
||||
|
||||
sudo service mmdvmhost status
|
||||
|
||||
DMRGateway
|
||||
|
||||
sudo service dmrgateway start
|
||||
|
||||
sudo service dmrgateway stop
|
||||
|
||||
sudo service dmrgateway restart
|
||||
|
||||
sudo service dmrgateway status
|
||||
|
||||
|
||||
YSFGateway
|
||||
|
||||
sudo service ysfgateway start
|
||||
|
||||
sudo service ysfgateway stop
|
||||
|
||||
sudo service ysfgateway restart
|
||||
|
||||
sudo service ysfgateway status
|
||||
|
||||
YSFParrot
|
||||
|
||||
sudo service ysfparrot start
|
||||
|
||||
sudo service ysfparrot stop
|
||||
|
||||
sudo service ysfparrot restart
|
||||
|
||||
sudo service ysfparrot status
|
||||
|
||||
IrcDDBGateway
|
||||
|
||||
sudo service ircddbgatewayd start
|
||||
|
||||
sudo service ircddbgatewayd stop
|
||||
|
||||
sudo service ircddbgatewayd restart
|
||||
|
||||
sudo service ircddbgatewady status
|
||||
|
||||
# Command for automatic start of service
|
||||
sudo systemctl enable mmdvmhost.timer
|
||||
sudo systemctl enable dmrgateway.timer
|
||||
sudo systemctl enable ysfgateway.timer
|
||||
sudo systemctl enable ysfparrot.timer
|
||||
sudo systemctl enable ircddbgatewayd.timer
|
||||
sudo systemctl enable telegrambot.timer
|
||||
|
||||
# Disable service at startup
|
||||
sudo systemctl disable <nome_servizio>.timer
|
||||
|
||||
|
||||
# Starting shell programs
|
||||
Remember to stop the service
|
||||
|
||||
MMDVMHost
|
||||
sudo MMDVMHost /etc/mmdvmhost/MMDVM.ini
|
||||
|
||||
DMRGateway
|
||||
sudo DMRGateway /etc/dmrgateway/DMRGateway.ini
|
||||
|
||||
YSFGateway
|
||||
sudo DMRGateway /etc/dmrgateway/DMRGateway.ini
|
||||
|
||||
ircDBGateway
|
||||
sudo ircddbgatewayd -logdir /var/log/ircddbgateway -confdir /etc/ircddbgateway
|
||||
|
||||
Telegrambot
|
||||
sudo python /home/pi/telegrambot.py
|
||||
|
||||
CTRL+C to exit
|
||||
|
||||
# Add crontab service
|
||||
|
||||
sudo nano /etc/crontab
|
||||
|
||||
add at the bottom of the file
|
||||
|
||||
*/5 * * * * root wget -O /var/log/ysfgateway/YSFHosts.txt http://register.ysfreflector.de/export_csv.php
|
||||
0 0 * * * root wget -O /var/log/mmdvmhost/NXDN.csv http://nxmanager.weebly.com/uploads/7/1/2/0/71209569/nxuid_export.csv
|
||||
0 0 * * * root sh /home/pi/script/DMRIDUpdate.sh 1>/dev/null 2>&1
|
||||
|
||||
|
||||
# File paths
|
||||
|
||||
MMDVMHost
|
||||
|
||||
MMDVM.ini
|
||||
|
||||
/etc/mmdvmhost/
|
||||
|
||||
LOG file e data base
|
||||
|
||||
/var/log/mmdvmhost/
|
||||
|
||||
DMRGateway
|
||||
|
||||
DMRGateway.ini
|
||||
|
||||
/etc/dmrgateway/
|
||||
|
||||
LOG file e data base
|
||||
|
||||
/var/log/dmrgateway/
|
||||
|
||||
YSFgateway
|
||||
|
||||
YSFGateway.ini
|
||||
|
||||
/etc/ysfgateway/
|
||||
|
||||
LOG file e data base
|
||||
|
||||
/var/log/ysfgateway/
|
||||
|
||||
ircDDBGateway
|
||||
|
||||
ircddbgateway_config
|
||||
|
||||
/etc/ircddbgateway/
|
||||
|
||||
LOG file e data base
|
||||
|
||||
/var/log/ircddbgateway/
|
||||
|
||||
AUDIO File and Reflector list
|
||||
|
||||
/usr/share/ircddbgateway
|
||||
|
||||
|
||||
Executable
+386
@@ -0,0 +1,386 @@
|
||||
#!/bin/bash
|
||||
|
||||
# GENERAL SETTING
|
||||
CALLSIGN="FRS2013"
|
||||
DMR_ID="1499999"
|
||||
RPT_OR_HS="0" # 1 for duplex mode repeater, 0 for simplex mode Hot Spot
|
||||
FREQ_TX="446.156250"
|
||||
FREQ_RX="446.156250"
|
||||
LAT="44.554375"
|
||||
LONG="8.938647"
|
||||
HEIGHT="0"
|
||||
LOCATION="Antibes"
|
||||
DESCRIPTION="mmdvm system"
|
||||
URL="www.openpmr.cla.fr"
|
||||
CW_ID="0" #1 active 0 disable
|
||||
PORT_MODEM="/dev/ttS0"
|
||||
TX_INV="1"
|
||||
RX_INV="0"
|
||||
|
||||
# DSTAR
|
||||
DS_EN="0"
|
||||
MODULE="B"
|
||||
IRC_EN="0"
|
||||
QUADNET_EN="0"
|
||||
IRC_PWD=""
|
||||
DPLUS_EN="1"
|
||||
DEXTRA_EN="1"
|
||||
DS_STARTUP="DCS999"
|
||||
REF_MODULE="K"
|
||||
REMOTE_EN="0"
|
||||
REMOTE_PWD="password"
|
||||
REMOTE_PORT="10022"
|
||||
LANGUAGE="Italiano"
|
||||
#language list
|
||||
# 0 English(UK)
|
||||
# 1 Deutsch
|
||||
# 2 Dansk
|
||||
# 3 Francais
|
||||
# 4 Italiano
|
||||
# 5 Espanol
|
||||
# 6 Svenska
|
||||
# 7 Polski
|
||||
# 8 English(US)
|
||||
# 9 Nederlands(NL)
|
||||
# 10 Nederland(BE)
|
||||
|
||||
# DMR
|
||||
DMR_EN="1"
|
||||
CC="1"
|
||||
TA="1"
|
||||
XLX_EN="0"
|
||||
XLX_TG="6"
|
||||
XLX_TS="1"
|
||||
XLX_STARTUP="999"
|
||||
BM_EN="0"
|
||||
BM_IP="bm2222@dmrbrescia.it"
|
||||
DMRP_EN="0"
|
||||
DMRP_IP="fra1od.fr.to"
|
||||
|
||||
# YSF C4FM
|
||||
YSF_EN="0"
|
||||
FCS_EN="1"
|
||||
YSFFCS_START="IT C4FM Piemonte"
|
||||
YSF_TXHANG="1"
|
||||
|
||||
# APRS
|
||||
APRS_EN="0"
|
||||
APRS_HOST="italy1.aprs2.net"
|
||||
APRS_PORT="14580"
|
||||
APRS_PWD=$(curl http://n5dux.com/ham/aprs-passcode/?callsign=$CALLSIGN | grep -e "size=24>" | cut -f 5 -d">" | cut -f1 -d"<")
|
||||
|
||||
#DASHBOARD
|
||||
DASH_EN="1"
|
||||
CONFIG_PATH_DASHBOARD="/var/www/html/MMDVMHost-Dashboard/config/"
|
||||
|
||||
# -----------------------
|
||||
# MMDVMHost-Configuration
|
||||
# -----------------------
|
||||
Snm="on" # Enable extended lookup (show names
|
||||
ShTA="on" # Show Talker Alias
|
||||
SL3="off" # Use SQLITE3-Database instead of DMRIDs.dat
|
||||
TGN="on" # Enable TG-Names
|
||||
|
||||
# ------------------------
|
||||
# YSFGateway-Configuration
|
||||
# ------------------------
|
||||
YSFGat="on" # Enable YSFGateway
|
||||
YSFlog="YSFGateway" # Logfile-prefix
|
||||
YSFini="YSFGateway.ini" # YSFGateway.ini-filename
|
||||
YSFHos="YSFHotst.txt" # YSFHosts.txt-filename
|
||||
|
||||
# ------------------------
|
||||
# DMRGateway-Configuration
|
||||
# ------------------------
|
||||
DMRGat="on" # Enable DMRGateway
|
||||
DMRlog="DMRGateway" # Logfile-prefix
|
||||
DMRini="DMRGateway.ini" # DMRGateway.ini-filename
|
||||
|
||||
# ---------------------------
|
||||
# ircddbgateway-Configuration
|
||||
# ---------------------------
|
||||
ircDDB="ircddbgatewayd" # Name of ircddbgateway-executeable
|
||||
|
||||
# --------------------
|
||||
# Global Configuration
|
||||
# --------------------
|
||||
PathEx="/usr/local/bin/" # Path to executable files
|
||||
TZ="Europe/PAris" # Timezone
|
||||
LOC="fr_FR" # Locale
|
||||
URLlogo="" # URL to Logo
|
||||
NETphp="on" # Use networks.php instead of configuration below
|
||||
DMRlogo="" # URL to DMRplus-Logo
|
||||
BMlogo="" # URL to BrandMeister-Logo
|
||||
Ref="60" # Refresh page after in seconds
|
||||
ShCI="on" # Show Custom Info
|
||||
ShSI="on" # Show System Info
|
||||
ShDU="on" # Show Disk Use
|
||||
ShRI="on" # Show Repeater Info
|
||||
ShEM="on" # Show Enabled Modes
|
||||
ShLH="on" # Show Last Heard List of today's
|
||||
ShLT="on" # Show Today's local transmissions
|
||||
ShPR="on" # Show progressbars
|
||||
CPUT="on" # Enable CPU-temperature-warning
|
||||
WART="60" # Warning temperature
|
||||
NSF="on" # Enable Network-Switching-Function
|
||||
DMRRSF="on" # Enable Reflector-Switching-Function (DMR)
|
||||
YSFRSF="on" # Enable Reflector-Switching-Function (YSF)
|
||||
UseSN="" # Username for switching networks
|
||||
PasSN="" # Password for switching networks
|
||||
MF="on" # Enable Management-Functions below
|
||||
UseVL="" # Username for view log
|
||||
PasVL="" # Password for view log
|
||||
UseHa="" # Username for halt
|
||||
PasHa="" # Password for halt
|
||||
UseRe="" # Username for reboot
|
||||
PasRe="" # Password for reboot
|
||||
UseRs="" # Username for restart
|
||||
PasRs="" # Password for restart
|
||||
ShPO="on" # Show Powerstate (online or battery, wiringpi needed)
|
||||
GPIOMo="18" # GPIO pin to monitor
|
||||
OnLnSt="1" # State that signalizes online-state
|
||||
QRZcom="on" # Show link to QRZ.com on Callsigns
|
||||
RSSI="avg" # RSSI value (min, max, avg, all)
|
||||
|
||||
#-----------------------------------------------------------------------------------------#
|
||||
#-----------------------------------------------------------------------------------------#
|
||||
# #
|
||||
#-----------------------------------------------------------------------------------------#
|
||||
#-----------------------------------------------------------------------------------------#
|
||||
|
||||
LOG_PATH_MMDVMHOST=$(grep -e "LOG_PATH_MMDVMHOST=" $(pwd)/mmdvm.sh | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
LOG_PATH_DMRGATEWAY=$(grep -e "LOG_PATH_DMRGATEWAY=" $(pwd)/mmdvm.sh | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
LOG_PATH_YSFGATEWAY=$(grep -e "LOG_PATH_YSFGATEWAY=" $(pwd)/mmdvm.sh | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
LOG_PATH_IRCDDBGATEWAY=$(grep -e "LOG_PATH_IRCDDBGATEWAY=" $(pwd)/mmdvm.sh | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
|
||||
CONFIG_PATH_MMDVMHOST=$(grep -e "CONFIG_PATH_MMDVMHOST=" $(pwd)/mmdvm.sh | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
CONFIG_PATH_DMRGATEWAY=$(grep -e "CONFIG_PATH_DMRGATEWAY=" $(pwd)/mmdvm.sh | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
CONFIG_PATH_YSFGATEWAY=$(grep -e "CONFIG_PATH_YSFGATEWAY=" $(pwd)/mmdvm.sh | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
CONFIG_PATH_IRCDDBGATEWAY=$(grep -e "CONFIG_PATH_IRCDDBGATEWAY=" $(pwd)/mmdvm.sh | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
|
||||
|
||||
if [ $RPT_OR_HS = "1" ]; then
|
||||
YSF_SUFFIX="RPT"
|
||||
else
|
||||
YSF_SUFFIX="ND"
|
||||
fi
|
||||
|
||||
if [ $LANGUAGE = "English(UK)" ]; then
|
||||
LANGUAGE_NUM="0"
|
||||
elif [ $LANGUAGE = "Deutsch" ]; then
|
||||
LANGUAGE_NUM="1"
|
||||
elif [ $LANGUAGE = "Dansk" ]; then
|
||||
LANGUAGE_NUM="2"
|
||||
elif [ $LANGUAGE = "Francais" ]; then
|
||||
LANGUAGE_NUM="3"
|
||||
elif [ $LANGUAGE = "Italiano" ]; then
|
||||
LANGUAGE_NUM="4"
|
||||
elif [ $LANGUAGE = "Espanol" ]; then
|
||||
LANGUAGE_NUM="5"
|
||||
elif [ $LANGUAGE = "Svenska" ]; then
|
||||
LANGUAGE_NUM="6"
|
||||
elif [ $LANGUAGE = "Polski" ]; then
|
||||
LANGUAGE_NUM="7"
|
||||
elif [ $LANGUAGE = "English(US)" ]; then
|
||||
LANGUAGE_NUM="8"
|
||||
elif [ $LANGUAGE = "Nederlands(NL)" ]; then
|
||||
LANGUAGE_NUM="9"
|
||||
elif [ $LANGUAGE = "Nederland(BE)" ]; then
|
||||
LANGUAGE_NUM="10"
|
||||
else
|
||||
LANGUAGE_NUM="0"
|
||||
fi
|
||||
|
||||
|
||||
SHIFT=$((${FREQ_RX:0:3}${FREQ_RX:4} - ${FREQ_TX:0:3}${FREQ_TX:4}))
|
||||
|
||||
rm ${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
|
||||
printf "[General]\nCallsign=${CALLSIGN}\nId=${DMR_ID}\nTimeout=240\nDuplex=${RPT_OR_HS}\n# ModeHang=10\nRFModeHang=10\nNetModeHang=30\nDisplay=None\nDaemon=0 " >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[Info]\nRXFrequency=${FREQ_RX:0:3}${FREQ_RX:4}\nTXFrequency=${FREQ_TX:0:3}${FREQ_TX:4}\nPower=10\nLatitude=${LAT}\nLongitude=${LONG}\nHeight=${HEIGHT}\nLocation=${LOCATION}\nDescription=${DESCRIPTION}\nURL=${URL}" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[Log]\n# Logging levels, 0=No logging\nDisplayLevel=1\nFileLevel=2\nFilePath=${LOG_PATH_MMDVMHOST}\nFileRoot=MMDVM" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[CW Id]\nEnable=1\nTime=10\n# Callsign=" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[DMR Id Lookup]\nFile=${LOG_PATH_MMDVMHOST}DMRIds.dat\nTime=24" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[NXDN Id Lookup]\nFile=${LOG_PATH_MMDVMHOST}NXDN.csv\nTime=24" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[Modem]\nPort=${PORT_MODEM}\nProtocol=uart\n# Address=0x22\nTXInvert=${TX_INV}\nRXInvert=${RX_INV}\nPTTInvert=0\nTXDelay=100\nRXOffset=0\nTXOffset=0\nDMRDelay=0\nRXLevel=50\nTXLevel=50\nRXDCOffset=0\nTXDCOffset=0\nRFLevel=100\n# CWIdTXLevel=50\n# D-StarTXLevel=50\n# DMRTXLevel=50\n# YSFTXLevel=50\n# P25TXLevel=50\n# NXDNTXLevel=50\n# POCSAGTXLevel=50\nRSSIMappingFile=RSSI.dat\nTrace=0\nDebug=0" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[Transparent Data]\nEnable=0\nRemoteAddress=127.0.0.1\nRemotePort=40094\nLocalPort=40095\n# SendFrameType=0" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[UMP]\nEnable=0\n# Port=\\.\COM4\n# Port=/dev/ttyACM1" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[D-Star]\nEnable=${DS_EN}\nModule=${MODULE}\nSelfOnly=0\nAckReply=1\nAckTime=750\nAckMessage=0\nErrorReply=1\nRemoteGateway=0\n# ModeHang=10" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[DMR]\nEnable=${DMR_EN}\nBeacons=1\nBeaconInterval=180\nBeaconDuration=3\nColorCode=${CC}\nSelfOnly=0\nEmbeddedLCOnly=0\nDumpTAData=${TA}\n# Prefixes=234,235\n# Slot1TGWhiteList=\n# Slot2TGWhiteList=\nCallHang=3\nTXHang=4\n# ModeHang=10" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[System Fusion]\nEnable=${YSF_EN}\nLowDeviation=0\nSelfOnly=0\nTXHang=${YSF_TXHANG}\n# DGID=1\nRemoteGateway=0\n# ModeHang=10" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[P25]\nEnable=0\nNAC=293\nSelfOnly=0\nOverrideUIDCheck=0\nRemoteGateway=0\n# ModeHang=10" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[NXDN]\nEnable=0\nRAN=1\nSelfOnly=0\nRemoteGateway=0\n# ModeHang=10" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[POCSAG]\nEnable=0\nFrequency=439987500" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[D-Star Network]\nEnable=1\nGatewayAddress=127.0.0.1\nGatewayPort=20010\nLocalPort=20011\n# ModeHang=3\nDebug=0" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[DMR Network]\nEnable=${DMR_EN}\nAddress=127.0.0.1\nPort=62031\nJitter=360\nLocal=62032\nPassword=PASSWORD\n# Options=\nSlot1=1\nSlot2=1\n# ModeHang=3\nDebug=0" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[System Fusion Network]\nEnable=1\nLocalAddress=127.0.0.1\nLocalPort=3200\nGatewayAddress=127.0.0.1\nGatewayPort=4200\n# ModeHang=3\nDebug=0" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[P25 Network]\nEnable=0\nGatewayAddress=127.0.0.1\nGatewayPort=42020\nLocalPort=32010\n# ModeHang=3\nDebug=0" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[NXDN Network]\nEnable=0\nLocalAddress=127.0.0.1\nLocalPort=14021\nGatewayAddress=127.0.0.1\nGatewayPort=14020\n# ModeHang=3\nDebug=0" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[POCSAG Network]\nEnable=0\nLocalAddress=127.0.0.1\nLocalPort=3800\nGatewayAddress=127.0.0.1\nGatewayPort=4800\n# ModeHang=3\nDebug=0" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[TFT Serial]\n# Port=modem\nPort=/dev/ttyAMA0\nBrightness=50" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[HD44780]\nRows=2\nColumns=16\n\n# For basic HD44780 displays (4-bit connection)\n# rs, strb, d0, d1, d2, d3\nPins=11,10,0,1,2,3\n\n# Device address for I2C\nI2CAddress=0x20\n\n# PWM backlight\nPWM=0\nPWMPin=21\nPWMBright=100\nPWMDim=16\n\nDisplayClock=1\nUTC=0" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[Nextion]\n# Port=modem\nPort=/dev/ttyAMA0\nBrightness=50\nDisplayClock=1\nUTC=0\n#Screen Layout: 0=G4KLX 2=ON7LDS\nScreenLayout=2\nIdleBrightness=20" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[OLED]\nType=3\nBrightness=0\nInvert=0\nScroll=1\nRotate=0\nCast=0" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[LCDproc]\nAddress=localhost\nPort=13666\n#LocalPort=13667\nDimOnIdle=0\nDisplayClock=1\nUTC=0" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
printf "\n\n[Lock File]\nEnable=0\nFile=/tmp/MMDVM_Active.lck" >>${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
nano ${CONFIG_PATH_MMDVMHOST}MMDVM.ini
|
||||
|
||||
# YSFGATEWEAY
|
||||
if [ $YSF_EN = "1" ] || [ $FCS_EN = "1" ]; then
|
||||
rm ${CONFIG_PATH_YSFGATEWAY}YSFGateway.ini
|
||||
|
||||
printf "[General]\nCallsign=${CALLSIGN}\nSuffix=${YSF_SUFFIX}\nId=${DMR_ID}\nRptAddress=127.0.0.1\nRptPort=3200\nLocalAddress=127.0.0.1\nLocalPort=4200\nDaemon=0" >>${CONFIG_PATH_YSFGATEWAY}YSFGateway.ini
|
||||
printf "\n\n[Info]\nRXFrequency=${FREQ_RX:0:3}${FREQ_RX:4}\nTXFrequency=${FREQ_TX:0:3}${FREQ_TX:4}\nPower=10\nLatitude=${LAT}\nLongitude=${LONG}\nHeight=${HEIGHT}\nLocation=${LOCATION}\nDescription=${DESCRIPTION}" >>${CONFIG_PATH_YSFGATEWAY}YSFGateway.ini
|
||||
printf "\n\n[Log]\n# Logging levels, 0=No logging\nDisplayLevel=1\nFileLevel=2\nFilePath=${LOG_PATH_YSFGATEWAY}\nFileRoot=YSFGateway" >>${CONFIG_PATH_YSFGATEWAY}YSFGateway.ini
|
||||
printf "\n\n[aprs.fi]\nEnable=${APRS_EN}\nServer=${APRS_HOST}\nPort=${APRS_PORT}\nPassword=${APRS_PWD}\nDescription=${DESCRIPTION}\nSuffix=Y" >>${CONFIG_PATH_YSFGATEWAY}YSFGateway.ini
|
||||
printf "\n\n[Network]\n${YSF_AUTOSTART}Startup=${YSFFCS_START}\nInactivityTimeout=0\nRevert=0\nDebug=0" >>${CONFIG_PATH_YSFGATEWAY}YSFGateway.ini
|
||||
printf "\n\n[YSF Network]\nEnable=1\nPort=42000\nHosts=${LOG_PATH_YSFGATEWAY}YSFHosts.txt\nReloadTime=60\nParrotAddress=127.0.0.1\nParrotPort=42012\nYSF2DMRAddress=127.0.0.1\nYSF2DMRPort=42013\nYSF2NXDNAddress=127.0.0.1\nYSF2NXDNPort=42014\nYSF2P25Address=127.0.0.1\nYSF2P25Port=42015" >>${CONFIG_PATH_YSFGATEWAY}YSFGateway.ini
|
||||
printf "\n\n[FCS Network]\nEnable=${FCS_EN}\nRooms=${LOG_PATH_YSFGATEWAY}FCSRooms.txt\nPort=42001" >>${CONFIG_PATH_YSFGATEWAY}YSFGateway.ini
|
||||
|
||||
nano ${CONFIG_PATH_YSFGATEWAY}YSFGateway.ini
|
||||
fi
|
||||
|
||||
# DMRGATEWAY
|
||||
if [ $DMR_EN = "1" ]; then
|
||||
rm ${CONFIG_PATH_DMRGATEWAY}DMRGateway.ini
|
||||
|
||||
printf "[General]\nTimeout=10\n# RFTimeout=10\n# NetTimeout=7\nRptAddress=127.0.0.1\nRptPort=62032\nLocalAddress=127.0.0.1\nLocalPort=62031\nRuleTrace=0\nDaemon=0\nDebug=0" >>${CONFIG_PATH_DMRGATEWAY}DMRGateway.ini
|
||||
printf "\n\n[Log]\n# Logging levels, 0=No logging\nDisplayLevel=1\nFileLevel=2\nFilePath=${LOG_PATH_DMRGATEWAY}\nFileRoot=DMRGateway" >>${CONFIG_PATH_DMRGATEWAY}DMRGateway.ini
|
||||
printf "\n\n[Voice]\nEnabled=1\nLanguage=it_IT\nDirectory=${CONFIG_PATH_DMRGATEWAY}Audio" >>${CONFIG_PATH_DMRGATEWAY}DMRGateway.ini
|
||||
printf "\n\n[Info]\nRXFrequency=${FREQ_RX:0:3}${FREQ_RX:4}\nTXFrequency=${FREQ_TX:0:3}${FREQ_TX:4}\nPower=10\nLatitude=${LAT}\nLongitude=${LONG}\nHeight=${HEIGHT}\nLocation=${LOCATION}\nDescription=${DESCRIPTION}\nURL=${URL}" >>${CONFIG_PATH_DMRGATEWAY}DMRGateway.ini
|
||||
printf "\n\n[XLX Network]\nEnabled=${XLX_EN}\nFile=XLXHosts.txt\nPort=62030\nPassword=passw0rd\nReloadTime=60\n# Local=3351\nSlot=${XLX_TS}\nTG=${XLX_TG}\nBase=64000\nStartup=999\nRelink=10\nDebug=0" >>${CONFIG_PATH_DMRGATEWAY}DMRGateway.ini
|
||||
printf "\n\n# BrandMeister\n[DMR Network 1]\nEnabled=${BM_EN}\nName=BM\nAddress=${BM_IP}\nPort=62031\n# Local=3352\nPassAllPC=1\nPassAllPC=2\nPassAllTG=1\nPassAllTG=2\nPassword=passow0rd\nLocation=1\nDebug=0" >>${CONFIG_PATH_DMRGATEWAY}DMRGateway.ini
|
||||
printf "\n\n# DMR+\n[DMR Network 2]\nEnabled=${DMRP_EN}\nName=DMR+\nAddress=${DMRP_IP}\nPort=55555\n# Local=3352\nPassAllPC=1\nPassAllPC=2\nPassAllTG=1\nPassAllTG=2\nPassword=PASSWORD\nLocation=0\nDebug=0" >>${CONFIG_PATH_DMRGATEWAY}DMRGateway.ini
|
||||
printf "\n\n# Local HBLink network\n[DMR Network 3]\nEnabled=0\nName=HBLink\nAddress=44.131.4.2\nPort=55555\n# Local=3352\n# Local area TG on to slot 2 TG11\nTGRewrite=2,11,2,11,1\nPassword=PASSWORD\nLocation=0\nDebug=0" >>${CONFIG_PATH_DMRGATEWAY}DMRGateway.ini
|
||||
|
||||
nano ${CONFIG_PATH_DMRGATEWAY}DMRGateway.ini
|
||||
fi
|
||||
|
||||
# IRCDDBGATEWAY
|
||||
if [ $DS_EN = "1" ]; then
|
||||
rm ${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
|
||||
printf "gatewayType=1\ngatewayCallsign=${CALLSIGN}\ngatewayAddress=0.0.0.0\nicomAddress=127.0.0.1\nicomPort=20000\nhbAddress=127.0.0.1\nhbPort=20010\nlatitude=${LAT}\nlongitude=${LONG}\ndescription1=${DESCRIPTION}\ndescription2=${DESCRIPTION}\nurl=${URL}" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\nrepeaterCall1=${CALLSIGN}\nrepeaterBand1=${MODULE}\nrepeaterType1=0\nrepeaterAddress1=127.0.0.1\nrepeaterPort1=20011\nreflector1=${DS_STARTUP} ${REF_MODULE}\natStartup1=1\nreconnect1=0\nfrequency1=${FREQ_TX}\noffe1=${SHIFT: -9: -8}${SHIFT: -8: -7}${SHIFT: -7: -6}.${SHIFT: -6}\nrangeKms1=1.000\nlatitude1=${LAT}\nlongitude1=${LONG}\nagl1=3.000\ndescription1_1=${DESCRIPTION}\ndescription1_2=${DESCRIPTION}\nurl1=${URL}\nband1_1=0\nband1_2=0\nband1_3=0" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\nrepeaterCall2=\nrepeaterBand2=\nrepeaterType2=0\nrepeaterAddress2=127.0.0.1\nrepeaterPort2=20012\nreflector2=\natStartup2=0\nreconnect2=0\nfrequency2=0.00000\noffset2=0.0000\nrangeKms2=0.000\nlatitude2=0.000000\nlongitude2=0.000000\nagl2=0.000\ndescription2_1=\ndescription2_2=\nurl2=\nband2_1=0\nband2_2=0\nband2_3=0" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\nrepeaterCall3=\nrepeaterBand3=\nrepeaterType3=0\nrepeaterAddress3=127.0.0.1\nrepeaterPort3=20013\nreflector3=\natStartup3=0\nreconnect3=0\nfrequency3=0.00000\noffset3=0.0000\nrangeKms3=0.000\nlatitude3=0.000000\nlongitude3=0.000000\nagl3=0.000\ndescription3_1=\ndescription3_2=\nurl3=\nband3_1=0\nband3_2=0\nband3_3=0" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\nrepeaterCall4=\nrepeaterBand4=\nrepeaterType4=0\nrepeaterAddress4=127.0.0.1\nrepeaterPort4=20014\nreflector4=\natStartup4=0\nreconnect4=0\nfrequency4=0.00000\noffset4=0.0000\nrangeKms4=0.000\nlatitude4=0.000000\nlongitude4=0.000000\nagl4=0.000\ndescription4_1=\ndescription4_2=\nurl4=\nband4_1=0\nband4_2=0\nband4_3=0" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\nircddbEnabled=${IRC_EN}\nircddbHostname=group1-irc.ircddb.net\nircddbUsername=${CALLSIGN}\nircddbPassword=${IRC_PWD}\nircddbEnabled2=${QUADNET_EN}\nircddbHostname2=rr.openquad.net\nircddbUsername2=${CALLSIGN}\nircddbPassword2=${IRC_PWD}\nircddbEnabled3=0\nircddbHostname3=\nircddbUsername3=\nircddbPassword3=\nircddbEnabled4=0\nircddbHostname4=\nircddbUsername4=\nircddbPassword4=" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\naprsEnabled=${APRS_EN}\naprsHostname=${APRS_HOST}\naprsPort=${APRS_PORT}\ndextraEnabled=${DEXTRA_EN}" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\ndextraMaxDongles=5\ndplusEnabled=${DPLUS_EN}\ndplusMaxDongles=5\ndplusLogin=${CALLSIGN}" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\ndcsEnabled=1\nccsEnabled=1\nccsHost=CCS701\nxlxEnabled=1\nxlxOverrideLocal=1\nxlxHostsFileUrl=xlxapi.rlx.lu/api.php?do=GetReflectorHostname" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\nstarNetBand1=A\nstarNetCallsign1=\nstarNetLogoff1=\nstarNetInfo1=\nstarNetPermanent1=\nstarNetUserTimeout1=300\nstarNetGroupTimeout1=300\nstarNetCallsignSwitch1=0\nstarNetTXMsgSwitch1=0\nstarNetReflector1=" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\nstarNetBand2=A\nstarNetCallsign2=\nstarNetLogoff2=\nstarNetInfo2=\nstarNetPermanent2=\nstarNetUserTimeout2=300\nstarNetGroupTimeout2=300\nstarNetCallsignSwitch2=0\nstarNetTXMsgSwitch2=0\nstarNetReflector2=" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\nstarNetBand3=A\nstarNetCallsign3=\nstarNetLogoff3=\nstarNetInfo3=\nstarNetPermanent3=\nstarNetUserTimeout3=300\nstarNetGroupTimeout3=300\nstarNetCallsignSwitch3=0\nstarNetTXMsgSwitch3=0\nstarNetReflector3=" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\nstarNetBand4=A\nstarNetCallsign4=\nstarNetLogoff4=\nstarNetInfo4=\nstarNetPermanent4=\nstarNetUserTimeout4=300\nstarNetGroupTimeout4=300\nstarNetCallsignSwitch4=0\nstarNetTXMsgSwitch4=0\nstarNetReflector4=" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\nstarNetBand5=A\nstarNetCallsign5=\nstarNetLogoff5=\nstarNetInfo5=\nstarNetPermanent5=\nstarNetUserTimeout5=300\nstarNetGroupTimeout5=300\nstarNetCallsignSwitch5=0\nstarNetTXMsgSwitch5=0\nstarNetReflector5=" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
printf "\nremoteEnabled=${REMOTE_EN}\nremotePassword=${REMOTE_PWD}\nremotePort=${REMOTE_PORT}\nlanguage=${LANGUAGE_NUM}\ninfoEnabled=1\nechoEnabled=1\nlogEnabled=1\ndratsEnabled=1\ndtmfEnabled=1\nwindowX=290\nwindowY=284" >>${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
|
||||
nano ${CONFIG_PATH_IRCDDBGATEWAY}ircddbgateway
|
||||
fi
|
||||
|
||||
if [ $DASH_EN = "1" ]; then
|
||||
|
||||
rm ${CONFIG_PATH_DASHBOARD}config.php
|
||||
|
||||
printf "<?php\n# This is an auto-generated config-file!\n# Be careful, when manual editing this!\n\ndate_default_timezone_set('UTC');">>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("MMDVMLOGPATH", "${LOG_PATH_MMDVMHOST}");\ndefine("MMDVMINIPATH", "${CONFIG_PATH_MMDVMHOST}");\ndefine("MMDVMINIFILENAME", "MMDVM.ini");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("MMDVMHOSTPATH", "/usr/local/bin/");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
if [ $Snm = "on" ]; then
|
||||
printf '\ndefine("ENABLEXTDLOOKUP", "${Snm}");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $ShTA = "on" ]; then
|
||||
printf '\ndefine("TALKERALIAS", "${ShTA}");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $SL3 = "on" ]; then
|
||||
printf '\ndefine("USESQLITE", "${SL3}");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
printf '\ndefine("DMRIDDATPATH", "${LOG_PATH_MMDVMHOST}DMRIds.dat");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
if [ $TGN = "on" ]; then
|
||||
printf '\ndefine("RESOLVETGS", "${TGN}");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $YSFGat = "on" ]; then
|
||||
printf '\ndefine("ENABLEYSFGATEWAY", "${YSFGat}");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
printf '\ndefine("YSFGATEWAYLOGPATH", "${LOG_PATH_YSFGATEWAY}");\ndefine("YSFGATEWAYLOGPREFIX", "YSFGateway");\ndefine("YSFGATEWAYINIPATH", "${CONFIG_PATH_YSFGATEWAY}");\ndefine("YSFGATEWAYINIFILENAME", "YSFGateway.ini");\ndefine("YSFHOSTSPATH", "${LOG_PATH_YSFGATEWAY}YSFHosts.txt");\ndefine("YSFHOSTSFILENAME", "YSFHotst.txt");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
if [ $DMRGat = "on" ]; then
|
||||
printf '\ndefine("ENABLEDMRGATEWAY", "${DMRGat}");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
printf '\ndefine("DMRGATEWAYLOGPATH", "${LOG_PATH_DMRGATEWAY}");\ndefine("DMRGATEWAYLOGPREFIX", "DMRGateway");\ndefine("DMRGATEWAYINIPATH", "${CONFIG_PATH_DMRGATEWAY}");\ndefine("DMRGATEWAYPATH", "/usr/local/bin/");\ndefine("DMRGATEWAYINIFILENAME", "DMRGateway.ini");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("LINKLOGPATH", "${LOG_PATH_IRCDDBGATEWAY}");\ndefine("IRCDDBGATEWAY", "ircddbgatewayd");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("TIMEZONE", "${TZ}");\ndefine("LOCALE", "${LOC}");\ndefine("LOGO", "${URLlogo}");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
if [ $NETphp = "on" ]; then
|
||||
printf '\ndefine("JSONNETWORK", "${NETphp}");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
printf '\ndefine("DMRPLUSLOGO", "${DMRlogo}");\ndefine("BRANDMEISTERLOGO", "${BMlogo}");\ndefine("REFRESHAFTER", "${Ref}");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
if [ $ShCI = "on" ]; then
|
||||
printf '\ndefine("SHOWCUSTOM", "'${ShCI}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $ShSI = "on" ]; then
|
||||
printf '\ndefine("SHOWCPU", "'${ShSI}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $ShDU = "on" ]; then
|
||||
printf '\ndefine("SHOWDISK", "'${ShDU}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $ShRI = "on" ]; then
|
||||
printf '\ndefine("SHOWRPTINFO", "'${ShRI}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $ShEM = "on" ]; then
|
||||
printf '\ndefine("SHOWMODES", "'${ShEM}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $ShLH = "on" ]; then
|
||||
printf '\ndefine("SHOWLH", "'${ShLH}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $ShLT = "on" ]; then
|
||||
printf '\ndefine("SHOWLOCALTX", "'${ShLT}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $ShPR = "on" ]; then
|
||||
printf '\ndefine("SHOWPROGRESSBARS", "'${ShPR}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $CPUT = "on" ]; then
|
||||
printf '\ndefine("TEMPERATUREALERT", "'${CPUT}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
printf '\ndefine("TEMPERATUREHIGHLEVEL", "'${WART}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
if [ $NSF = "on" ]; then
|
||||
printf '\ndefine("ENABLENETWORKSWITCHING", "'${NSF}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $DMRRSF = "on" ]; then
|
||||
printf '\ndefine("ENABLEREFLECTORSWITCHING", "'${DMRRSF}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
if [ $YSFRSF = "on" ]; then
|
||||
printf '\ndefine("ENABLEYSFREFLECTORSWITCHING", "'${YSFRSF}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
printf '\ndefine("SWITCHNETWORKUSER", "'${UseSN}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("SWITCHNETWORKPW", "'${PasSN}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
if [ $MF = "on" ]; then
|
||||
printf '\ndefine("ENABLEMANAGEMENT", "'${MF}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
printf '\ndefine("VIEWLOGUSER", "'${UseVL}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("VIEWLOGPW", "'${PasVL}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("HALTUSER", "'${UseHa}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("HALTPW", "'${PasHa}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("REBOOTUSER", "'${UseRe}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("REBOOTPW", "'${PasRe}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("RESTARTUSER", "'${UseRs}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("RESTARTPW", "'${PasRs}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("REBOOTYSFGATEWAY", "sudo service ysfgateway restart");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("REBOOTMMDVM", "sudo service mmdvmhost restart");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("REBOOTSYS", "sudo reboot");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("HALTSYS", "sudo halt");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
if [ $ShPO = "on" ]; then
|
||||
printf '\ndefine("SHOWPOWERSTATE", "'${ShPO}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
printf '\ndefine("POWERONLINEPIN", "'${GPIOMo}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
printf '\ndefine("POWERONLINESTATE", "'${OnLnSt}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
if [ $QRZcom = "on" ]; then
|
||||
printf '\ndefine("SHOWQRZ", "'${QRZcom}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
printf '\ndefine("RSSI", "'${RSSI}'");'>>${CONFIG_PATH_DASHBOARD}config.php
|
||||
|
||||
printf "\n?>">>${CONFIG_PATH_DASHBOARD}config.php
|
||||
|
||||
nano ${CONFIG_PATH_DASHBOARD}config.php
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
# install-mmdvm-sh
|
||||
Simple script for install mmdvm software on raspberry PI on Debian 10.
|
||||
|
||||
Software installing:
|
||||
* MMDVMHost
|
||||
* Wiring PI for LCD display 16Xn
|
||||
* DMRGateway
|
||||
* YSFClients
|
||||
* YSFGateway
|
||||
* YSFParrot
|
||||
* ircDDBGateway no gui
|
||||
* DG9VH MMDVMHost-Dashboard
|
||||
* Telegram BOT
|
||||
* Button power OFF
|
||||
* OpenVPN
|
||||
|
||||
Read INSTALL.md for exec the script.
|
||||
|
||||
For more info:
|
||||
|
||||
https://github.com/g4klx
|
||||
|
||||
https://github.com/dg9vh
|
||||
|
||||
|
||||
Executable
+62
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
|
||||
PATH_FILEEXECBUTTON=$1
|
||||
FILE_NAME=$2
|
||||
|
||||
echo 'installazione di buttonoff....'
|
||||
|
||||
echo 'Creazione file python'
|
||||
|
||||
echo '#!/usr/bin/python\n#Script per la gestione del power off del sistema tramite pulsante\n#collegato alla GPIO\n#scritto da Fabio PASTORINO IZ1JXP, Mauro ZUNINO IW1ELO' >>${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
echo 'import RPi.GPIO as GPIO' >>${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
echo 'import os\n' >>${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
echo 'GPIO.setmode(GPIO.BCM)' >>${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
echo 'GPIO.setwarnings(False)' >>${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
echo 'GPIO.setup(21,GPIO.IN,pull_up_down=GPIO.PUD_UP)' >>${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
echo 'GPIO.setup(16,GPIO.OUT)\n' >>${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
echo '#attendo la pressione del tasto (pin a massa)' >>${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
echo 'GPIO.wait_for_edge(21,GPIO.FALLING)\n' >>${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
echo '#accendo il led per confermare avvenuta fase di poweroff' >>${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
echo 'GPIO.output(16, True)' >>${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
echo 'os.system("sudo shutdown -h now")' >>${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
|
||||
chmod 777 ${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
|
||||
# nano ${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
|
||||
echo 'Creazione servizio systemd....'
|
||||
|
||||
echo '[Unit]' >>/lib/systemd/system/${FILE_NAME}.service
|
||||
echo 'Description=Servizio Button Off' >>/lib/systemd/system/${FILE_NAME}.service
|
||||
echo 'After=syslog.target network.target\n' >>/lib/systemd/system/${FILE_NAME}.service
|
||||
echo '[Service]' >>/lib/systemd/system/${FILE_NAME}.service
|
||||
echo 'User=root' >>/lib/systemd/system/${FILE_NAME}.service
|
||||
echo "WorkingDirectory=${PATH_FILEEXECBUTTON}" >>/lib/systemd/system/${FILE_NAME}.service
|
||||
echo "ExecStart=/usr/bin/python ${PATH_FILEEXECBUTTON}${FILE_NAME}.py" >>/lib/systemd/system/${FILE_NAME}.service
|
||||
echo 'ExecReload=/bin/kill -HUP $MAINPID' >>/lib/systemd/system/${FILE_NAME}.service
|
||||
echo 'KillMode=process\n' >>/lib/systemd/system/${FILE_NAME}.service
|
||||
echo '[Install]' >>/lib/systemd/system/${FILE_NAME}.service
|
||||
echo 'WantedBy=multi-user.target' >>/lib/systemd/system/${FILE_NAME}.service
|
||||
|
||||
# nano /lib/systemd/system/${FILE_NAME}.service
|
||||
|
||||
echo '[Timer]' >>/lib/systemd/system/${FILE_NAME}.timer
|
||||
echo 'OnStartupSec=30\n' >>/lib/systemd/system/${FILE_NAME}.timer
|
||||
echo '[Install]' >>/lib/systemd/system/${FILE_NAME}.timer
|
||||
echo 'WantedBy=multi-user.target' >>/lib/systemd/system/${FILE_NAME}.timer
|
||||
|
||||
# nano /lib/systemd/system/${FILE_NAME}.timer
|
||||
|
||||
chmod 755 /lib/systemd/system/${FILE_NAME}.service
|
||||
chmod 755 /lib/systemd/system/${FILE_NAME}.timer
|
||||
|
||||
|
||||
|
||||
# systemctl enable ${FILE_NAME}.timer
|
||||
|
||||
echo 'Fare "sudo reboot" per il corretto funzionanmeto.'
|
||||
echo "Per avviare manualmente l'applicazione 'sudo service ${FILE_NAME} start'"
|
||||
echo "per arrestare manualmente l'applicazione 'sudo service ${FILE_NAME} stop'"
|
||||
echo "Per disabilitare l'avvio automatico 'sudo systemctl disable ${FILE_NAME}.timer'"
|
||||
|
||||
exit 0
|
||||
Executable
+19
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo 'installazione dashboard....'
|
||||
|
||||
git clone https://github.com/dg9vh/MMDVMHost-Dashboard.git /var/www/html/MMDVMHost-Dashboard
|
||||
|
||||
groupadd www-data
|
||||
usermod -G www-data -a pi
|
||||
chown -R www-data:www-data /var/www/html
|
||||
chmod -R 775 /var/www/html
|
||||
|
||||
apt-get install php7.3-common php7.3-cgi php
|
||||
apt-get install sqlite3 php7.3-sqlite
|
||||
|
||||
lighty-enable-mod fastcgi
|
||||
lighty-enable-mod fastcgi-php
|
||||
service lighttpd force-reload
|
||||
|
||||
exit 0
|
||||
Executable
+39
@@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
PATH_RUN_SCRIPT=$1
|
||||
LOG_PATH_DMRGATEWAY=$2
|
||||
CONFIG_PATH_DMRGATEWAY=$3
|
||||
PATH_EXEC=$4
|
||||
N_CPU=$5
|
||||
|
||||
git clone https://github.com/g4klx/DMRGateway.git /home/pi/MMDVM/DMRGateway
|
||||
cd /home/pi/MMDVM/DMRGateway/
|
||||
make clean
|
||||
echo 'Compilazione DMRGateway...'
|
||||
if [ $N_CPU = "0" ]; then
|
||||
make
|
||||
else
|
||||
make -j$N_CPU all
|
||||
fi
|
||||
|
||||
cp -R /home/pi/MMDVM/DMRGateway/DMRGateway ${PATH_EXEC}
|
||||
mkdir -p ${CONFIG_PATH_DMRGATEWAY}
|
||||
mkdir -p ${LOG_PATH_DMRGATEWAY}
|
||||
chmod -R 777 ${CONFIG_PATH_DMRGATEWAY}
|
||||
chmod -R 777 ${LOG_PATH_DMRGATEWAY}
|
||||
|
||||
# sed -i 's,FilePath=.,FilePath=${LOG_PATH_DMRGATEWAY},g' ${CONFIG_PATH_DMRGATEWAY}MMDVM.ini
|
||||
# sed -i 's,FileLevel=1,FileLevel=0,g' ${CONFIG_PATH_DMRGATEWAY}MMDVM.ini
|
||||
# sed -i 's,# Port=/dev/ttyACM0,Port=/dev/ttyAMA0,g' ${CONFIG_PATH_DMRGATEWAY}MMDVM.ini
|
||||
# sed -i 's,Port=\\.\COM3,# Port=\\.\COM3,g' ${CONFIG_PATH_DMRGATEWAY}MMDVM.ini
|
||||
|
||||
#nano DMRGateway.ini
|
||||
|
||||
cp -R /home/pi/MMDVM/DMRGateway/DMRGateway.ini ${CONFIG_PATH_DMRGATEWAY}
|
||||
cp -R /home/pi/MMDVM/DMRGateway/XLXHosts.txt ${LOG_PATH_DMRGATEWAY}
|
||||
cp -R /home/pi/MMDVM/DMRGateway/Audio ${CONFIG_PATH_DMRGATEWAY}
|
||||
cp -R ${PATH_RUN_SCRIPT}/service/dmrgateway.service /lib/systemd/system/
|
||||
cp -R ${PATH_RUN_SCRIPT}/service/dmrgateway.timer /lib/systemd/system/
|
||||
chmod 755 /lib/systemd/system/dmrgateway.service
|
||||
chmod 755 /lib/systemd/system/dmrgateway.timer
|
||||
|
||||
exit 0
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
PATH_RUN_SCRIPT=$1
|
||||
LOG_PATH_IRCDDBGATEWAY=$2
|
||||
CONFIG_PATH_IRCDDBGATEWAY=$3
|
||||
PATH_EXEC=$4
|
||||
N_CPU=$5
|
||||
|
||||
git clone https://github.com/g4klx/ircDDBGateway.git /home/pi/MMDVM/ircDDBGateway
|
||||
echo 'Compilazione IRCDDBGateway...'
|
||||
cd /home/pi/MMDVM/ircDDBGateway/
|
||||
make clean
|
||||
sed -i "s%/var/log%${LOG_PATH_IRCDDBGATEWAY}%g" /home/pi/MMDVM/ircDDBGateway/Makefile
|
||||
sed -i "s%/etc%${CONFIG_PATH_IRCDDBGATEWAY}%g" /home/pi/MMDVM/ircDDBGateway/Makefile
|
||||
sed -i "s%/usr/bin%/usr/local/bin%g" /home/pi/MMDVM/ircDDBGateway/Makefile
|
||||
if [ $N_CPU = "0" ]; then
|
||||
make
|
||||
else
|
||||
make -j$N_CPU all
|
||||
fi
|
||||
|
||||
make install
|
||||
mkdir -p ${CONFIG_PATH_IRCDDBGATEWAY}
|
||||
mkdir -p ${LOG_PATH_IRCDDBGATEWAY}
|
||||
chown -R pi ${CONFIG_PATH_IRCDDBGATEWAY}
|
||||
chown -R pi ${LOG_PATH_IRCDDBGATEWAY}
|
||||
cp -R ${PATH_RUN_SCRIPT}/ircddbgateway ${CONFIG_PATH_IRCDDBGATEWAY}
|
||||
cp -R ${PATH_RUN_SCRIPT}/service/ircddbgatewayd.service /lib/systemd/system/
|
||||
cp -R ${PATH_RUN_SCRIPT}/service/ircddbgatewayd.timer /lib/systemd/system/
|
||||
chmod 755 /lib/systemd/system/ircddbgatewayd.service
|
||||
chmod 755 /lib/systemd/system/ircddbgatewayd.timer
|
||||
|
||||
exit 0
|
||||
Executable
+65
@@ -0,0 +1,65 @@
|
||||
#!/bin/sh
|
||||
|
||||
PATH_RUN_SCRIPT=$1
|
||||
LOG_PATH_MMDVMHOST=$2
|
||||
CONFIG_PATH_MMDVMHOST=$3
|
||||
PATH_EXEC=$4
|
||||
N_CPU=$5
|
||||
|
||||
git clone https://github.com/g4klx/MMDVMHost.git /home/pi/MMDVM/MMDVMHost
|
||||
sleep 2
|
||||
echo 'Vuoi installare la versione di MMDVMHost con Display HD44780? (y/n)'
|
||||
read VAR
|
||||
if [ $VAR = "y" ]; then
|
||||
echo 'Installazione di Wiring Pi....'
|
||||
sleep 2
|
||||
git clone git://git.drogon.net/wiringPi
|
||||
cd wiringPi
|
||||
sudo ./build
|
||||
sleep 2
|
||||
echo 'Compilazione e installazione di MMDVMHost con Display HD44780....'
|
||||
sleep 2
|
||||
cd /home/pi/MMDVM/MMDVMHost/
|
||||
|
||||
make clean
|
||||
echo 'Compilazione di MMDVMHost....'
|
||||
if [ $N_CPU = "0" ]; then
|
||||
make -f Makefile.Pi.HD44780
|
||||
else
|
||||
make -f Makefile.Pi.HD44780 -j$N_CPU all
|
||||
fi
|
||||
else
|
||||
echo 'Compilazione e installazione di MMDVMHost senza Display HD44780....'
|
||||
cd /home/pi/MMDVM/MMDVMHost/
|
||||
|
||||
make clean
|
||||
echo 'Compilazione MMDVMHost...'
|
||||
if [ $N_CPU = "0" ]; then
|
||||
make
|
||||
else
|
||||
make -j$N_CPU all
|
||||
fi
|
||||
fi
|
||||
|
||||
cp -R /home/pi/MMDVM/MMDVMHost/MMDVMHost ${PATH_EXEC}
|
||||
mkdir -p ${CONFIG_PATH_MMDVMHOST}
|
||||
mkdir -p ${LOG_PATH_MMDVMHOST}
|
||||
|
||||
chmod -R 777 ${CONFIG_PATH_MMDVMHOST}
|
||||
chmod -R 777 ${LOG_PATH_MMDVMHOST}
|
||||
|
||||
# nano MMDVM.ini
|
||||
|
||||
cp -R /home/pi/MMDVM/MMDVMHost/MMDVM.ini ${CONFIG_PATH_MMDVMHOST}
|
||||
cp -R /home/pi/MMDVM/MMDVMHost/NXDN.csv ${LOG_PATH_MMDVMHOST}
|
||||
cp -R ${PATH_RUN_SCRIPT}/service/mmdvmhost.service /lib/systemd/system/
|
||||
cp -R ${PATH_RUN_SCRIPT}/service/mmdvmhost.timer /lib/systemd/system/
|
||||
chmod 755 /lib/systemd/system/mmdvmhost.service
|
||||
chmod 755 /lib/systemd/system/mmdvmhost.timer
|
||||
#servizio crontab download DMR ID
|
||||
echo " 0 0 * * * root sh /home/pi/script/DMRIDUpdate.sh 1>/dev/null 2>&1" >> /etc/crontab
|
||||
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo 'installazione di OpenVPN....'
|
||||
sleep 2
|
||||
sudo apt-get install openvpn
|
||||
sudo apt-get install openssl
|
||||
sleep 2
|
||||
|
||||
exit 0
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
PATH_RUN_SCRIPT=$1
|
||||
|
||||
pip install telepot
|
||||
sleep 2
|
||||
|
||||
echo 'Crezione dei servizi.....'
|
||||
|
||||
cp -R ${PATH_RUN_SCRIPT}/telegrambot.py /home/pi/
|
||||
cp -R ${PATH_RUN_SCRIPT}/service/telegrambot.service /lib/systemd/system/
|
||||
cp -R ${PATH_RUN_SCRIPT}/service/telegrambot.timer /lib/systemd/system/
|
||||
chmod 755 /lib/systemd/system/telegrambot.service
|
||||
chmod 755 /lib/systemd/system/telegrambot.timer
|
||||
|
||||
exit 0
|
||||
Executable
+48
@@ -0,0 +1,48 @@
|
||||
#!/bin/sh
|
||||
|
||||
PATH_RUN_SCRIPT=$1
|
||||
LOG_PATH_YSFGATEWAY=$2
|
||||
CONFIG_PATH_YSFGATEWAY=$3
|
||||
PATH_EXEC=$4
|
||||
N_CPU=$5
|
||||
|
||||
git clone https://github.com/g4klx/YSFClients.git /home/pi/MMDVM/YSFClients
|
||||
cd /home/pi/MMDVM/YSFClients/YSFGateway/
|
||||
sudo make clean
|
||||
echo 'Compilazione YSFGateway...'
|
||||
if [ $N_CPU = "0" ]; then
|
||||
make
|
||||
else
|
||||
make -j$N_CPU all
|
||||
fi
|
||||
|
||||
mkdir -p ${CONFIG_PATH_YSFGATEWAY}
|
||||
mkdir -p ${LOG_PATH_YSFGATEWAY}
|
||||
chmod -R 777 ${CONFIG_PATH_YSFGATEWAY}
|
||||
chmod -R 777 ${LOG_PATH_YSFGATEWAY}
|
||||
|
||||
cp -R /home/pi/MMDVM/YSFClients/YSFGateway/YSFGateway ${PATH_EXEC}
|
||||
cp -R /home/pi/MMDVM/YSFClients/YSFGateway/FCSRooms.txt ${CONFIG_PATH_YSFGATEWAY}
|
||||
cp -R /home/pi/MMDVM/YSFClients/YSFGateway/YSFGateway.ini ${CONFIG_PATH_YSFGATEWAY}
|
||||
|
||||
cd /home/pi/MMDVM/YSFClients/YSFParrot/
|
||||
echo 'Compilazione YSFParrot...'
|
||||
if [ $N_CPU = "0" ]; then
|
||||
make
|
||||
else
|
||||
make -j$N_CPU all
|
||||
fi
|
||||
|
||||
cp -R /home/pi/MMDVM/YSFClients/YSFParrot/YSFParrot ${PATH_EXEC}
|
||||
cp -R ${PATH_RUN_SCRIPT}/service/ysfgateway.service /lib/systemd/system/
|
||||
cp -R ${PATH_RUN_SCRIPT}/service/ysfparrot.service /lib/systemd/system/
|
||||
cp -R ${PATH_RUN_SCRIPT}/service/ysfgateway.timer /lib/systemd/system/
|
||||
cp -R ${PATH_RUN_SCRIPT}/service/ysfparrot.timer /lib/systemd/system/
|
||||
chmod 755 /lib/systemd/system/ysfgateway.service
|
||||
chmod 755 /lib/systemd/system/ysfparrot.service
|
||||
chmod 755 /lib/systemd/system/ysfgateway.timer
|
||||
chmod 755 /lib/systemd/system/ysfparrot.timer
|
||||
#add crontab service update reflector list
|
||||
echo"* /5 * * * * root wget -O /var/log/ysfgateway/YSFHosts.txt http://register.ysfreflector.de/export_csv.php" >> /etc/crontab
|
||||
|
||||
exit 0
|
||||
Executable
+183
@@ -0,0 +1,183 @@
|
||||
gatewayType=1
|
||||
gatewayCallsign=IZ1MLT
|
||||
gatewayAddress=0.0.0.0
|
||||
icomAddress=127.0.0.1
|
||||
icomPort=20000
|
||||
hbAddress=127.0.0.1
|
||||
hbPort=20010
|
||||
latitude=44.554375
|
||||
longitude=8.938647
|
||||
description1=Pass Giovi, JN44LN
|
||||
description2=Italia, IT
|
||||
url=www.google.com
|
||||
repeaterCall1=IZ1MLT
|
||||
repeaterBand1=B
|
||||
repeaterType1=0
|
||||
repeaterAddress1=127.0.0.1
|
||||
repeaterPort1=20011
|
||||
reflector1=DCS999 K
|
||||
atStartup1=1
|
||||
reconnect1=0
|
||||
frequency1=430.43750
|
||||
offset1=5.0000
|
||||
rangeKms1=1.000
|
||||
latitude1=44.554375
|
||||
longitude1=8.938647
|
||||
agl1=3.000
|
||||
description1_1=Pass Giovi, JN44LN
|
||||
description1_2=Italia, IT
|
||||
url1=www.google.com
|
||||
band1_1=0
|
||||
band1_2=0
|
||||
band1_3=0
|
||||
repeaterCall2=
|
||||
repeaterBand2=
|
||||
repeaterType2=0
|
||||
repeaterAddress2=127.0.0.1
|
||||
repeaterPort2=20012
|
||||
reflector2=
|
||||
atStartup2=0
|
||||
reconnect2=0
|
||||
frequency2=0.00000
|
||||
offset2=0.0000
|
||||
rangeKms2=0.000
|
||||
latitude2=0.000000
|
||||
longitude2=0.000000
|
||||
agl2=0.000
|
||||
description2_1=
|
||||
description2_2=
|
||||
url2=
|
||||
band2_1=0
|
||||
band2_2=0
|
||||
band2_3=0
|
||||
repeaterCall3=
|
||||
repeaterBand3=
|
||||
repeaterType3=0
|
||||
repeaterAddress3=127.0.0.1
|
||||
repeaterPort3=20013
|
||||
reflector3=
|
||||
atStartup3=0
|
||||
reconnect3=0
|
||||
frequency3=0.00000
|
||||
offset3=0.0000
|
||||
rangeKms3=0.000
|
||||
latitude3=0.000000
|
||||
longitude3=0.000000
|
||||
agl3=0.000
|
||||
description3_1=
|
||||
description3_2=
|
||||
url3=
|
||||
band3_1=0
|
||||
band3_2=0
|
||||
band3_3=0
|
||||
repeaterCall4=
|
||||
repeaterBand4=
|
||||
repeaterType4=0
|
||||
repeaterAddress4=127.0.0.1
|
||||
repeaterPort4=20014
|
||||
reflector4=
|
||||
atStartup4=0
|
||||
reconnect4=0
|
||||
frequency4=0.00000
|
||||
offset4=0.0000
|
||||
rangeKms4=0.000
|
||||
latitude4=0.000000
|
||||
longitude4=0.000000
|
||||
agl4=0.000
|
||||
description4_1=
|
||||
description4_2=
|
||||
url4=
|
||||
band4_1=0
|
||||
band4_2=0
|
||||
band4_3=0
|
||||
ircddbEnabled=0
|
||||
ircddbHostname=rr.openquad.net
|
||||
ircddbUsername=IZ1MLT
|
||||
ircddbPassword=
|
||||
ircddbEnabled2=0
|
||||
ircddbHostname2=rr.openquad.net
|
||||
ircddbUsername2=
|
||||
ircddbPassword2=
|
||||
ircddbEnabled3=0
|
||||
ircddbHostname3=
|
||||
ircddbUsername3=
|
||||
ircddbPassword3=
|
||||
ircddbEnabled4=0
|
||||
ircddbHostname4=
|
||||
ircddbUsername4=
|
||||
ircddbPassword4=
|
||||
aprsEnabled=1
|
||||
aprsHostname=italy1.aprs2.net
|
||||
aprsPort=14580
|
||||
dextraEnabled=1
|
||||
dextraMaxDongles=5
|
||||
dplusEnabled=1
|
||||
dplusMaxDongles=5
|
||||
dplusLogin=IZ1JFP
|
||||
dcsEnabled=1
|
||||
ccsEnabled=1
|
||||
ccsHost=CCS701
|
||||
xlxEnabled=1
|
||||
xlxOverrideLocal=1
|
||||
xlxHostsFileUrl=xlxapi.rlx.lu/api.php?do=GetReflectorHostname
|
||||
starNetBand1=B
|
||||
starNetCallsign1=
|
||||
starNetLogoff1=
|
||||
starNetInfo1=
|
||||
starNetPermanent1=
|
||||
starNetUserTimeout1=300
|
||||
starNetGroupTimeout1=300
|
||||
starNetCallsignSwitch1=1
|
||||
starNetTXMsgSwitch1=1
|
||||
starNetReflector1=
|
||||
starNetBand2=B
|
||||
starNetCallsign2=
|
||||
starNetLogoff2=
|
||||
starNetInfo2=
|
||||
starNetPermanent2=
|
||||
starNetUserTimeout2=300
|
||||
starNetGroupTimeout2=300
|
||||
starNetCallsignSwitch2=1
|
||||
starNetTXMsgSwitch2=1
|
||||
starNetReflector2=
|
||||
starNetBand3=A
|
||||
starNetCallsign3=
|
||||
starNetLogoff3=
|
||||
starNetInfo3=
|
||||
starNetPermanent3=
|
||||
starNetUserTimeout3=300
|
||||
starNetGroupTimeout3=300
|
||||
starNetCallsignSwitch3=0
|
||||
starNetTXMsgSwitch3=1
|
||||
starNetReflector3=
|
||||
starNetBand4=A
|
||||
starNetCallsign4=
|
||||
starNetLogoff4=
|
||||
starNetInfo4=
|
||||
starNetPermanent4=
|
||||
starNetUserTimeout4=300
|
||||
starNetGroupTimeout4=300
|
||||
starNetCallsignSwitch4=0
|
||||
starNetTXMsgSwitch4=1
|
||||
starNetReflector4=
|
||||
starNetBand5=A
|
||||
starNetCallsign5=
|
||||
starNetLogoff5=
|
||||
starNetInfo5=
|
||||
starNetPermanent5=
|
||||
starNetUserTimeout5=300
|
||||
starNetGroupTimeout5=300
|
||||
starNetCallsignSwitch5=0
|
||||
starNetTXMsgSwitch5=1
|
||||
starNetReflector5=
|
||||
remoteEnabled=1
|
||||
remotePassword=raspbery
|
||||
remotePort=10022
|
||||
language=4
|
||||
infoEnabled=1
|
||||
echoEnabled=1
|
||||
logEnabled=1
|
||||
dratsEnabled=1
|
||||
dtmfEnabled=1
|
||||
windowX=290
|
||||
windowY=284
|
||||
Executable
+115
@@ -0,0 +1,115 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# Shellscript: base.sh - visualizza un numero in basi differenti (Bourne Shell)
|
||||
# Autore : Luca Marchesano IZ1MLT (iz1mlt@hotmail.it)
|
||||
# Data : 22-01-2018
|
||||
# Categoria : shell
|
||||
# $Id : mmdvm.sh ,v 1.0 2018/01/18 9:10:35
|
||||
#
|
||||
################################################################################
|
||||
# Descrizione
|
||||
# creazione script per l'installazione di MMDVMHost e DMRGateway
|
||||
# Changes
|
||||
# 22-01-18 st
|
||||
# 12-05-18 aggiornamento script per debian 9 e aggiornamento YSFGateway
|
||||
# 06-01-20 Update script for Debian 10
|
||||
################################################################################
|
||||
|
||||
LOG_PATH_MMDVMHOST="/var/log/mmdvmhost/"
|
||||
LOG_PATH_DMRGATEWAY="/var/log/dmrgateway/"
|
||||
LOG_PATH_YSFGATEWAY="/var/log/ysfgateway/"
|
||||
LOG_PATH_IRCDDBGATEWAY="/var/log/ircddbgateway"
|
||||
|
||||
CONFIG_PATH_MMDVMHOST="/etc/mmdvmhost/"
|
||||
CONFIG_PATH_DMRGATEWAY="/etc/dmrgateway/"
|
||||
CONFIG_PATH_YSFGATEWAY="/etc/ysfgateway/"
|
||||
CONFIG_PATH_IRCDDBGATEWAY="/etc/ircddbgateway"
|
||||
|
||||
PATH_EXEC="/usr/local/bin/"
|
||||
PATH_RUN_SCRIPT=$(pwd)
|
||||
|
||||
FILE_NAME="buttonoff" #Nome senza estersione
|
||||
PATH_FILEEXECBUTTON="/usr/local/bin/" #Destinazione programma python
|
||||
|
||||
|
||||
|
||||
#Utility per ricavare il numero di core attivi e ottimizzare la compilazione del software
|
||||
N_CPU=$(sed -n -e 1p -e 11p -e 21p -e 31p /proc/cpuinfo | grep -e "processor" | tail --lines 1 | cut -f 2 -d" ")
|
||||
if [ $N_CPU = "1" ]; then
|
||||
N_CPU="2"
|
||||
elif [ $N_CPU = "2" ]; then
|
||||
N_CPU="3"
|
||||
elif [ $N_CPU = "3" ]; then
|
||||
N_CPU="4"
|
||||
else
|
||||
N_CPU="0"
|
||||
fi
|
||||
|
||||
echo "Il numero di core è $N_CPU"
|
||||
sleep 3
|
||||
|
||||
echo 'Aggiornamento e installazione dei pachetti neccessari'
|
||||
|
||||
apt-get update
|
||||
apt-get upgrade
|
||||
apt-get install git build-essential libwxgtk3.0-dev portaudio19-dev libusb-1.0-0-dev chkconfig python-pip lighttpd
|
||||
|
||||
# apt-get -f upgrade
|
||||
apt-get autoremove
|
||||
|
||||
|
||||
echo 'Vuoi installare MMDVMHost? (y/n)'
|
||||
read VAR
|
||||
if [ $VAR = "y" ]; then
|
||||
sh ${PATH_RUN_SCRIPT}/install/mmdvmhost.sh ${PATH_RUN_SCRIPT} ${LOG_PATH_MMDVMHOST} ${CONFIG_PATH_MMDVMHOST} ${PATH_EXEC} ${N_CPU}
|
||||
fi
|
||||
|
||||
echo 'Vuoi installare DMRGateway? (y/n)'
|
||||
read VAR
|
||||
if [ $VAR = "y" ]; then
|
||||
sh ${PATH_RUN_SCRIPT}/install/dmrgateway.sh ${PATH_RUN_SCRIPT} ${LOG_PATH_DMRGATEWAY} ${CONFIG_PATH_DMRGATEWAY} ${PATH_EXEC} ${N_CPU}
|
||||
fi
|
||||
|
||||
echo 'Vuoi installare YSFClients? (y/n)'
|
||||
read VAR
|
||||
if [ $VAR = "y" ]; then
|
||||
sh ${PATH_RUN_SCRIPT}/install/ysfclients.sh ${PATH_RUN_SCRIPT} ${LOG_PATH_YSFGATEWAY} ${CONFIG_PATH_YSFGATEWAY} ${PATH_EXEC} ${N_CPU}
|
||||
fi
|
||||
|
||||
echo 'Vuoi installare ircDDBGateway? (y/n)'
|
||||
read VAR
|
||||
if [ $VAR = "y" ]; then
|
||||
sh ${PATH_RUN_SCRIPT}/install/ircddbgateway.sh ${PATH_RUN_SCRIPT} ${LOG_PATH_IRCDDBGATEWAY} ${CONFIG_PATH_IRCDDBGATEWAY} ${PATH_EXEC} ${N_CPU}
|
||||
fi
|
||||
|
||||
echo 'Vuoi installare i servizi bot telegram? (y/n)'
|
||||
read VAR
|
||||
if [ $VAR = "y" ]; then
|
||||
sh ${PATH_RUN_SCRIPT}/install/telegrambot.sh ${PATH_RUN_SCRIPT}
|
||||
fi
|
||||
|
||||
cp -R ${PATH_RUN_SCRIPT}/script /home/pi/
|
||||
|
||||
echo 'Vuoi installare dashboard? (y/n)'
|
||||
read VAR
|
||||
if [ $VAR = "y" ]; then
|
||||
sh ${PATH_RUN_SCRIPT}/install/dashboard.sh
|
||||
fi
|
||||
|
||||
echo 'Vuoi installare buttonoff? (y/n)'
|
||||
read VAR
|
||||
if [ $VAR = "y" ]; then
|
||||
sh ${PATH_RUN_SCRIPT}/install/buttonoff.sh ${PATH_FILEEXECBUTTON} ${FILE_NAME}
|
||||
fi
|
||||
|
||||
echo 'Vuoi installare OpenVPN? (y/n)'
|
||||
read VAR
|
||||
if [ $VAR = "y" ]; then
|
||||
sh ${PATH_RUN_SCRIPT}/install/openvpn.sh
|
||||
fi
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
echo 'Fine istallazione, si consiglia di fare un reboot se tutto e stato eseguito corretamente '
|
||||
|
||||
exit 0
|
||||
Executable
+66
@@ -0,0 +1,66 @@
|
||||
#!/bin/sh
|
||||
#---------------------------------Carico percorsi da script di installazione-----------------------------------------------------
|
||||
PATH_FILE_INSTAL_MMDVM=$(pwd)"/mmdvm.sh"
|
||||
|
||||
LOG_PATH_MMDVMHOST=$(grep -e "LOG_PATH_MMDVMHOST=" ${PATH_FILE_INSTAL_MMDVM} | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
LOG_PATH_DMRGATEWAY=$(grep -e "LOG_PATH_DMRGATEWAY=" ${PATH_FILE_INSTAL_MMDVM} | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
LOG_PATH_YSFGATEWAY=$(grep -e "LOG_PATH_YSFGATEWAY=" ${PATH_FILE_INSTAL_MMDVM} | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
LOG_PATH_IRCDDBGATEWAY=$(grep -e "LOG_PATH_IRCDDBGATEWAY=" ${PATH_FILE_INSTAL_MMDVM} | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
CONFIG_PATH_MMDVMHOST=$(grep -e "CONFIG_PATH_MMDVMHOST=" ${PATH_FILE_INSTAL_MMDVM} | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
CONFIG_PATH_DMRGATEWAY=$(grep -e "CONFIG_PATH_DMRGATEWAY=" ${PATH_FILE_INSTAL_MMDVM} | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
CONFIG_PATH_YSFGATEWAY=$(grep -e "CONFIG_PATH_YSFGATEWAY=" ${PATH_FILE_INSTAL_MMDVM} | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
CONFIG_PATH_IRCDDBGATEWAY=$(grep -e "CONFIG_PATH_IRCDDBGATEWAY=" ${PATH_FILE_INSTAL_MMDVM} | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
PATH_EXEC=$(grep -e "PATH_EXEC=" ${PATH_FILE_INSTAL_MMDVM} | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
FILE_NAME=$(grep -e "FILE_NAME=" ${PATH_FILE_INSTAL_MMDVM} | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
PATH_FILEEXECBUTTON=$(grep -e "PATH_FILEEXECBUTTON=" ${PATH_FILE_INSTAL_MMDVM} | cut -f 2 -d"=" | cut -f 2 -d'"')
|
||||
#---------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
echo 'Arresto e disabilitrazione servizi....'
|
||||
service mmdvmhost stop
|
||||
service dmrgateway stop
|
||||
service ysfgateway stop
|
||||
service ysfparrot stop
|
||||
service ircddbgatewayd stop
|
||||
service ${FILE_NAME} stop
|
||||
service telegrambot stop
|
||||
systemctl disable mmdvmhost.timer
|
||||
systemctl disable dmrgateway.timer
|
||||
systemctl disable ysfgateway.timer
|
||||
systemctl disable ysfparrot.timer
|
||||
systemctl disable ircddbgatewayd.timer
|
||||
systemctl disable ${FILE_NAME}.timer
|
||||
systemctl disable telegrambot.timer
|
||||
|
||||
echo 'Eliminazione servizi......'
|
||||
rm -R /lib/systemd/system/mmdvmhost.* /lib/systemd/system/dmrgateway.* /lib/systemd/system/ysfgateway.* /lib/systemd/system/ysfparrot.* /lib/systemd/system/ircddbgatewayd.* /lib/systemd/system/telegrambot.* /lib/systemd/system/${FILE_NAME}.*
|
||||
|
||||
echo 'Disinstallazione ircDDBGateway.....'
|
||||
cd /home/pi/MMDVM/ircDDBGateway/
|
||||
make distclean
|
||||
make clean
|
||||
|
||||
rm -R /usr/local/bin/aprstransmitd /usr/local/bin/remotecontrold /usr/local/bin/texttransmitd /usr/local/bin/voicetransmitd /usr/local/sbin/aprstransmitd /usr/local/sbin/ircddbgatewayd /usr/local/sbin/ircddbgatewayconfig /usr/local/sbin/starnetserverd /usr/local/sbin/timercontrold /usr/local/sbin/timeserverd
|
||||
rm -R /usr/share/ircddbgateway
|
||||
|
||||
echo 'Disinstallazione di mmdvmhost, dmrgateway, ysfgateway, ysfparrot, buttonoff.....'
|
||||
rm -R ${LOG_PATH_MMDVMHOST} ${LOG_PATH_DMRGATEWAY} ${LOG_PATH_YSFGATEWAY} ${LOG_PATH_IRCDDBGATEWAY} ${CONFIG_PATH_MMDVMHOST} ${CONFIG_PATH_DMRGATEWAY} ${CONFIG_PATH_YSFGATEWAY} ${CONFIG_PATH_IRCDDBGATEWAY}
|
||||
rm /usr/local/bin/MMDVMHost /usr/local/bin/DMRGateway /usr/local/bin/YSFGateway /usr/local/bin/YSFParrot ${PATH_FILEEXECBUTTON}${FILE_NAME}.py
|
||||
|
||||
echo 'Eliminazione cartella /home/pi/MMDVM.....'
|
||||
rm -R /home/pi/MMDVM
|
||||
|
||||
echo 'Eliminazione dashbord....'
|
||||
rm -R /var/www/html/MMDVMHost-Dashboard/
|
||||
|
||||
rm -R /home/pi/script/
|
||||
|
||||
echo 'Eliminazione servizi crontab....'
|
||||
sed -e /home/d -e /log/d /etc/crontab > /tmp/crontabappend
|
||||
cat /tmp/crontabappend > /etc/crontab
|
||||
rm /tmp/crontabappend
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
echo 'Fine!! Riavviare il sistema'
|
||||
exit 0
|
||||
|
||||
Executable
+108
@@ -0,0 +1,108 @@
|
||||
#! /bin/bash
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# DMRIDUpdate.sh
|
||||
#
|
||||
# Copyright (C) 2016 by Tony Corbett G0WFV
|
||||
#
|
||||
# This program 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 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program 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 this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
###############################################################################
|
||||
#
|
||||
# On a Linux based system, such as a Raspberry Pi, this script will perform all
|
||||
# the steps required to maintain the DMRIds.dat (or similar) file for you.
|
||||
#
|
||||
# It is designed to run from crontab and will download the latest IDs from the
|
||||
# master DMR-MARC ID database and optionally keep a backup of previously
|
||||
# created files for you.
|
||||
#
|
||||
# It will also prune the number of backup files according to a value specified
|
||||
# by you in the configuration below.
|
||||
#
|
||||
# When done, it will restart MMDVMHost to make the ID changes take effect.
|
||||
#
|
||||
# To install in root's crontab use the command ...
|
||||
#
|
||||
# sudo crontab -e
|
||||
#
|
||||
# ... and add the following line to the bottom of the file ...
|
||||
#
|
||||
# 0 0 * * * /path/to/script/DMRIDUpdate.sh 1>/dev/null 2>&1
|
||||
#
|
||||
# ... where /path/to/script/ should be replaced by the path to this script.
|
||||
#
|
||||
###############################################################################
|
||||
#
|
||||
# CONFIGURATION
|
||||
#
|
||||
# Full path to DMR ID file
|
||||
DMRIDPATH=/var/log/mmdvmhost
|
||||
DMRIDFILE=${DMRIDPATH}/DMRIds.dat
|
||||
#
|
||||
# DMR IDs now served by RadioID.net
|
||||
DATABASEURL='https://ham-digital.org/status/users.csv'
|
||||
#
|
||||
# How many DMR ID files do you want backed up (0 = do not keep backups)
|
||||
DMRFILEBACKUP=1
|
||||
#
|
||||
# Command line to restart MMDVMHost
|
||||
RESTARTCOMMAND="systemctl restart mmdvmhost.service"
|
||||
# RESTARTCOMMAND="killall MMDVMHost ; /path/to/MMDVMHost/executable/MMDVMHost /path/to/MMDVM/ini/file/MMDVM.ini"
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Do not edit below here
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
# Check we are root
|
||||
if [ "$(id -u)" != "0" ]
|
||||
then
|
||||
echo "This script must be run as root" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create backup of old file
|
||||
if [ ${DMRFILEBACKUP} -ne 0 ]
|
||||
then
|
||||
cp ${DMRIDFILE} ${DMRIDFILE}.$(date +%d%m%y)
|
||||
fi
|
||||
|
||||
# Prune backups
|
||||
BACKUPCOUNT=$(ls ${DMRIDFILE}.* | wc -l)
|
||||
BACKUPSTODELETE=$(expr ${BACKUPCOUNT} - ${DMRFILEBACKUP})
|
||||
|
||||
if [ ${BACKUPCOUNT} -gt ${DMRFILEBACKUP} ]
|
||||
then
|
||||
for f in $(ls -tr ${DMRIDFILE}.* | head -${BACKUPSTODELETE})
|
||||
do
|
||||
rm $f
|
||||
done
|
||||
fi
|
||||
|
||||
# Generate new file
|
||||
curl ${DATABASEURL} 2>/dev/null | sed -e 's/\t//g' | awk -F"," '/,/{gsub(/ /, "", $2); printf "%s\t%s\t%s\n", $1, $2, $3}' | sed -e 's/\(.\) .*/\1/g' > ${DMRIDPATH}/DMRIds.tmp
|
||||
NUMOFLINES=$(wc -l ${DMRIDPATH}/DMRIds.tmp | awk '{print $1}')
|
||||
if [ $NUMOFLINES -gt 1 ]
|
||||
then
|
||||
mv ${DMRIDPATH}/DMRIds.tmp ${DMRIDFILE}
|
||||
else
|
||||
echo " ERROR during file update "
|
||||
rm ${DMRIDPATH}/DMRIds.tmp
|
||||
fi
|
||||
|
||||
# Restart MMDVMHost
|
||||
eval ${RESTARTCOMMAND}
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
#-----------------------------------------------------
|
||||
LOG_PATH="/var/log/mmdvm/MMDVM-*"
|
||||
#-----------------------------------------------------
|
||||
|
||||
LAST_DSTAR=$(grep -e "D-Star, received network header from" -e "D-Star, received RF header from" ${LOG_PATH} | tail --lines 1 | cut -f 2,4,6,9,11,13,14 -d" ")
|
||||
LAST_C4FM=$(grep -e "YSF, received network header from" -e "YSF, received RF header from" ${LOG_PATH} | tail --lines 1 | cut -f 2,4,6,9,10,16 -d" ")
|
||||
LAST_DMR_TS1=$(grep -e "DMR Slot 1, received RF voice header from" -e "DMR Slot 1, received network voice header from" ${LOG_PATH} | tail --lines 1 | cut -f 2,5,6,8,12,14,15 -d" ")
|
||||
LAST_DMR_TS2=$(grep -e "DMR Slot 2, received RF voice header from" -e "DMR Slot 2, received network voice header from" ${LOG_PATH} | tail --lines 1 | cut -f 2,5,6,8,12,14,15 -d" ")
|
||||
echo ${LAST_DSTAR}
|
||||
echo ${LAST_C4FM}
|
||||
echo ${LAST_DMR_TS1}
|
||||
echo ${LAST_DMR_TS2}
|
||||
|
||||
exit
|
||||
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
[Unit]
|
||||
Description=DMRGateway Service
|
||||
After=network-online.target netcheck.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
StandardOutput=null
|
||||
WorkingDirectory=/usr/local/bin
|
||||
ExecStart=/usr/local/bin/DMRGateway /etc/dmrgateway/DMRGateway.ini
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
KillMode=process
|
||||
|
||||
[Install]
|
||||
# To make the network-online.target available
|
||||
# systemctl enable systemd-networkd-wait-online.service
|
||||
WantedBy=network-online.target
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
[Timer]
|
||||
OnStartupSec=32
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
Unit]
|
||||
Description=ircDDBGateway Service
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
# Restart=always
|
||||
# RestartSec=3
|
||||
StandardOutput=null
|
||||
WorkingDirectory=/usr/local/sbin
|
||||
ExecStart=/usr/local/bin/ircddbgatewayd -logdir /var/log/ircddbgateway -confdir /etc/ircddbgateway
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
KillMode=process
|
||||
|
||||
[Install]
|
||||
# To make the network-online.target available
|
||||
# systemctl enable systemd-networkd-wait-online.service
|
||||
WantedBy=network-online.target
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
[Timer]
|
||||
OnStartupSec=31
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
[Unit]
|
||||
Description=MMDVMHost Service
|
||||
After=network-online.target netcheck.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
StandardOutput=null
|
||||
WorkingDirectory=/usr/local/bin
|
||||
ExecStart=/usr/local/bin/MMDVMHost /etc/mmdvmhost/MMDVM.ini
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
KillMode=process
|
||||
|
||||
[Install]
|
||||
# To make the network-online.target available
|
||||
# systemctl enable systemd-networkd-wait-online.service
|
||||
WantedBy=network-online.target
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
[Timer]
|
||||
OnStartupSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
Unit]
|
||||
Description=TelegraBot Service
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
# Restart=always
|
||||
# RestartSec=3
|
||||
StandardOutput=null
|
||||
WorkingDirectory=/usr/bin
|
||||
ExecStart=/usr/bin/python /home/pi/telegrambot.py
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
KillMode=process
|
||||
|
||||
[Install]
|
||||
# To make the network-online.target available
|
||||
# systemctl enable systemd-networkd-wait-online.service
|
||||
WantedBy=multi-user.target
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
[Timer]
|
||||
OnStartupSec=34
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
[Unit]
|
||||
Description=YSFGateway Service
|
||||
After=network-online.target netcheck.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
StandardOutput=null
|
||||
WorkingDirectory=/usr/local/bin
|
||||
ExecStart=/usr/local/bin/YSFGateway /etc/ysfgateway/YSFGateway.ini
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
KillMode=process
|
||||
|
||||
[Install]
|
||||
# To make the network-online.target available
|
||||
# systemctl enable systemd-networkd-wait-online.service
|
||||
WantedBy=network-online.target
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
[Timer]
|
||||
OnStartupSec=35
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
[Unit]
|
||||
Description=YSFParrot Service
|
||||
After=network-online.target netcheck.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
StandardOutput=null
|
||||
WorkingDirectory=/usr/local/bin
|
||||
ExecStart=/usr/local/bin/YSFParrot 42012
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
KillMode=process
|
||||
|
||||
[Install]
|
||||
# To make the network-online.target available
|
||||
# systemctl enable systemd-networkd-wait-online.service
|
||||
WantedBy=network-online.target
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
[Timer]
|
||||
OnStartupSec=40
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Executable
+63
@@ -0,0 +1,63 @@
|
||||
import commands
|
||||
import sys
|
||||
import telepot
|
||||
import time
|
||||
|
||||
def handle(msg):
|
||||
chat_id = msg['chat']['id']
|
||||
command = msg['text']
|
||||
|
||||
print '%s' % command
|
||||
|
||||
if command == '/info':
|
||||
info = commands.getoutput("uname -a")
|
||||
bot.sendMessage(chat_id,"Sistema basato su Pi-Star %s" % info)
|
||||
|
||||
elif command == '/mmdvmstop':
|
||||
bot.sendMessage(chat_id, "MMDVMHost arrestato")
|
||||
out = commands.getoutput("sudo service mmdvmhost stop")
|
||||
|
||||
elif command == '/mmdvmstart':
|
||||
bot.sendMessage(chat_id, "MMDVMHost partito")
|
||||
out = commands.getoutput("sudo service mmdvmhost start")
|
||||
|
||||
elif command == '/mmdvmrst':
|
||||
bot.sendMessage(chat_id, "MMDVMHost riavviato")
|
||||
out = commands.getoutput("sudo service mmdvmhost restart")
|
||||
|
||||
elif command == '/dmrgstop':
|
||||
bot.sendMessage(chat_id, "DMRGateway arrestato")
|
||||
out = commands.getoutput("sudo service dmrgateway stop")
|
||||
|
||||
elif command == '/dmrgstart':
|
||||
bot.sendMessage(chat_id, "DMRGateway partito")
|
||||
out = commands.getoutput("sudo service dmrgateway start")
|
||||
|
||||
elif command == '/dmrgrst':
|
||||
bot.sendMessage(chat_id, "DMRGateway riavviato")
|
||||
out = commands.getoutput("sudo service dmrgateway restart")
|
||||
|
||||
elif command == '/reboot':
|
||||
out = commands.getoutput("sudo shutdown -r -t 1")
|
||||
bot.sendMessage(chat_id, "Riavvio in corso...")
|
||||
|
||||
elif command == '/off':
|
||||
bot.sendMessage(chat_id, "Arresro...")
|
||||
out = commands.getoutput("sudo halt")
|
||||
|
||||
#----------------------------------------------------------------------------------------------------------------------------
|
||||
elif command[0:5] == '/temp':
|
||||
temp = commands.getoutput("cat /sys/class/thermal/thermal_zone0/temp")
|
||||
temperatura = int(temp) / 1000
|
||||
temp = str(temperatura)
|
||||
out = commands.getoutput("texttransmit iz1mlt_b -text:'Temp CPU %s gradi'" % temp)
|
||||
bot.sendMessage(chat_id,"Temperatura CPU %s gradi" % temp)
|
||||
|
||||
bot = telepot.Bot('token')
|
||||
bot.message_loop(handle)
|
||||
|
||||
print 'sono in ascolto...'
|
||||
|
||||
while 1:
|
||||
time.sleep(10)
|
||||
|
||||
Reference in New Issue
Block a user