SOFTWARE LIVRE

Home » RoiP
 

 

RoIP – Raspberry PI + Rapsbian + SVXLink

 

Foi desenvolvido baseado nas necessidades do CBMSC a tecnologia de converter sinal de rádio analógico para digital e trasmitir via rede de internet (Rádio sobre Protocolo de Internet, ou RoIP).

Para tal é necessário integrar 3 tipos de tecnologias. A primeira seria a parte de hardware dos computadores simplificados e de baixo custo, os Raspberry PI. A segunda seria o sistema operacional (SO) desses computadores, o Raspbian. Ele é um sistema baseado na arquitetura GNU/Linux que foi otimizado para a plataforma Raspberry. A terceira seria o software SVXLink, que é um sistema operador de rádio que opera entre os transmissores de rádio e os módulos dos aplicativos.

 

A instalação

 

Para instalação do ROIP utilizando raspberry vamos precisar de no mínimo dois raspberrys, cada um com uma placa de som USB. Um vai trabalhar como o servidor (rodando svxlink) e os demais como cliente (rodando remotetrx). Utilizar de preferência o último modelo de raspberry (quadcore), cartão de memório de 8 Gb classe 10, com sistema operacional raspbian.

 

Instalação dos pacotes necessários para o funcionamento do SVXLink.

 

 

No Terminal via Root digite os comandos abaixo:

 

  • apt-get install g++ make libsigc++-2.0-dev libgsm1-dev libpopt-dev tcl8.5-dev libgcrypt11-dev libspeex-dev libasound2-dev alsa-utils vorbis-tools opus-tools libopus-dev libopus0 vim htop lame alsa-base aumix

  • cd /usr/src/

  • wget http://sourceforge.net/projects/svxlink/files/svxlink/13.12/svxlink-13.12.tar.gz

  • tar -xzvf svxlink-13.12.tar.gz

  • cd svxlink-13.12

  • make

  • make install

  • vim /etc/rc.local (esse comando vai abrir o editor de texto do terminal)

 

Adicione as seguintes linha uma linha antes do #:

 

/usr/local/bin/script_gpio

svxlink --logfile=/var/log/svxlink –daemon

 

Volte ao terminal e digite a seguinte linha de comando:

 

  • vim /usr/local/bin/script_gpio

 

Cole dentro desse arquivo o seguinte conteúdo:

 

 #!/bin/bash

echo 19 > /sys/class/gpio/export

echo "in" > /sys/class/gpio/gpio19/direction

echo 13 > /sys/class/gpio/export

echo "out" > /sys/class/gpio/gpio13/direction

exit 0

 

Vá ao terminal e digite a seguinte linha de comando:

 

  • chmod +x /usr/local/bin/script_gpio

  • reboot

 

 

Agora ajustando

 

Para ajustar o volume use o seguinte comando:

 

  • aumix -d /dev/dsp1

 

Deixe a saída do volume do fone em torno de 50%

Deixe o volume do mic em torno de 10%

 

 

Instalação do Raspberry como Servidor

 

 

Utilizar o terminal via Root:

 

  • cp /usr/share/svxlink/events.d/SimplexLogic.tcl /usr/share/svxlink/events.d/Cliente1.tcl

  • vim /usr/share/svxlink/event.d/Cliente1.tcl

 

Altere a linha: namespace eval SimplexLogic

Para: namespace eval Cliente1

 

Editar o arquivo: /etc/svxlink/svxlink.conf e vamos deixá-lo conforme abaixo:

 

  • vim /etc/svxlink/svxlink.conf

 

##############################################################################

#

#

#

Configuration file for the SvxLink server

#

#

#

###############################################################################

 

 

[GLOBAL]

MODULE_PATH=/usr/lib/svxlink

LOGICS=SimplexLogic,Cliente1

LINKS=LinkRadio

CFG_DIR=svxlink.d

TIMESTAMP_FORMAT="%c"

CARD_SAMPLE_RATE=48000

#LOCATION_INFO=LocationInfo

#LINKS=LinkToR4

[Cliente1]

TYPE=Simplex

MUTE_RX_ON_TX=0

RX=NetRxCliente1

TX=NetTxCliente1

CALLSIGN=xyz

EVENT_HANDLER=/usr/share/svxlink/events.tcl

#QSO_RECORDER=80:QsoRecorder

[LinkRadio]

CONNECT_LOGICS=SimplexLogic,Cliente1

DEFAULT_ACTIVE=1

[SimplexLogic]

TYPE=Simplex

MUTE_RX_ON_TX=0

RX=Rx1

TX=Tx1

MODULES=ModuleHelp,ModuleParrot,ModuleTclVoiceMail

CALLSIGN=

SHORT_IDENT_INTERVAL=0

LONG_IDENT_INTERVAL=0

#IDENT_ONLY_AFTER_TX=4

#EXEC_CMD_ON_SQL_CLOSE=500EVENT_HANDLER=/usr/share/svxlink/events.tcl

DEFAULT_LANG=en_US

RGR_SOUND_DELAY=-1

REPORT_CTCSS=136.5

#TX_CTCSS=ALWAYS

MACROS=Macros

FX_GAIN_NORMAL=0

FX_GAIN_LOW=-12

#ACTIVATE_MODULE_ON_LONG_CMD=4:EchoLink

QSO_RECORDER=8:QsoRecorder

#ONLINE_CMD=998877

[NetRxCliente1]

TYPE=Net

HOST=ENDEREÇO IP CLIENTE1

TCP_PORT=5302

AUTH_KEY=SENHA REMOTETRX.CON CLIENTE1

CODEC=OPUS

[NetTxCliente1]

TYPE=Net

HOST=ENDEREÇO IP CLIENTE1

TCP_PORT=5302

AUTH_KEY=SENHA REMOTETRX.CON CLIENTE1

CODEC=OPUS

[Rx1]

TYPE=Local

AUDIO_DEV=alsa:plughw:1

AUDIO_CHANNEL=0

SQL_DET=GPIO

SQL_START_DELAY=0

SQL_DELAY=0

SQL_HANGTIME=100

GPIO_SQL_PIN=gpio19

[Tx1]

TYPE=Local

AUDIO_DEV=alsa:plughw:1

AUDIO_CHANNEL=0

PTT_PORT=GPIO

PTT_PIN=gpio13

PTT_HANGTIME=100

TIMEOUT=0

TX_DELAY=0

 

 

 

Instalação do Raspberry como Cliente:

No terminal digite:

 

  • vim /etc/rc.local

 

Substitua a linha:  svxlink --logfile=/var/log/svxlink –daemon

Pela linha: remotetrx --logfile=/var/log/svxlink –daemon

 

No cliente iremos configurar o arquivo /etc/svxlink/remotetrx.conf e vamos deixá-lo conforme

abaixo:

 

  • vim /etc/svxlink/remotetrx.conf

 

###############################################################################

#

# Configuration file for the RemoteTrx application. A remote transceiver

# for the SvxLink server system.

###############################################################################

 

 

[GLOBAL]

TRXS=NetUplinkTrx

#CFG_DIR=remotetrx.d

TIMESTAMP_FORMAT="%c"

CARD_SAMPLE_RATE=48000

[NetUplinkTrx]

TYPE=Net

RX=Rx1

TX=Tx1

LISTEN_PORT=5301 A MESMA PORTA SVXLINK.CONF

FALLBACK_REPEATER=1

AUTH_KEY=SENHA SVXLINK.CONF

MUTE_TX_ON_RX=0

[Rx1]

TYPE=Local

AUDIO_DEV=alsa:plughw:1

AUDIO_CHANNEL=0

SQL_DET=GPIO

SQL_START_DELAY=0

SQL_DELAY=0

SQL_HANGTIME=100

GPIO_SQL_PIN=gpio19

[Tx1]

TYPE=Local

AUDIO_DEV=alsa:plughw:1

AUDIO_CHANNEL=0

PTT_TYPE=NONE

PTT_PORT=GPIO

PTT_PIN=gpio13

TIMEOUT=0

TX_DELAY=0

 

 

 

 

INTERFACE LIGAÇÃO RADIO (GM300) RASPBERRY