Installazione di Svxlink su Raspberry modello B+ 512 MB di RAM
Installare Svxlink EchoLink su Raspberry B+
Svxlink installation Install Raspberry B+
Con l’aiuto di un amico ho installato l’ultima versione del sistema operativo Raspbian Jessie Lite
Version: April 2017 Release date: 2017-04-10 Kernel version: 4.4
il programma Screen e l’ultima versione di Svxlink (ad oggi SvxLink release 15.11 -- 22 Nov 2015 )
su una scheda Raspberry B+
Per evitare problemi consiglio di utilizzare una “SanDisk Ultra micro-SDHC UHS-I" da 8 GB classe 10”
Sembra funzionare altrettanto bene una ”Kingston micro-SDHC/SDXC da 8 GB classe 10”
Per lo stesso motivo consiglio di utilizzare una scheda audio "Logilink UA0053"
Con "HP USB Disk Storage Format Tool 2" formattate la micro SD in Fat32
Con Win32DiskImager-0.9" scrivete la micro SD con file scaricato del Sistema Operativo
Inserite la micro SD e la scheda audio nel Raspberry, collegate tramite un cavo di rete il Raspberry al Router
Collegate al Raspberry Monitor e Tastiera
Alimentate con sorgente a 5 volt nell’ingresso micro USB o nei pin +5v e Ground
Il nome utente è:
pi
La password è:
raspberry
con:
sudo raspi-config
cambiare settaggio ora: europa rome
abilitare SSH per gestione remota
configurazione IP fisso:
per prima cosa create file di backup:
sudo cp /etc/dhcpcd.conf /etc/dhcpcd.conf.backup
editate il file originale:
sudo nano /etc/dhcpcd.conf
inserite prima del primo commento:
interface eth0
static ip_address=192.168.1.10/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8
o un’altro indirizzo a vostra scelta ( il /24 è la Maschera di Sottorete 255.255.255.0 )
( 8.8.8.8 è il DNS di Google)
muovetevii con le frecce, cancellate con il backspace, confermate con CONTROL o poi return
uscite con CONTROL x
per andare avanti con le pagine CONTROL v
per andare indietro con le pagine CONTROL y
(questi sono i comandi principali dell’editor di testo: nano)
Se volete collegarvi da un’altro computer:
( molto utile il copia/incolla nella fase di installazione di Svxlink )
se avete un Mac aprire una sessione di Terminale, se avete Microsoft Windows utilizzate “Putty”
se avete LINUX sapete già tutto
digitate ssh pi@192.168.1.10
la password è: raspberry
Installate SVXLINK, operazione un po’ lunga
Io ho seguito alla lettera le ottime guide di IT9FDP da cui ho tratto buona parte delle informazioni riportate
http://it9fdp.blogspot.it/2015/09/installare-svxlink.html
a seguire installate screen con:
sudo apt-get install screen
per avviare Svxlink digitate:
svxlink
se volete arrestare SVXLINK digitate q
Se volete vedere il vostro IP:
curl http://ipecho.net/plain; echo
Se avete IP fisso dall’operatore di rete non ci sono problemi altrimenti utilizzate un DDNS
Se volete far aggiornare il DDNS dal Raspberry installate ddclient con:
sudo apt-get update
sudo apt-get install ddclient
Per riconfigurare ddclient:
sudo dpkg-reconfigure ddclient
Aggiungete i vostri dati personali nei file::
/etc/svxlink/svxlink.conf
/etc/svxlink/svxlink.d/ModuleEchoLink.conf
con i comandi:
sudo nano /etc/svxlink/svxlink.conf
sudo nano /etc/svxlink/svxlink.d/ModuleEchoLink.conf
( i campi preceduti da # sono commenti e non sono attivi )
Per avviare il programma SVXLINK digitare: svxlink
Per stoppare il programma SVXLINK digitare: q
per riavviare il tutto: sudo reboot
prima di togliere alimentazione: sudo poweroff
per uscire: exit
Prima di avviare SVXLINK conviene avviare screen con il comando:
screen bash
Avviate SVXLINK:
svxlink
uscite con CONTROL a poi d
uscite con: exit
al nuovo collegamento digitate: screen -r
ci di ritrova dentro a SVXLINK
uscite ogni volta con CONTROL a poi d
uscite con: exit
Per regolare i livelli audio utilizzare:
alsamixer
Selezionare la sound card con: F6
Nel nostro caso selezionare: C-Media USB poi return
Vedere tutte le regolazioni con: F5
Regolare: Headphone per l’uscita audio verso la radio
Regolare: Capture per l’ingresso audio dalla radio
Spostarsi tra i campi con freccia destra e sinistra
Regolare con freccia alto e basso
Uscire con: esc
Ricordarsi di configurare il Router nella sezione NAT le porte 5198 UDP, 5199 UDP e 5200 TCP verso l’indirizzo 192.168.1.10 oppure verso il nuovo indirizzo se lo avete cambiato
Se volete collegarvi da remoto configurate anche la porta 22 TCP
Se volete vedere il vostro IP:
curl http://ipecho.net/plain; echo
Se avete IP fisso dall’operatore di rete non ci sono problemi altrimenti utilizzate un DDNS
Se volete far aggiornare il DDNS dal Raspberry installate ddclient con:
sudo apt-get update
sudo apt-get install ddclient
Per riconfigurare ddclient:
sudo dpkg-reconfigure ddclient
Come interfaccia meglio utilizzarne una isolata, per la parte audio con trasformatori e per PTT e Squelch con optoisolatori
Se non sapete come come farla trovate molti schemi sul Web
Io utilizzo l’uscita PTT sull’interfaccia GPIO 17
Il pin corrispondente si porta a +3.3 volt con PTT attivo
prelevate il comando con una resistenza da 1200 ohm e pilotate un transistor o meglio la parte LED di un optoisolatore
L’ingresso Squelch lo utilizzo sull’interfaccia GPIO 18
portate il pin corrispondente a +3.3 volt quando volete avviare la trasmissione verso la rete
NON superare i 3.3 volt
Potete utilizzare la parte transistor di un optoisolatore con collettore sul +3.3 volt del Raspberry e emettitore sul pin corrispondente al GPIO 18, collegare quest’ultimo pin anche ad una resistenza da 4700 ohm verso massa
Se volete in alternativa potete configurare l’ingresso Squelch come VOX
Per configurare GPIO:
Per inizializzare i pin GPIO all'accensione occorre modificare il file /etc/rc.local.
Eseguite il login via ssh o con tastiera locale e editiate il file rc.local:
sudo nano /etc/rc.local
Inserite le seguenti righe prima di exit 0
# PTT OUT GPIO17>
sleep 5
echo 17 > /sys/class/gpio/export
echo 'out' > /sys/class/gpio/gpio17/direction
echo 0 > /sys/class/gpio/gpio17/value
# SQL_DET IN GPIO18
sleep 2
echo 18 > /sys/class/gpio/export
echo 'in' > /sys/class/gpio/gpio18/direction
SvxLink, se non modificato, genera dei "bip" quando ci sono interruzioni sui pacchetti dati
Se volete eliminare questi "bip" occorre modificare il file:
EchoLink.tcl
che nella mia versione si trova in:
/usr/share/svxlink/events.d/
ma potrebbe trovarsi in:
/usr/local/share/svxlink/events.d/
quindi:
cd /usr/share/svxlink/events.d/
verificate la presenza del file EchoLink.tcl con:
ls
oppure:
cd /usr/local/share/svxlink/events.d/
verificate la presenza del file EchoLink.tcl con:
ls
"editate il file" EchoLink.tcl con:
sudo nano EchoLink.tcl
andate avanti con CONTROL v
cercate :
proc is_receiving {rx} {
if {$rx == 0} {
playTone 1000 100 100;
}
}
modificate così:
proc is_receiving {rx} {
if {$rx == 0} {
# playTone 1000 100 100;
}
}
salvate con CONTROL o RETURN
uscite con CONTROL x
Se volete eliminare il "beep" di fine trasmissione verso internet cercate sempre nello stesso file:
proc squelch_open {is_open} {
if {!$is_open} {
playSilence 200
playTone 1000 100 100
}
}
modificate così:
proc squelch_open {is_open} {
if {!$is_open} {
playSilence 200
# playTone 1000 100 100
}
}
Se volete disattivare i comandi DTMF:
sudo nano /etc/svxlink/svxlink.conf
in [Rx1]
DTMF_DEC_TYPE=NONE
#DTMF_DEC_TYPE=INTERNAL
Se volete sostituire alcuni file audio, ad esempio per un’identificatore vocale :
I File audio si trovano in:
/usr/share/svxlink/sounds/en_US in Default quindi:
cd /usr/share/svxlink/sounds/en_US/Default
ho rinominato il file originale:
slash.wav
in:
slashEX.wav
ho "uplodato" nuovo file slash.wav con audio dell'identificatore vocale
occorre editare:
sudo nano /etc/svxlink/svxlink.conf
in [SimplexLogic]
CALLSIGN=/
Per rinominare, “uplodare” e altre operazioni sui file da remoto io utilizzo un client SSH,
nel mio caso Cyberduck per Mac OS X, si può utilizzare FileZilla per Windows o un’altro a scelta
Occorre inserire una password di root e collegarsi con quelle credenziali
sudo passwd root
1234 (o più sicura)
poi:
sudo nano /etc/ssh/sshd_config
entrare nella sezione # Authentication:
cambiare da:
# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes
a:
# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password
PermitRootLogin yes
StrictModes yes
occorre riavviare SSH server:
service sshd restart
o riavviare sistema
quindi collegarsi con:
root
1234
Per chi vuole accelerare i tempi rendo disponibile il file immagine compresso
della scheda micro SD da 8GB al seguente link:
http://www.mediafire.com/file/sby6ux49f97zowi/JessieSVXfree01.txt
Scaricate il file, rinominate il file da JessieSVXfree01.txt a JessieSVXfree01.zip
Per rinominare il file visualizzate l'estensione e sostituitela con .zip
Questa versione non genera i “bip” all’interruzione dei pacchetti dati ricevuti
e non genera il “bip” di fine trasmissione verso internet
Ha già installato ddclient e screen
Ha attivo SSH per la connessione da remoto
Istruzioni per sistema operativo Microsoft Windows
Espandete il file (per non avere problemi utilizzate Stuffit Expander, scaricate gratuitamente la versione che serve 32 o 64 bit)
Se avete un Mac non serve Stuffit Expander, basta un doppio click
Il file espanso ha la dimensione di: 7,95 GB su disco (7.948.206.080 byte)
Per evitare problemi si consiglia di utilizzare una “SanDisk Ultra microSDHC UHS-I" CLASSE 10”
Sembra funzionare altrettanto bene una ”Kingston micro-SDHC/SDXC da 8 GB classe 10”
Per lo stesso motivo si consiglia di utilizzare una scheda audio "Logilink UA0053"
Utilizzate "HP USB Disk Storage Format Tool 2" e formattate la micro SD in Fat32
Utilizzate Win32DiskImager-0.9" per ricreare la micro SD originale dal file espanso
Inserite la micro SD e la scheda audio nel Raspberry, collegate tramite un cavo di rete il Raspberry al Router
Alimentate con sorgente a 5 volt nell’ingresso micro USB
La configurazione di rete è:
address 192.168.1.10
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8 (è il DNS di Google)
Aggiungete i vostri dati personali nei file:
/usr/local/etc/svxlink/svxlink.conf
/usr/local/etc/svxlink/svxlink.d/ModuleEchoLink.conf
Se vi serve configurate ddclient
Se volete cambiate la configurazione di rete
--------------------------------------------------------------------------------------------------------------------------------------------
Ricordarsi che svxlink deve essere riavviato per leggere le modifiche fatte in qualsiasi file che lo riguarda
--------------------------------------------------------------------------------------------------------------------------------------------
AVVIARE SVXLINK COME DEMONE ALL'AVVIO DEL RASPBERRY:
Editare il file /etc/rc.local con:
sudo nano /etc/rc.local
Inserire prima di exit il comando:
svxlink --daemon --logfile=/var/log/svxlink --config=/etc/svxlink/svxlink.conf &
Questo file viene letto alla fine del boot di sistema, tutto quello che c'é dentro viene eseguito all'avvio.
Aggiungere una & a fine riga, per ogni comando, così, in caso di errore, si svincola il comando.
VEDERE L'OUTPUT CON IL COMANDO TAIL:
tail -f /var/log/svxlink
Questo comando serve per visualizzare un file mentre viene aggiornato.
SCRIPT CHE RIAVVIA IL RASPBERRY:
Creare il file shutdownr.sh nella home dell'utente pi con il comando:
nano shutdownr.sh
Incollare dentro queste righe:
#!/bin/bash
sleep 4
sudo shutdown -r now
Uscire e salvare
Rendere eseguibile con:
chmod +x shutdownr.sh
SCRIPT CHE SPEGNE IL RASPBERRY:
Creare un altro file, per esempio shutdownh.sh nella home dell'utente pi con il comando:
nano shutdownh.sh
Incollare dentro queste righe:
#!/bin/bash
sleep 4
sudo shutdown -h now
Uscire e salvare
Rendere eseguibile con:
chmod +x shutdownh.sh
RIAVVIARE IL RASPBERRY ALLE 3 DI OGNI MATTINA IN AUTOMATICO:
Editare il file crontab di root:
sudo crontab -e
Di default viene proposto l'editor nano, lo chiede solo la prima volta.
Inserire alla fine del file questa riga:
00 3 * * * /home/pi/shutdownr.sh > /dev/null 2>&1
Alle tre di ogni mattina crontab di root eseguirà il file shutdownr.sh e riavvierà il sistema.
Poi, avendo inserito nel file /etc/rc.local il comando per avviare svxlink, tutto sarà nuovamente attivo.
COMANDI DA DTMF:
Creare una cartella chiamata local, dentro la cartella /usr/share/svxlink/events.d/ con:
sudo mkdir /usr/share/svxlink/events.d/local
Dentro questa cartella creare un file chiamato Logic.tcl con:
sudo nano Logic.tcl
Incollare dentro:
###############################################################################
#
# Generic Logic event handlers (local extension)
#
###############################################################################
#
# This is the namespace in which all functions and variables below will exist.
#
namespace eval Logic {
#
# Executed when a DTMF command has been received
# cmd - The command
#
# Return 1 to hide the command from further processing is SvxLink or
# return 0 to make SvxLink continue processing as normal.
#
proc dtmf_cmd_received {cmd} {
global active_module
if {$active_module != "" && [string index $cmd 0] != "*"} {
return 0
}
if {[string index $cmd 0] == "*"} {
set cmd [string range $cmd 1 end]
}
if {$cmd == "81"} {
puts "Eseguo test script 81"
playSilence 1000
playTone 880 90 1000;
playTone 440 90 1000;
playTone 880 90 1000;
exec /home/pi/script/81test.sh &
return 1
}
if {$cmd == "82"} {
#puts "Eseguo test script 82"
#playSilence 1000
#playTone 880 60 150;
#playTone 440 60 100;
#exec /home/pi/script/82test.sh &
#return 1
}
if {$cmd == "83"} {
puts "Eseguo test script 83"
playSilence 1000
playTone 880 90 1000;
playTone 440 90 2000;
exec /home/pi/script/83test.sh &
return 1
}
if {$cmd == "84"} {
#puts "Esecuzione codice CW"
#playSilence 1000
#CW::play "CQ"
#return 1
}
return 0
}
# end of namespace
}
#
# This file has not been truncated
#
Creare la cartella script in /home/pi con:
sudo mkdir /home/pi/script
SCRIPT CHE MANDA IN TX RADIO E RIAVVIA RASPBERRY DA DTMF:
Creare il file 81test.sh nella cartella script:
sudo nano /home/pi/script/81test.sh
Incollare dentro:
#attivazione ptt radio
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
sleep 3.3
#Rilascio PTT
echo 0 > /sys/class/gpio/gpio17/value
exec /home/pi/shutdownr.sh &
Uscire e salvare
Rendere eseguibile con:
chmod +x 81test.sh
SCRIPT CHE MANDA IN TX RADIO E SPEGNE IL RASPBERRY DA DTMF:
Creare il file 83test.sh nella cartella script:
sudo nano /home/pi/script/83test.sh
Incollare dentro:
#attivazione ptt radio
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
sleep 3.3
#Rilascio PTT
echo 0 > /sys/class/gpio/gpio17/value
exec /home/pi/shutdownh.sh &
Uscire e salvare
Rendere eseguibile con:
chmod +x 83test.sh
PER PROVARE GLI SCRIPT:
exec /home/pi/shutdownr.sh
exec /home/pi/shutdownh.sh
exec /home/pi/script/81test.sh
exec /home/pi/script/83test.sh
Mi farebbe piacere sapere se quello che ho scritto vi è stato utile
Sono a disposizione per i chiarimenti e chiedo cortesemente di segnalarmi le inesattezze che trovate
73 de I1SKV Vito