Pagine

Gpio

Aggiornato il 28-01-2017

Settiamo i pin GPIO per rilevare l'apertura dello squelch e attivare il PTT.

Attenzione a non superare i 3.3 Volt sui pin GPIO!!

I pin GPIO sono collegati direttamente al processore, senza le dovute precauzioni si corre il rischio di bruciarlo definitivamente e renderlo cosi inutilizzabile!! Usate sempre un'interfaccia modi digitali con fotoaccoppiatori.

Inizializziamo i pin GPIO all'accensione modificando il file /etc/rc.local.
Eseguiamo il login via ssh e editiamo il file rc.local:
  • sudo nano /etc/rc.local
Inseriamo 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 GPIO27
  • sleep 2
  • echo 27 > /sys/class/gpio/export
  • echo 'in' > /sys/class/gpio/gpio27/direction

Ctrl+o per salvare e successivamente Ctrl+x per uscire dall'editor.

Cosi facendo, ad ogni avvio, verranno inizializzati il pin GPIO17 (pin 11) per la trasmissione e il GPIO27 (pin 13) per la ricezione.

A questo punto configuriamo i pin GPIO in /etc/svxlink/svxlink.conf oppure /etc/svxlink/remotetrx.conf nella sezione [Rx1] e [Tx1].

Nell'esempio seguente le due righe interessate per il trasmettitore.
Con l'editor nano editate il file:

sudo nano /etc/svxlink/svxlink.conf

La sezione TX:

[Tx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
#PTT_TYPE=SerialPin
PTT_TYPE=GPIO
PTT_PORT=/dev/ttyS0
#PTT_PIN=DTRRTS
PTT_PIN=gpio17
#HID_DEVICE=/dev/hidraw3
#HID_PTT_PIN=GPIO3
#SERIAL_SET_PINS=DTR!RTS
#PTT_HANGTIME=1000
TIMEOUT=300
TX_DELAY=500
#CTCSS_FQ=136.5
#CTCSS_LEVEL=9
PREEMPHASIS=0
DTMF_TONE_LENGTH=100
DTMF_TONE_SPACING=50
DTMF_DIGIT_PWR=-15
#MASTER_GAIN=0.0

La sezione RX:

[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
SQL_DET=GPIO
SQL_START_DELAY=0
.............................
#EVDEV_OPEN=1,163,1
#EVDEV_CLOSE=1,163,0
GPIO_SQL_PIN=gpio27
#PTY_PATH=/tmp/rx1_sql
#HID_DEVICE=/dev/hidraw3
#HID_SQL_PIN=VOL_UP

Ctrl+o per salvare Ctrl+x per uscire.

Il gioco è fatto! Basta portare a livello logico 1 il GPIO27 con una tensione non superiore ai 3,3 volt (ma ne bastano anche 3) e il software rileverà l'apertura dello squelch del ricevitore.

Per la trasmissione stessa cosa, ma in uscita. Il GPIO17 si porterà a livello logico 1, 3,3 volt, quando il software attiverà il PTT.
Con un semplice transistor collegato ad un fotoaccoppiatore sarà possibile attivare il PTT della radio (vedi schema sotto)

Come detto prima, in ricezione, bisognerà fornire al GPIO27 una tensione per l'apertura dello squelch. Se questa soluzione non è disponibile, sarà possibile usare comunque la funzione vox, certamente molto meno precisa del rilevamento con tensione, ma ugualmente funzionale.

Qui l'esempio per l'utilizzo con vox:

[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
SQL_DET=VOX
SQL_START_DELAY=0
VOX_FILTER_DEPTH=20
VOX_THRESH=1000
.............................

Aggiungo anche un esempio sull'utilizzo del rilevamento con toni sub-audio.


[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
SQL_DET=CTCSS
SQL_START_DELAY=0
#CTCSS_MODE=2
CTCSS_FQ=94.8
#CTCSS_SNR_OFFSET=0
#CTCSS_OPEN_THRESH=15
#CTCSS_CLOSE_THRESH=9
#CTCSS_BPF_LOW=60
#CTCSS_BPF_HIGH=270
.............................

In questo caso il ricevitore non deve avere filtri passa alto nella sezione audio BF dopo il discriminatore. Nel caso ci sia il filtro sarà comunque possibile fare qualche prava funzionale con il tono più alto, 250.3. Naturalmente solo per prova, i toni utilizzati dovranno essere regionali, quelli assegnati dal ministero.

Testiamolo avviando il programma con sudo svxlink. Verifichiamo l'output nella shell. Proviamo a far ricevere un segnale al nostro ricevitore; se tutto è corretto, vedrete, sempre nella shell, in tempo reale, la riga che conferma l'avvenuta apertura dello squelch. Ctrl+c per fermare svxlink e tornare al prompt.

Avviare svxlink all'accenzione del raspberry. 


2 commenti:

Unknown ha detto...

Ciao, sono IW8EPU, complimenti per le guide, quando si utilizza il gpio 27 per la RX, all'uscita audio della sound Blaster si sente un ronzio fastidioso. Come si può risolvere? Ciao e grazie per l'attenzione.

Biagio La Fauci IT9FDP ha detto...

Ciao Jean Pierre, grazie! Trattasi sicuramente di rientro rf. Probabilmente stai usando un carico fittizio o un'antenna in gomma, è succeso anche a me. Se così fosse, prova con un'antenna esterna. Il rimedio migliore per ovviare a questo genere di inconvenienti è l'uso di interfacce disaccoppiate con trasformatori sulla linea audio e fotoaccoppiatori per il dcd e ptt. Fammi sapere.