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 

       

           Raspberry                                                                                                Home