Você está na página 1de 15

Tutorial de Instalação ROIP – CBMSC-DITI

Florianópolis – SC - 14 Novembro de 2017.

Materiais necessarios para instalação SVXLINK

-Raspberry PI B+
-Fonte de alimentação para Raspberry.
-Micro SD 4Gb Class 10.
-Adaptador - Placa De Som Usb 7.1 Pentrada P2 Fone Microfone
PASSO 1:

Preparando Raspberry para o Software SVXLINK


Para o funcionamento do raspberrry PI vamos utilizar o Sistema operacional(SO) Raspbian. O
download da imagem pode ser feito no site (https://www.raspberrypi.org/downloads/raspbian/) .
A versão utilizada para este projeto é a LITE, está versão não possui interface grafica. No site a um
guia de instalação do sistema no Micro SD.

* Fazer o ssh pi@IP-RASPBERRY

* Senha Padrão “raspberry”

PASSO 2:

INSTALANDO SVXLINK
Adicionando Usuario SVXLINK

Usuario e Grupo, Digitar no Terminal:

sudo addgroup --gid 496 svxlink

sudo adduser --disabled-password --uid 496 --gid 496 svxlink

PASSO 3:

Instalando principais bibliotecas SVXLINK


No terminal Digite:

sudo apt-get update

sudo 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 groff

sudo apt-get install libqt4-dev

sudo apt-get install cmake

PASSO 4:

Iniciando a instalação do Modulo SVXLINK


No terminal Digite:
1. cd /usr/src/
2. sudo wget https://github.com/sm0svx/svxlink/archive/master.tar.gz
3. sudo tar -xzvf master.tar.gz
4. cd /usr/src/svxlink-master/src
5. sudo mkdir build
6. sudo cd build
7. sudo cmake ..
8. sudo make doc ( não precisa instalar)
9. sudo make install
10. sudo ldconfig

PASSO 5:

Criando script auxiliar para acionamento das GPIO –

sudo nano /usr/local/bin/script_gpio

#!/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

Depois: control+X -----------------------→ Yes -----------------------→ ENTER

PASSO 6:

SVXLINK NA INICIALIZAÇÃO -

1 - Adicionando Script_Gpio

sudo nano /lib/systemd/system/script_gpio.service

###Quando abrir o Terminal deverá ser digitado o que está escrito abaixo:

[Unit]
Description=Script SVXLINK
After=multi-user.target

[Service]
Type=idle
ExecStart=/usr/local/bin/script_gpio
#ExecStart=/usr/local/bin/remotetrx

[Install]
WantedBy=multi-user.target

Depois: control+X -----------------------→ Yes -----------------------→ ENTER

Próximo passo:
SVXLINK NA INICIALIZAÇÃO - CLIENTE

###Adicionando REMOTETRX na inicialização###


Digite:
sudo nano /lib/systemd/system/remotetrx.service

###Ao abrir o Terminal deverá ser digitado:


[Unit]
Description=Remotetrx script
After=multi-user.target
[Service]
Type=forking
ExecStart=/usr/local/bin/remotetrx --logfile=/var/log/svxlink --daemon

Depois: control+X -----------------------→ Yes -----------------------→ ENTER

SVXLINK NA INICIALIZAÇÃO - SERVIDOR

###Adicionando SVXLINK na inicialização###


Digite:
sudo nano /lib/systemd/system/svxlink.service

###Ao abrir o Terminal deverá ser digitado:


[Unit]
Description=Svxlink script
After=multi-user.target
[Service]
Type=forking
ExecStart=/usr/local/bin/svxlink --logfile=/var/log/svxlink --daemon

Depois: control+X -----------------------→ Yes -----------------------→ ENTER

AGORA DIGITE OS SEGUINTES DADOS:

sudo systemctl daemon-reload


sudo systemctl enable remotetrx.service
sudo systemctl enable svxlink.service
sudo systemctl enable script_gpio.service

Instalação do Raspberry como Servidor


PASSO 1:

Digitar no terminal:
sudo cp /usr/local/share/svxlink/events.d/SimplexLogic.tcl
/usr/local/share/svxlink/events.d/Cliente1.tcl

sudo nano /usr/local/share/svxlink/events.d/Cliente1.tcl

Altere a linha: namespace eval SimplexLogic


Para: namespace eval Cliente1

CONFIGURANDO O SERVIDOR

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


• sudo nano /usr/local/etc/svxlink/svxlink.conf

INSERIR SCRIPT ABAIXO:

##############################################################################
#
#
#
#Configuration file for the SvxLink server
#
#
#
###############################################################################
[GLOBAL]
MODULE_PATH=/usr/local/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/local/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=10
LONG_IDENT_INTERVAL=60
#IDENT_ONLY_AFTER_TX=4
#EXEC_CMD_ON_SQL_CLOSE=500
EVENT_HANDLER=/usr/local/share/svxlink/events.tcl
DEFAULT_LANG=en_US
#RGR_SOUND_DELAY=-1
#REPORT_CTCSS=136.5
#TX_CTCSS=ALWAYS
MACROS=Macros
FX_GAIN_NORMAL=-6
FX_GAIN_LOW=-19
#ACTIVATE_MODULE_ON_LONG_CMD=4:EchoLink
#QSO_RECORDER=8:QsoRecorder
#ONLINE_CMD=998877
[NetRxCliente1]
TYPE=Net
HOST=IP DEFINIDO
TCP_PORT=DEFINIR
AUTH_KEY=DEFINIR
CODEC=OPUS

[NetTxCliente1]
TYPE=Net
HOST=IP DEFINIDO
TCP_PORT=DEFINIR
AUTH_KEY=DEFINIR
CODEC=OPUS

[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
SQL_DET=GPIO
SQL_START_DELAY=50
SQL_DELAY=50
SQL_HANGTIME=300
CTCSS_FQ=218
CTCSS_BPF_LOW=213
CTCSS_BPF=HIGH=223
PREAMP=16
SIGLEV_SLOPE=1
SIGLEV_OFFSET=0
SIGLEV_OPEN_THRESH=30
SIGLEV_CLOSE_THRESH=10
GPIO_SQL_PIN=gpio22

[Tx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
PTT_TYPE=GPIO
PTT_PORT=GPIO
PTT_PIN=gpio13
PTT_HANGTIME=100
TIMEOUT=0
TX_DELAY=0

CONFIGURANDO O CLIENTE

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


• sudo nano /usr/local/etc/svxlink/remotetrx.conf

INSERIR SCRIPT ABAIXO:

[GLOBAL]
TRXS=NetUplinkTrx
#CFG_DIR=remotetrx.d
TIMESTAMP_FORMAT="%c"
CARD_SAMPLE_RATE=48000
#CARD_CHANNELS=1

[NetUplinkTrx]
TYPE=Net
RX=Rx1
TX=Tx1
LISTEN_PORT=DEFINIR IGUAL AO SERVIDOR
#FALLBACK_REPEATER=1 (Só não ficar assim comentado quando for repetidora).
AUTH_KEY=DEFINIR IGUAL AO SERVIDOR
#MUTE_TX_ON_RX=1000

[Voter]
TYPE=Voter
RECEIVERS=Rx1,Rx2,Rx3
VOTING_DELAY=200
#BUFFER_LENGTH=0
#REVOTE_INTERVAL=1000
#HYSTERESIS=50
#SQL_CLOSE_REVOTE_DELAY=500
#RX_SWITCH_DELAY=500

[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:2
AUDIO_CHANNEL=0
SQL_DET=GPIO
SQL_START_DELAY=0
SQL_DELAY=0
SQL_HANGTIME=2000
#SQL_EXTENDED_HANGTIME=1000
#SQL_EXTENDED_HANGTIME_THRESH=15
#SQL_TIMEOUT=600
#HID_DEVICE=/dev/hidraw3
#HID_SQL_PIN=VOL_UP
#VOX_FILTER_DEPTH=20
#VOX_THRESH=1000
#CTCSS_MODE=2
#CTCSS_FQ=136.5
#CTCSS_SNR_OFFSET=0
#CTCSS_OPEN_THRESH=15
#CTCSS_CLOSE_THRESH=9
#CTCSS_BPF_LOW=60
#CTCSS_BPF_HIGH=270
#SERIAL_PORT=/dev/ttyS0
#SERIAL_PIN=CTS
#SERIAL_SET_PINS=DTR!RTS
#EVDEV_DEVNAME=/dev/input/by-id/usb-SYNIC_SYNIC_Wireless_Audio-event-if03
#EVDEV_OPEN=1,163,1
#EVDEV_CLOSE=1,163,0
GPIO_SQL_PIN=gpio19
#PTY_PATH=/tmp/rx1_sql
#SIGLEV_DET=TONE
SIGLEV_SLOPE=1
SIGLEV_OFFSET=0
#SIGLEV_BOGUS_THRESH=120
#TONE_SIGLEV_MAP=100,84,60,50,37,32,28,23,19,8
SIGLEV_OPEN_THRESH=30
SIGLEV_CLOSE_THRESH=10
DEEMPHASIS=0
#SQL_TAIL_ELIM=300
#PREAMP=6
PEAK_METER=1
#DTMF_DEC_TYPE=INTERNAL
#DTMF_MUTING=1
#DTMF_HANGTIME=40
#DTMF_SERIAL=/dev/ttyS0
#DTMF_PTY=/tmp/rx1_dtmf
#DTMF_MAX_FWD_TWIST=8
#DTMF_MAX_REV_TWIST=4
#SEL5_DEC_TYPE=INTERNAL
#SEL5_TYPE=ZVEI1
#FQ=433475000
#MODULATION=FM
#WBRX=WbRx1

[Tx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:2
AUDIO_CHANNEL=0
PTT_TYPE=GPIO
PTT_PORT=GPIO
PTT_PIN=gpio13
#SERIAL_SET_PINS=DTR!RTS
#HID_DEVICE=/dev/hidraw3
#HID_PTT_PIN=GPIO3
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

PASSO 3:

Reiniciar o raspberry

sudo reboot

APÓS REINICIAR O RASPBERRY, DEVEMOS CONFIGURAR O CLIENTE DE


ACORDO COM O SERVIDOR. PARA TANTO DEVEMOS EXECUTAR OS SEGUINTES
COMANDOS:

1º PASSO) abra o Terminal e digite: ssh root@IP DA MAQUINA


2º PASSO) digite: nano /usr/local/etc/svxlink/svxlink.conf
3º PASSO) dentro desse arquivo que irá abrir no terminal, deverá ser procurado o número da Porta
e da palavra chave do Cliente que se deseja instalar. (ex.:TCP_PORT=5301 E
AUTH_KEY=123456)
4º PASSO) Com o número da Porta e da Palavra chave em mãos, você deverá ir até o arquivo
REMOTETRX.CONF e configurar a Porta e a Senha. Para tanto digite no terminal: sudo nano
/usr/local/etc/svxlink/remotetrx.conf
5º PASSO) Agora você deverá configurar os pinos – GPIO para RX e TX. Assim, entre novamente
no arquivo sudo nano /usr/local/etc/svxlink/remotetrx.conf e verifique os pinos do GPIO TX
(ex.:pino 13) e GPIO RX (ex.:19).
CONFIGURANDO O VOLUME DE ENTRADA E SAÍDA DO AUDIO:

1º PASSO: quando você estiver instalando tudo e já estiver dentro do raspberry, você deverá digitar
o seguinte comando: sudo alsamixer e teclar ENTER.

2º PASSO: Ao abrir a tela do alsamixer, se você apertar o comando F6, e USB PnP Sound Device,
você será direcionado à tela onde poderá regular o microfone e a saída de audio.

COMO TROCAR O IP DO RASPBERRY DE FORMA MANUAL QUANDO NECESSÁRIO


E DEIXÁ-LO COMO ESTÁTICO:

IP estático
Se o seu Raspberry Pi vai funcionar como servidor, então deve configurar um IP estático para que
este mantenha sempre as mesmas configurações.
Desde o Debian Jessie que o Raspbian usa, curiosamente, o ficheiro /etc/dhcpcd.conf para
configuração de parâmetros de rede. De relembrar que anteriormente essa configuração era
efectuada em /etc/network/interfaces
Vamos a um exemplo:
Considerem que pretendem configurar os seguintes paramentos de rede, na interface por cabo, no
vosso Raspberry Pi:
•IP: 192.168.10.27
•Máscara: 255.255.240.0
•Gateway: 192.168.15.254
•DNS: 192.168.8.254
Para proceder a esta configuração abrimos o ficheiro /etc/dhcpcd.conf e indicamos os seguintes
parâmetros:

interface eth0
static routers=192.168.15.254
static domain_search=pplware.com
static domain_name_servers=192.168.8.254
static ip_address=192.168.10.27
E está feito. Para que tudo funcione basta que reiniciem o sistema usando o comando: sudo
reboot Depois de reiniciado podem ver as configurações através do comando ifconfig.
DADOS ADICIONAIS SOBRE OS ARQUIVOS “ .CONF ”:
http://manpages.ubuntu.com/manpages/xenial/man5/svxlink.conf.5.html#contenttoc4

INTERFACE LIGAÇÃO RADIO (GM300) RASPBERRY


Créditos

CBMSC -Corpo de Bombeiros Militar de Santa Catarina


DiTi – Divisão de Tecnologia da Informação
Desenvolvedores do Projeto: Sgt. BM Fábio, Cb BM Borges e Sd BM Anselmo.
Contato no e-mail: ditie193aux3@cbm.sc.gov.br