Archives pour la catégorie relais VHF

Customisation Relais , Transpondeur …

Voila comment customiser un Spotnik pour l’utiliser en mode relais ou en mode transpondeur.

Sur un Orange Pi ou Raspberry, il est possible de mettre jusqu’à  2 radios .

1/ mode relais

il faut changer la logique utilisée dans le fichier svxlink.conf ou svxlink.rrf par une logique « RepeaterLogic »

le fichier devient celui-ci :

(les modifs sont en rouge. Et bien sûr, en mode relais, il faut 1 RX et 1 TX, ou un relais )

[GLOBAL]

MODULE_PATH=/usr/lib/arm-linux-gnueabihf/svxlink
LOGICS=RepeaterLogic,ReflectorLogic
CFG_DIR=svxlink.d
TIMESTAMP_FORMAT= »%c »
CARD_SAMPLE_RATE=16000
#LOCATION_INFO=LocationInfo
LINKS=ALLlink

[RepeaterLogic]
# Toujours Repeater
TYPE=Repeater
RX=Rx1
TX=Tx1
MODULES=ModuleHelp,ModuleMetarInfo,ModulePropagationMonitor
CALLSIGN=F5XYZ
SHORT_IDENT_INTERVAL=15
LONG_IDENT_INTERVAL=60
IDENT_ONLY_AFTER_TX=30
EVENT_HANDLER=/usr/share/svxlink/events.tcl
DEFAULT_LANG=fr_FR
#EXEC_CMD_ON_SQL_CLOSE=500
ACTIVATE_MODULE_ON_LONG_CMD=10:PropagationMonitor
RGR_SOUND_DELAY=0
REPORT_CTCSS=71.9
TX_CTCSS=SQL_OPEN
MACROS=Macros
FX_GAIN_NORMAL=0
FX_GAIN_LOW=-12
NO_REPEAT=0
IDLE_TIMEOUT=15
OPEN_ON_1750=500
#OPEN_ON_CTCSS=71.9:200
#OPEN_ON_DTMF=*
OPEN_ON_SQL=200
#OPEN_ON_SEL5=01234
OPEN_SQL_FLANK=CLOSE
OPEN_ON_SQL_AFTER_RPT_CLOSE=45
# petit son strident de signalisation tous les X ms,  0 le désactive
IDLE_SOUND_INTERVAL=7500
# vérifie si une ouverture trop courte du squelch ( parasite ) perturbe le relais
SQL_FLAP_SUP_MIN_TIME=2000
# nombre de fois qu’une transmission trop courte , parasite est entendue le compteur arrête le relais
SQL_FLAP_SUP_MAX_COUNT=10
# demande aux utilisateurs du relais de s’identifier au bout de X secondes
#IDENT_NAG_TIMEOUT=4
# si la transmission dure plus de X ms on considère que c’est une identification
#IDENT_NAG_MIN_TIME=5000
# +0 coupe la logique, le nombre +1 active la logique
ONLINE_CMD=430228
DTMF_CTRL_PTY=/tmp/dtmf_uhf

#—————————————–

[ALLlink]
CONNECT_LOGICS=RepeaterLogic:430MHZ:930,ReflectorLogic
DEFAULT_ACTIVE=1
TIMEOUT=0

[Rx1]
# 439MHZ #
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
SQL_DET=CTCSS
SQL_START_DELAY=0
SQL_DELAY=0
SQL_HANGTIME=0
SQL_EXTENDED_HANGTIME=0
SQL_EXTENDED_HANGTIME_THRESH=0
SQL_TIMEOUT=600
VOX_FILTER_DEPTH=20
VOX_THRESH=800
CTCSS_FQ=71.9
DEEMPHASIS=0
SQL_TAIL_ELIM=0
PREAMP=0
PEAK_METER=0
DTMF_DEC_TYPE=INTERNAL
DTMF_MUTING=1
DTMF_HANGTIME=100
1750_MUTING=0

[Tx1]
# 430Mhz #
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
PTT_PORT=GPIO
PTT_TYPE=GPIO
PTT_PIN=PD14
TIMEOUT=3600
TX_DELAY=10
CTCSS_FQ=71.9
CTCSS_LEVEL=9
PREEMPHASIS=1
DTMF_TONE_LENGTH=100
DTMF_TONE_SPACING=50
DTMF_DIGIT_PWR=-18

[ReflectorLogic]
TYPE=Reflector
CALLSIGN=(dept) F5XYZ UHF
AUDIO_CODEC=OPUS
JITTER_BUFFER_DELAY=0

2/ Mode Transpondeur ( 2 voies radio )

dans cette configuration, il faut rajouter une carte son

et une petite interface pour pouvoir utiliser la 2ème radio.

dans /usr/share/svxlink/events.d , il faut recopier le fichier SimpleLogic.tcl en, par exemple, 29Logic.tcl , et dans 29Logic.tcl , modifier la première ligne ainsi :

namespace eval 29Logic {

Ensuite, il faut modifier le fichier svxlink.conf ou svxlink.cfg comme suit :

(les modifs sont en rouge)

[GLOBAL]
LOGICS=SimplexLogic,29Logic,ReflectorLogic
CFG_DIR=svxlink.d
TIMESTAMP_FORMAT=%c
CARD_SAMPLE_RATE=16000
CARD_CHANNELS=1
LINKS=ALLlink
#LOCATION_INFO=LocationInfo

[SimplexLogic]
TYPE=Simplex
RX=Rx1
TX=Tx1
MODULES=ModuleHelp,ModuleMetarInfo,ModulePropagationMonitor
CALLSIGN=F5XYZ
SHORT_IDENT_INTERVAL=15
LONG_IDENT_INTERVAL=60
IDENT_ONLY_AFTER_TX=10
EXEC_CMD_ON_SQL_CLOSE=500
EVENT_HANDLER=/usr/share/svxlink/events.tcl
DEFAULT_LANG=fr_FR
RGR_SOUND_DELAY=0
REPORT_CTCSS=71.9
TX_CTCSS=ALWAYS
MACROS=Macros
FX_GAIN_NORMAL=0
FX_GAIN_LOW=-12
ACTIVATE_MODULE_ON_LONG_CMD=10:PropagationMonitor
MUTE_RX_ON_TX=1
DTMF_CTRL_PTY=/tmp/svxlink_dtmf_ctrl_pty

[29Logic]
TYPE=Simplex
RX=Rx2
TX=Tx2
MODULES=ModuleHelp,ModuleMetarInfo,ModulePropagationMonitor
CALLSIGN=F5XYZ
SHORT_IDENT_INTERVAL=15
LONG_IDENT_INTERVAL=60
IDENT_ONLY_AFTER_TX=10
EXEC_CMD_ON_SQL_CLOSE=500
EVENT_HANDLER=/usr/share/svxlink/events.tcl
DEFAULT_LANG=fr_FR
RGR_SOUND_DELAY=0
REPORT_CTCSS=71.9
TX_CTCSS=ALWAYS
MACROS=Macros
FX_GAIN_NORMAL=0
FX_GAIN_LOW=-12
ACTIVATE_MODULE_ON_LONG_CMD=10:PropagationMonitor
MUTE_RX_ON_TX=1
DTMF_CTRL_PTY=/tmp/svxlink_dtmf_ctrl_pty29

[ALLlink]
CONNECT_LOGICS=SimplexLogic:434MHZ:945,29Logic;29MHZ:929,ReflectorLogic
DEFAULT_ACTIVE=1
TIMEOUT=0

[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
SQL_DET=CTCSS
SQL_START_DELAY=0
SQL_DELAY=2
SQL_HANGTIME=15
SQL_EXTENDED_HANGTIME=1000
SQL_EXTENDED_HANGTIME_THRESH=13
SQL_TIMEOUT=600
VOX_FILTER_DEPTH=300
VOX_THRESH=1000
CTCSS_MODE=2
CTCSS_FQ=71.9
CTCSS_SNR_OFFSET=0
CTCSS_OPEN_THRESH=15
CTCSS_CLOSE_THRESH=9
CTCSS_BPF_LOW=70
CTCSS_BPF_HIGH=100
GPIO_PATH=/sys/class/gpio_sw
GPIO_SQL_PIN=PA10
DEEMPHASIS=1
SQL_TAIL_ELIM=0
PREAMP=8
PEAK_METER=1
DTMF_DEC_TYPE=INTERNAL
DTMF_MUTING=1
DTMF_HANGTIME=40
1750_MUTING=1

[Tx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
PTT_TYPE=GPIO
GPIO_PATH=/sys/class/gpio_sw
PTT_PIN=PA7
TIMEOUT=300
TX_DELAY=4
PREAMP=0
CTCSS_FQ=71.9
CTCSS_LEVEL=9
PREEMPHASIS=0
DTMF_TONE_LENGTH=100
DTMF_TONE_SPACING=50
DTMF_DIGIT_PWR=-15

[Rx2]
TYPE=Local
AUDIO_DEV=alsa:plughw:2
AUDIO_CHANNEL=0
SQL_DET=CTCSS
SQL_START_DELAY=0
SQL_DELAY=2
SQL_HANGTIME=15
SQL_EXTENDED_HANGTIME=1000
SQL_EXTENDED_HANGTIME_THRESH=13
SQL_TIMEOUT=600
VOX_FILTER_DEPTH=300
VOX_THRESH=1000
CTCSS_MODE=2
CTCSS_FQ=71.9
CTCSS_SNR_OFFSET=0
CTCSS_OPEN_THRESH=15
CTCSS_CLOSE_THRESH=9
CTCSS_BPF_LOW=70
CTCSS_BPF_HIGH=100
GPIO_PATH=/sys/class/gpio_sw
GPIO_SQL_PIN=PA10
DEEMPHASIS=1
SQL_TAIL_ELIM=0
PREAMP=0
PEAK_METER=1
DTMF_DEC_TYPE=INTERNAL
DTMF_MUTING=1
DTMF_HANGTIME=40
1750_MUTING=1

[Tx2]
TYPE=Local
AUDIO_DEV=alsa:plughw:2
AUDIO_CHANNEL=0
PTT_TYPE=GPIO
GPIO_PATH=/sys/class/gpio_sw
PTT_PIN=PA6
TIMEOUT=300
TX_DELAY=4
PREAMP=0
CTCSS_FQ=71.9
CTCSS_LEVEL=9
PREEMPHASIS=0
DTMF_TONE_LENGTH=100
DTMF_TONE_SPACING=50
DTMF_DIGIT_PWR=-15

[ReflectorLogic]
TYPE=Reflector
CALLSIGN=(dept) F5XYZ UHF/10M
AUDIO_CODEC=OPUS
JITTER_BUFFER_DELAY=0

3/Conclusion

il est possible de mixer, bien évidement , avec, par exemple, un relais sur UHF, donc RepeaterLogic et une voie SimplexLogic sur VHF ou 29MHZ.

la carte son USB sera en alsa:plughw:2 et non pas en 1.

Relais VHF sans duplexeur

Ceci est une configuration particulière qui nécessite quelques pré-requis :

  • Disposer de 2 sites pas trop éloignés et équipés tous les 2 d’internet à des altitudes semblable.
  • chaque site sera équipé d’un Raspberry ou Orange Pi , et d’une interface + TX antenne  …
  • un site, appelons le A,  sera le récepteur , le second, B l’émetteur .
  • ils communiquent tous les 2 via RemoteTRX
  • cette configuration peut être doublée pour faire un relais bi-bande par exemple VHF et 29MHz. ce qui est le cas de F5ZJX.

dans mon exemple , le site récepteur, A, utilise une configuration un peu particulière de Svxlink.conf : l’émetteur est déporté et passe par un RemoteTrx

relais-f5zjx

################################################################
# Configuration file for Relais VHF 2 sites svxLink.conf  Site A Récepteur
################################################################[GLOBAL]

MODULE_PATH=/usr/lib/arm-linux-gnueabihf/svxlink
LOGICS=RptLogic145
CFG_DIR=svxlink.d
TIMESTAMP_FORMAT= »%c »
CARD_SAMPLE_RATE=48000
#LINKS=ALLlink

[RptLogic145]
# Toujours Repeater
TYPE=Repeater
RX=145rx
TX=145nettx
MODULES=ModuleHelp,ModuleMetarInfo,ModuleEchoLink
CALLSIGN=F5XYZ
SHORT_IDENT_INTERVAL=15
LONG_IDENT_INTERVAL=60
IDENT_ONLY_AFTER_TX=10
EVENT_HANDLER=/usr/share/svxlink/events.tcl
DEFAULT_LANG=fr_FR
EXEC_CMD_ON_SQL_CLOSE=500
ACTIVATE_MODULE_ON_LONG_CMD=2:EchoLink
RGR_SOUND_DELAY=0
REPORT_CTCSS=71.9
TX_CTCSS=ALWAYS
MACROS=Macros
FX_GAIN_NORMAL=-9
FX_GAIN_LOW=-12
NO_REPEAT=0
# relais ouvert 10secondes
IDLE_TIMEOUT=10
OPEN_ON_1750=500
#OPEN_ON_CTCSS=71.9:200
#OPEN_ON_DTMF=*
OPEN_ON_SQL=200
#OPEN_ON_SEL5=01234
OPEN_SQL_FLANK=CLOSE
OPEN_ON_SQL_AFTER_RPT_CLOSE=45
# petit son strident de signalisation tous les X ms 0 le désactive
IDLE_SOUND_INTERVAL=5000
# verifie si une ouverture trop courte du squelch ( parasite ) perturbe le relais
SQL_FLAP_SUP_MIN_TIME=2000
# nombre de fois qu’une transmission trop courte , parasite est entendue le compteur arrete le relais
SQL_FLAP_SUP_MAX_COUNT=10
# demande aux utilisateurs du relais de s’identifier au bout de X secondes
#IDENT_NAG_TIMEOUT=4
# si la transmission dure plus de X ms on considère que c’est une identification
#IDENT_NAG_MIN_TIME=5000
# +0 coupe la logique, le nombre +1 active la logique
ONLINE_CMD=145650

[145rx]
# on reçois via la carte son #
TYPE=Local
AUDIO_DEV=alsa:plughw:2
AUDIO_CHANNEL=0
SQL_DET=CTCSS
SQL_START_DELAY=0
SQL_DELAY=0
SQL_HANGTIME=500
SQL_TIMEOUT=300
VOX_FILTER_DEPTH=20
VOX_THRESH=800
CTCSS_FQ=71.9
DEEMPHASIS=0
SQL_TAIL_ELIM=20
PREAMP=-6
PEAK_METER=1
DTMF_DEC_TYPE=INTERNAL
DTMF_MUTING=1
DTMF_HANGTIME=100
1750_MUTING=1

[145nettx]
# 145MHZ #
# vers SITE B Émetteur #
TYPE=Net
HOST=LE_Host_Distant
TCP_PORT=5210
AUTH_KEY= »Mot_de_passe »
CODEC=S16

Le site émetteur B ne fait pas tourner Svxlink , mais RemoteTrx , seul le port 5210 doit être ouvert sur la BOX:

################################################################
# Configuration file for the RemoteTrx  Site Émetteur B
################################################################

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

[NetUplinkTrx]
TYPE=Net
TX=Tx145
LISTEN_PORT=5210
FALLBACK_REPEATER=0
AUTH_KEY= »Mot_De_Passe »
#MUTE_TX_ON_RX=1000

[Tx145]

TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
PTT_TYPE=GPIO
PTT_PIN=gpio17
TIMEOUT=300
TX_DELAY=10
CTCSS_FQ=71.9
CTCSS_LEVEL=9
PREEMPHASIS=0
DTMF_TONE_LENGTH=100
DTMF_TONE_SPACING=50
DTMF_DIGIT_PWR=-15
#MASTER_GAIN=0.0