Archives mensuelles : janvier 2016

« Développeur » ou modifs intéréssantes

la 1ère modif nous viens du site de SvxCard :

rajouter un équaliseur sur les sorties audio

Installation d’un équaliseur


 

la 2ème est un anti bavard , un K en voie radio , un bip sur les connexion internet , la diffusion du CTCSS dans les balises F5VMR et F5NLG

###############################################################################
#
# Generic Logic event handlers
#
###############################################################################

#
# This is the namespace in which all functions and variables below will exist.
#
namespace eval Logic {
#
# A variable used to store a timestamp for the last identification.
#
variable prev_ident 0;

#
# A constant that indicates the minimum time in seconds to wait between two
# identifications. Manual and long identifications is not affected.
#
variable min_time_between_ident 120;

#
# Short and long identification intervals. They are setup from config
# variables below.
#
variable short_ident_interval 0;
variable long_ident_interval 0;
#
# The ident_only_after_tx variable indicates if identification is only to
# occur after the node has transmitted. The variable is setup below from the
# configuration variable with the same name.
# The need_ident variable indicates if identification is needed.
#
variable ident_only_after_tx 0;
variable need_ident 0;

#
# A list of functions that should be called once every whole minute
#
variable timer_tick_subscribers [list];

#
###### Anti-Bavard – Timeout advisor ###########
#
variable start_of_transmission 0;
variable length_of_transmission 0;
#
# Contains the ID of the last receiver that indicated squelch activity
#
variable sql_rx_id 0;

#
# Executed when the SvxLink software is started
#
proc startup {} {
#playMsg « Core » « online »
#send_short_ident
}
#
# Executed when a specified module could not be found
# module_id – The numeric ID of the module
#
proc no_such_module {module_id} {
playMsg « Core » « no_such_module »;
playNumber $module_id;
}
#
# Executed when a manual identification is initiated with the * DTMF code
#
proc manual_identification {} {
global mycall;
global report_ctcss;
global active_module;
global loaded_modules;
variable CFG_TYPE;
variable prev_ident;

set epoch [clock seconds];
set hour [clock format $epoch -format « %k »];
regexp {([1-5]?\d)$} [clock format $epoch -format « %M »] -> minute;
set prev_ident $epoch;

playMsg « Core » « online »;
spellWord $mycall;
if {$CFG_TYPE == « Repeater »} {
playMsg « Core » « repeater »;
}
playSilence 250;
playMsg « Core » « the_time_is »;
playTime $hour $minute;
playSilence 250;
if {$report_ctcss > 0} {
playMsg « Core » « pl_is »;
playNumber $report_ctcss;
playMsg « Core » « hz »;
playSilence 300;
}
if {$active_module != «  »} {
playMsg « Core » « active_module »;
playMsg $active_module « name »;
playSilence 250;
set func « :: »;
append func $active_module « ::status_report »;
if {« [info procs $func] » ne «  »} {
$func;
}
} else {
foreach module [split $loaded_modules  » « ] {
set func « :: »;
append func $module « ::status_report »;
if {« [info procs $func] » ne «  »} {
$func;
}
}
}
playMsg « Default » « press_0_for_help »
playSilence 250;
}
#
# Executed when a short identification should be sent
# hour – The hour on which this identification occur
# minute – The hour on which this identification occur
#
proc send_short_ident {{hour -1} {minute -1}} {
global mycall;

global report_ctcss;
variable CFG_TYPE;

spellWord $mycall;
if {$CFG_TYPE == « Repeater »} {
playMsg « Core » « repeater »;
}

playSilence 200;

if {$report_ctcss > 0} {
playMsg « Core » « pl_is »;
playNumber $report_ctcss;
playMsg « Core » « hz »;
playSilence 300;
}
}
#
# Executed when a long identification (e.g. hourly) should be sent
# hour – The hour on which this identification occur
# minute – The hour on which this identification occur
#
proc send_long_ident {hour minute} {
global mycall;

global report_ctcss;
global loaded_modules;
global active_module;
variable CFG_TYPE;

spellWord $mycall;
if {$CFG_TYPE == « Repeater »} {
playMsg « Core » « repeater »;
}
playSilence 200;

if {$report_ctcss > 0} {
playMsg « Core » « pl_is »;
playNumber $report_ctcss;
playMsg « Core » « hz »;
playSilence 300;
}

playMsg « Core » « the_time_is »;
playSilence 100;
playTime $hour $minute;
playSilence 500;

# Call the « status_report » function in all modules if no module is active
if {$active_module == «  »} {
foreach module [split $loaded_modules  » « ] {
set func « :: »;
append func $module « ::status_report »;
if {« [info procs $func] » ne «  »} {
$func;
}
}
}

playSilence 500;
}
#
# Executed when the squelch just have closed and the RGR_SOUND_DELAY timer has
# expired.
#

#### modifié anti bavard

proc send_rgr_sound {} {
variable sql_rx_id;
variable length_of_transmission;
if {$length_of_transmission > 180000 } {
set talkTime 3;

playMsg « MetarInfo » « maximum »;
playNumber $talkTime;
playSilence 100;
playMsg « Core » « minutes »;
playSilence 200;
CW::play  » HI HI »;
set length_of_transmission 0;
} else {
CW::play  » K »;
playSilence 200;
}
for {set i 0} {$i < $sql_rx_id} {incr i 1} {
CW::play  » I »;
playSilence 50;
}
playSilence 100;
}
#
# Executed when an empty macro command (i.e. D#) has been entered.
#
proc macro_empty {} {
playMsg « Core » « operation_failed »;
}
#
# Executed when an entered macro command could not be found
#
proc macro_not_found {} {
playMsg « Core » « operation_failed »;
}
#
# Executed when a macro syntax error occurs (configuration error).
#
proc macro_syntax_error {} {
playMsg « Core » « operation_failed »;
}
#
# Executed when the specified module in a macro command is not found
# (configuration error).
#
proc macro_module_not_found {} {
playMsg « Core » « operation_failed »;
}
#
# Executed when the activation of the module specified in the macro command
# failed.
#
proc macro_module_activation_failed {} {
playMsg « Core » « operation_failed »;
}
#
# Executed when a macro command is executed that requires a module to
# be activated but another module is already active.
#
proc macro_another_active_module {} {
global active_module;

playMsg « Core » « operation_failed »;
playMsg « Core » « active_module »;
playMsg $active_module « name »;
}
#
# Executed when an unknown DTMF command is entered
# cmd – The command string
#
proc unknown_command {cmd} {
spellWord $cmd;
playMsg « Core » « unknown_command »;
}
#
# Executed when an entered DTMF command failed
# cmd – The command string
#
proc command_failed {cmd} {
spellWord $cmd;
playMsg « Core » « operation_failed »;
}
#
# Executed when a link to another logic core is activated.
# name – The name of the link
#
proc activating_link {name} {
if {[string length $name] > 0} {
playMsg « Core » « activating_link_to »;
spellWord $name;
}
}
#
# Executed when a link to another logic core is deactivated.
# name – The name of the link
#
proc deactivating_link {name} {
if {[string length $name] > 0} {
playMsg « Core » « deactivating_link_to »;
spellWord $name;
}
}
#
# Executed when trying to deactivate a link to another logic core but the
# link is not currently active.
# name – The name of the link
#
proc link_not_active {name} {
if {[string length $name] > 0} {
playMsg « Core » « link_not_active_to »;
spellWord $name;
}
}
#
# Executed when trying to activate a link to another logic core but the
# link is already active.
# name – The name of the link
#
proc link_already_active {name} {
if {[string length $name] > 0} {
playMsg « Core » « link_already_active_to »;
spellWord $name;
}
}
#
# Executed each time the transmitter is turned on or off
# is_on – Set to 1 if the transmitter is on or 0 if it’s off
#
proc transmit {is_on} {
#puts « Turning the transmitter $is_on »;
variable prev_ident;
variable need_ident;
if {$is_on && ([clock seconds] – $prev_ident > 5)} {
set need_ident 1;
}
}
#
# Executed each time the squelch is opened or closed modifié anti bavard
# rx_id – The ID of the RX that the squelch opened/closed on
# is_open – Set to 1 if the squelch is open or 0 if it’s closed
#
proc squelch_open {rx_id is_open} {
variable sql_rx_id;
variable start_of_transmission;
variable length_of_transmission;
#puts « The squelch is $is_open on RX $rx_id »;
set sql_rx_id $rx_id;
if {$is_open} {
set start_of_transmission [clock clicks -milliseconds];
} else {
set length_of_transmission [expr [clock clicks -milliseconds] – $start_of_transmission];
}
}
#
# Executed when a DTMF digit has been received
# digit – The detected DTMF digit
# duration – The duration, in milliseconds, of the digit
#
# Return 1 to hide the digit from further processing in SvxLink or
# return 0 to make SvxLink continue processing as normal.
#
proc dtmf_digit_received {digit duration} {
#puts « DTMF digit \ »$digit\ » detected with duration $duration ms »;
return 0;
}
#
# 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.
#
# This function can be used to implement your own custom commands or to disable
# DTMF commands that you do not want users to execute.
proc dtmf_cmd_received {cmd} {
#global active_module

# Example: Ignore all commands starting with 3 in the EchoLink module
#if {$active_module == « EchoLink »} {
# if {[string index $cmd 0] == « 3 »} {
# puts « Ignoring random connect command for module EchoLink: $cmd »
# return 1
# }
#}

# Handle the « force core command » mode where a command is forced to be
# executed by the core command processor instead of by an active module.
# The « force core command » mode is entered by prefixing a command by a star.
#if {$active_module != «  » && [string index $cmd 0] != « * »} {
# return 0
#}
#if {[string index $cmd 0] == « * »} {
# set cmd [string range $cmd 1 end]
#}

# Example: Custom command executed when DTMF 99 is received
#if {$cmd == « 99 »} {
# puts « Executing external command »
# playMsg « Core » « online »
# exec ls &
# return 1
#}

return 0
}
#
# Executed once every whole minute. Don’t put any code here directly
# Create a new function and add it to the timer tick subscriber list
# by using the function addTimerTickSubscriber.
#
proc every_minute {} {
variable timer_tick_subscribers;
#puts [clock format [clock seconds] -format « %Y-%m-%d %H:%M:%S »];
foreach subscriber $timer_tick_subscribers {
$subscriber;
}
}
#
# Use this function to add a function to the list of functions that
# should be executed once every whole minute. This is not an event
# function but rather a management function.
#
proc addTimerTickSubscriber {func} {
variable timer_tick_subscribers;
lappend timer_tick_subscribers $func;
}
#
# Should be executed once every whole minute to check if it is time to
# identify. Not exactly an event function. This function handle the
# identification logic and call the send_short_ident or send_long_ident
# functions when it is time to identify.
#
proc checkPeriodicIdentify {} {
variable prev_ident;
variable short_ident_interval;
variable long_ident_interval;
variable min_time_between_ident;
variable ident_only_after_tx;
variable need_ident;
global logic_name;

if {$short_ident_interval == 0} {
return;
}

set now [clock seconds];
set hour [clock format $now -format « %k »];
regexp {([1-5]?\d)$} [clock format $now -format « %M »] -> minute;

set short_ident_now \
[expr {($hour * 60 + $minute) % $short_ident_interval == 0}];
set long_ident_now 0;
if {$long_ident_interval != 0} {
set long_ident_now \
[expr {($hour * 60 + $minute) % $long_ident_interval == 0}];
}

if {$long_ident_now} {
puts « $logic_name: Sending long identification… »;
send_long_ident $hour $minute;
set prev_ident $now;
set need_ident 0;
} else {
if {$now – $prev_ident < $min_time_between_ident} {
return;
}
if {$ident_only_after_tx && !$need_ident} {
return;
}

if {$short_ident_now} {
puts « $logic_name: Sending short identification… »;
send_short_ident $hour $minute;
set prev_ident $now;
set need_ident 0;
}
}
}
#
# Executed when the QSO recorder is being activated
#
proc activating_qso_recorder {} {
playMsg « Core » « activating »;
playMsg « Core » « qso_recorder »;
}
#
# Executed when the QSO recorder is being deactivated
#
proc deactivating_qso_recorder {} {
playMsg « Core » « deactivating »;
playMsg « Core » « qso_recorder »;
}
#
# Executed when trying to deactivate the QSO recorder even though it’s
# not active
#
proc qso_recorder_not_active {} {
playMsg « Core » « qso_recorder »;
playMsg « Core » « not_active »;
}
#
# Executed when trying to activate the QSO recorder even though it’s
# already active
#
proc qso_recorder_already_active {} {
playMsg « Core » « qso_recorder »;
playMsg « Core » « already_active »;
}
#
# Executed when the timeout kicks in to activate the QSO recorder
#
proc qso_recorder_timeout_activate {} {
playMsg « Core » « timeout »
playMsg « Core » « activating »;
playMsg « Core » « qso_recorder »;
}
#
# Executed when the timeout kicks in to deactivate the QSO recorder
#
proc qso_recorder_timeout_deactivate {} {
playMsg « Core » « timeout »
playMsg « Core » « deactivating »;
playMsg « Core » « qso_recorder »;
}
#
# Executed when the user is requesting a language change
#
proc set_language {lang_code} {
global logic_name;
puts « $logic_name: Setting language $lang_code (NOT IMPLEMENTED) »;

}
#
# Executed when the user requests a list of available languages
#
proc list_languages {} {
global logic_name;
puts « $logic_name: Available languages: (NOT IMPLEMENTED) »;

}
#
# Executed when the node is being brought online or offline
#
proc logic_online {online} {
global mycall
variable CFG_TYPE

if {$online} {
playMsg « Core » « online »;
spellWord $mycall;
if {$CFG_TYPE == « Repeater »} {
playMsg « Core » « repeater »;
}
}
}
##############################################################################
#
# Main program
#
##############################################################################

if [info exists CFG_SHORT_IDENT_INTERVAL] {
if {$CFG_SHORT_IDENT_INTERVAL > 0} {
set short_ident_interval $CFG_SHORT_IDENT_INTERVAL;
}
}

if [info exists CFG_LONG_IDENT_INTERVAL] {
if {$CFG_LONG_IDENT_INTERVAL > 0} {
set long_ident_interval $CFG_LONG_IDENT_INTERVAL;
if {$short_ident_interval == 0} {
set short_ident_interval $long_ident_interval;
}
}
}

if [info exists CFG_IDENT_ONLY_AFTER_TX] {
if {$CFG_IDENT_ONLY_AFTER_TX > 0} {
set ident_only_after_tx $CFG_IDENT_ONLY_AFTER_TX;
}
}

# end of namespace
}

#
# This file has not been truncated
#

Publicités

Serveur IRC

Si vous désirez venir discuter autour de SvxLink , des réseaux,

un serveur IRC a été mis en place :

serveur.f5nlg.ovh   (port 6667)

il est également accessible en web , merci a f4MZI

serveur irc web

David F0GBY a fait une documentation d’installation sur Thunderbird , Weechat :

site de F0GBY

73″ de Jean-Philippe

Postes Radios et branchements

Talco :

CS3 ou CS4 : Tous les signaux passent par la prise micro .

Les branchements sont disponibles sur la page de F4BQN .

Le CTCSS passe sans soucis le 71.9 Hz,

( sans la carte CTCSS dans le poste et sans la carte modem IMP50 ) .

Le niveau d’entrée micro est à 0 et la sortie audio à 100% ,

c’est ce qui est en service sur F5ZIN-R , F6KBO-L


Philips PRM80xx:

LA BF est filtrée, donc seul le 250.3 Hz passe,

Il faut rajouter dans la section RX :

PREAMP=10

Le branchement est indiqué ici : F4BQN  ,

Il doit être possible de passer sur la 15 broches, mais je n’ai pas testé,

le poste que j’ai eu à câbler n’avait rien de branché sur la 15 points .

Voir le site PRM Mods, c’est ce qui est en service sur le Node de F0GBY .


Baofeng UV3, UV5, BF888 :

Il est possible de sortir un fil de détection de Squelch sur le BF888 et sûrement sur les autres .

Aucune tonalité CTCSS ne passe par la prise HP, Il faut donc être en « VOX » ( beurk) ou « détection de Squelch » après modif .

En service sur F5NLG-L

 


Mororola GM340, 360, 380 :

Les signaux sont pris sur la prise 16 broches à l’arrière :

le CTCSS, la BF, sur la broche 11 ,

le micro sur la broche 2  ( et sur la partie RX DEEMPHASIS=1 )*

voir la page de F4BQN ,

en service sur son Node .


Yaesu FT1900 :

Le micro et le PTT passent par la RJ12

Le 82,5 Hz passe par le haut-parleur

( information de F4BQN )


Standard C-151, ADI AT-201, Yaesu FT23R, Yaesu FT73R …

le micro est connecté via une capacité de 0.47µf

le PTT via une résistance 2.2 k Ohms sur le jack 2.5mm ,

la sortie HP via le jack 3.5mm,

volume à 2

mixer à 56

le CTCSS passe sans problème.

To be continue …

Documentation Utilisateur Relais / Link sur le RRF

Cette documentation décrit comment utiliser un serveur SvxLink (F5ZIN ou autres Nodes SvxLink) via l’interface radio.

SvxLink est contrôlé par DTMF (Dual Tone Multi Frequency) .
Toutes les heures, le système s’annonce et donne l’heure sur les voies radio, éventuellement la météo à la demi .

Le module chargé au démarrage du système est PropagationMonitor.
Toutes les commandes pour le système se terminent par le signe dièse (#), c’est un peu comme la touche entrée sur un ordinateur.

Le système est construit sur ​ un système central qui gère les interfaces radios et la connexion au réseau .

Le système de base peut ensuite être étendu par le chargement des modules qui gèrent un service spécifique.

Les commandes spécifiques au réseau RRF ( Distrib Spotnik ) :

  • 93# Annonce l’adresse IP Local
  • 95# Passe le relais en mode autonome ( le Link ou Hotspot en mode test avec le perroquet)
  • 96# Accès au Réseau des Répéteurs Francophone
  • 97# Accès au réseau FON (French Open Network)
  • 98# Accès au salon technique
  • 99# Accès au salon urgence
  • 100# Accès au salon SSTV
  • 101# Accès au salon Codec2
  • 102# Accès au réseau EchoLink (si configuré)

 

Des modules supplémentaires peuvent avoir été activés par le Sysop

Un N° d’ (ID) unique est associé à un module .

 

Il faut donc préfixer chaque commande par le signe * pour activer un module supplémentaire , appuyer sur son numéro d’identification (ID du module) suivi du signe dièse (#).

  • *0 # module d’aide du système
  • *1 # module perroquet ( répéteur simplex ) ( si disponible )
  • *2 # module EchoLink ( si disponible et configuré )
  • *3 # module Voice Mail ( si disponible )
  • *4 # module DTMF Repeater ( si disponible )
  • *5 # module Météo 
  • *6 # module appel Sélectif ( si disponible )
  • *7# module Free Radio Network ( si disponible et configuré )
  • 10 # module Moniteur de Propagation ( module actif par défaut )

seuls les modules en gras sont actif sur la majorité des systèmes.

le module Moniteur de Propagation est chargé par défaut

( il faut qu’un module soit chargé pour avoir le Roger Beep )

 

Quand un module est activé, envoyez la commande 0# pour obtenir de l’aide sur ce module,

pour quitter un module, envoyez simplement un # .

Une description plus détaillée des différents modules est décrite ci-dessous .

Le module d’aide : ID=0 (Module Help) 0#
Le module d’aide est utilisé pour obtenir de l’aide sur le système dans son ensemble et également sur chaque module spécifique.
Une fois un module activé, en utilisant la commande 0#, envoyez le numéro d’identification du module pour obtenir l’aide sur celui-ci .

Choisir d’obtenir de l’aide (0#) sur le module d’aide lui-même vous donnera une d’aide globale sur l’utilisation de SvxLink.

Comme toujours, chaque commande se termine par le signe dièse.

Il est également possible d’écouter un message d’aide sans activer le module d’aide en premier :

Il suffit d’envoyer 0 <id du module> #             (par exemple 05 #), et le texte d’aide correspondant au module ( Météo dans l’exemple ) .

Sortez du module en envoyant simplement le signe dièse.

Le Module perroquet : ID=1 (ModuleParrot) 1#
Le module perroquet enregistre tout ce que vous dites et le restitue après avoir relâché le PTT .
Ceci peut être utilisé comme un répéteur simplex ou tout simplement pour savoir comment le Node vous reçois.

Il vous indique également les chiffres DTMF sur lesquels vous appuyez.

Cette dernière fonction peut être utilisée pour tester si le Node reçoit correctement vos chiffres DTMF.

Comme toujours, mettez à la fin de vos chiffres DTMF le signe dièse.

Si vous voulez relire un code DTMF vous n’avez pas à activer le module, il suffit d’envoyer une commande comme :
1<code>#

(par exemple 1 2345 #)

les chiffres après l’ID du module serons lu.

ll y a un temps maximum d’enregistrement que le sysop peu définir dans le fichier de configuration.

Si le Squelch est ouvert pour une période plus longue que la durée maximale d’enregistrement, les données audio les plus anciennes seront perdues.
Sortez du module en envoyant simplement le signe dièse.

Ce module est disponible dans la configuration de test 95#

voir plus haut …

Le module EchoLink : ID=2 (ModuleEchoLink) 2#
Le module EchoLink est utilisé pour se connecter aux autres Nodes EchoLink.

Il participe au réseau comme tout autre Node EchoLink .

Il peut être activé au démarrage du système .

Il ne se connecte à aucun « Node par défaut ».

Le sysop peut le configurer à son souhait.

Pour se connecter à un autre Répéteur ou Digi, il suffit de :

  • déconnecter le Node actuel en envoyant un #
  • puis d’envoyer le numéro du Node désiré
  • et terminer par un signe dièse (#).

Pour déconnecter la dernière station connectée, envoyez simplement le signe dièse (#).

Pour quitter le module, envoyer un nombre de signes dièse égal au nombre de Digi connectés .

Pour obtenir plus d’informations sur le système EchoLink, jeter un coup d’œil à la page d’accueil d’EchoLink.

Sous-commandes                                                                                                    Un certain nombre de sous-commandes peuvent être utilisées lorsque le Module EchoLink a été activé.

0 – Ecouter le message d’aide
1 – Lister toutes les stations connectées
2 – Ecouter l’ID du digi EchoLink locale
31 – Connectez-vous à un digi au hasard (déconseillé …)
32 – Connectez-vous à une conférence au hasard (désactivé …)
4 – Se reconnecter à la dernière station déconnectée
50 – Désactiver le mode « écouter seulement »
51 – Activer le mode « écouter seulement »
6 * – Commande de recherche

Le  « relier par l’indicatif » est une fonctionnalité qui permet de se connecter à une station, même si le numéro du digi est inconnu .

L’Indicatif est mappé sur les chiffres en utilisant la méthode suivante:

ABC = 2
DEF = 3
GHI = 4
JKL = 5
MNO = 6
PQRS = 7
TUV = 8
WXYZ = 9

C’est le même mapping que sur de nombreux (vieux) téléphones.

Une commande de recherche commence avec (6 *) suivi du code indicatif et du signe # .

Donc, si vous voulez vous connecter à SM0SVX-L, vous devez saisir « * 6 76078915 # ».

Comme les codes ne sont pas uniques une liste de résultats de la recherche sera lu, il ne vous restera plus qu’à choisir.

Si le code entré se termine par un astérisque , une recherche générique sera effectuée.

Donc, si vous souhaitez rechercher toutes les stations commençant par F5Z,  vous entrerez :

6 * 359 * #

Attention la liste peut être longue .

Par exemple 4# vous connecte à la station lue en 4eme position.

Macro pré-programmée du Module EchoLink :
La touche « D » est utilisée pour activer une macro,

ceci permet de limiter le nombre de chiffres à envoyer en DTMF .

Par exemple, la macro 35 peut être programmée  pour se connecter au FON , F1ZHH-R :

la commande D35# doit être pressée au lieu de  282229#.

C’est le sysop du Node qui définit les macros, cette liste est susceptible de changer .

Si vous vous connectez très souvent à un Node EchoLink , il peut être agréable de configurer une macro .

Pour cela, demandez à votre Sysop de la rajouter dans la liste des macros, ( uniquement pour les Links, Réseaux, ou Répéteurs )

Le module Météo : ID=5 (ModuleMetarInfo) 5#
Le module Météo , reçoit la météo de l’aéroport configuré par le sysop .

Il est possible de changer d’aéroport .

Il est possible de lire la météo même si un module est actif :

il faut taper :

*51# pour la première météo configuré,

*52# pour la 2eme etc …

Vous pouvez choisir d’écouter la météo d’un autre aéroport .

La synthèse vocale n’est pas parfaite, il faut être attentif sur ce module.

Sur mon système, les météos suivantes sont configurées :
1 # Lannion
2 # Brest
3 # Rennes
4 # Nantes

Annexe :
Une commande préfixée avec un astérisque (*) sera exécutée dans le contexte d’inactivité, même si un module est activé.
Donc, même si par exemple le module ‘Module Propagation Monitor’ est activé, vous pouvez toujours demander la météo en envoyant  * 5 1#, cette commande est vue plus en détail dans la documentation du module météo.

La commande *# vous donne l’état du système.

Certains modules disponibles n’ont pas été activés :

  • soit ils sont compliqués à utiliser,gourmands en ressources
  • ou d’un intérêt moindre.

Le module de la messagerie vocale :  ID=3 (ModuleTclVoiceMail) 3#
Ce module implémente un système de messagerie vocal simple, ne peut être utilisé que par les utilisateurs du Node local.
Il n’est pas possible d’envoyer des messages vocaux pour les utilisateurs sur d’autres Nodes ou Relais .

Pour pouvoir utiliser le module de messagerie vocale, vous devez avoir un identifiant personnel et un mot de passe. Contactez le sysop du digi local pour obtenir ces données.

Lorsque le module est activé (par défaut 3 #), vous serez invité à saisir votre identifiant et mot de passe. L’ID de connexion est toujours composée de trois chiffres. Le mot de passe peut avoir de un à sept chiffres.

Entrez votre ID de connexion et mot de passe dans une séquence comme 1230 # si votre ID de connexion est de 123,

le mot de passe est toujours 0 ( choix du sysop ).

Après cela, les menus contextuels vous guideront à travers l’utilisation du système.
Une commande vide (#) avorte l’opération en cours.

Il est possible pour le sysop de configurer une adresse E-mail pour chaque utilisateur. Si cela a été fait, un E-mail sera envoyé à l’utilisateur si quelqu’un enregistre un nouveau message vocal pour lui.

Enregistrement d’un message vocale:
Pour commencer à enregistrer un message vocal, la commande 2# est utilisée.
Le système vous demandera alors l’ID d’un destinataire. Vous pouvez combiner ces deux étapes en entrant l’ID utilisateur directement après la commande.
Par exemple, si vous voulez enregistrer un message vocal pour l’utilisateur 123, envoyez la séquence # 2123. Après cela, vous serez d’abord invité à enregistrer un sujet court.
Gardez-les aussi courts que possible. Ensuite, un message vocal vous invite à enregistrer le message réel.
Il y a des temps d’enregistrement maximum imposée pour le sujet et le corps du message. il sont sont configurables par le sysop.
Les valeurs par défaut sont 10 secondes pour le sujet et 2 minutes pour le corps du message.

L’écoute des messages vocaux reçus:
Pour écouter des messages vocaux reçus, envoyer la commande 1#. La messagerie vocale poing enregistrées seront alors lus, d’abord le sujet, puis immédiatement le message réel.
Après que le message ait été lu, 4 options sont proposées à l’utilisateur :

  • supprimer le message
  • répondre à l’expéditeur après la suppression du message ou
  • relire le message
  • si le signe dièse est envoyé, l’opération est annulée et l’utilisateur est renvoyé vers le menu principal. Le message ne sera pas marqué comme lu.

de 1 à 3 suivi de dièse pour valide votre choix.
Pour lire le message suivant stocké, même procédure de départ avec la commande 1#.


Pour les utilisateurs ayant de nouveaux messages vocaux dans leur boîte de réception, ce sera normalement annoncé au moment de la balise longue, c’est à dire toutes les heures.

On peut vérifier manuellement s’il y a des nouveaux messages vocaux pour un utilisateur, sans l’activation du module.
Il suffit d’envoyer *3 <id utilisateur> # (par exemple *3123 #) le digi vous indiquera le nombres de nouveaux messages.
Pour désactiver le module, il suffit d’appuyer sur # lorsque le menu principal est actif.
Le module de perroquet DTMF : ID=4 (ModuleDtmfRepeater) 4#
Ce module va retransmettre tous les chiffres DTMF reçus lorsqu’il est actif. Tous les chiffres reçus seront complètement ignorés par le noyau SvxLink. Pour désactiver le module, envoyez le signe dièse (#) pendant au moins trois secondes.
Il est également possible de retransmettre des chiffres DTMF sans avoir d’abord activé le module.
Toutefois, vous serez limité à la transmission de chiffres qui ne sont pas interprétés par SvxLink dans ce contexte . Il s’agit de 0-9 et *.
En mode veille, il suffit d’envoyer une commande comme *4<digits># (par exemple *4123 * #).
Ce module est généralement utilisé pour les services de contrôle à distance d’autres répéteurs. via le digi La mise en sourdine DTMF doit être activée pour que des chiffres DTMF reçus ne soit pas normalement entendus sur le répéteur.

Le module d’appel sélectif : ID=6 (ModuleSelCallEnc) 6#
Le module d’appel sélectif codeur est utilisé pour transmettre des séquences de tonalité d’appel sélectif.
Pour envoyer une séquence d’appel sélectif, envoyer une commande DTMF où les deux premiers chiffres représentent l’appel sélectif standard à utiliser et où le reste des chiffres est la séquence réelle des chiffres à envoyer. Normes disponibles sont:

01 – ZVEI1
02 – ZVEI2
03 – ZVEI3
04 – PZVEI
05 – DZVEI
06 – EEE
07 – CCIR1
08 – CCIR2
09 – VDEW
10 – CCITT
11 – NATEL
12 – EIA
13 – EURO
14 – Modat
15 – PDZVEI
16 – PCCIR17 – AUTOA

Par exemple, la commande # 0712345 enverra le ton cinq CCIR1 séquence 12345.
Si vous envoyez une commande simplement composée d’un code standard, le nom de la norme sera lue.
Commande 0 lira le message d’aide pour ce module.
Il est également possible d’envoyer une séquence lorsque le module n’est pas actif.
préfixe de commande avec l’id du module (par exemple *60712345 #) et la séquence sonore sera envoyé sans le module en cours d’activation.

Le module Free Radio Network : ID=7 ( ModuleFrn) 7#                               Ce Module permet de se connecter au Free Radio Network

Ce module est configuré par le sysop.

Le module de surveillance de la propagation : ID=10 ModulePropagationMonitor) 10#
Le module de surveillance de la propagation est utilisé pour annoncer des alertes de propagation reçues de Dxmaps.com
Chaque annonce est précédée par une alerte sonore puis l’alerte réelle est annoncée deux fois. Des alertes comme les aurores , Tropos et ouvertures E-sporadiques sont annoncées.
La seule commande de ce module interactif est pour l’instant la commande 0, qui lit le texte d’aide. Il n’existe aucun moyen de relire une alerte précédente .
Pour désactiver le module, il suffit d’appuyer sur # lorsque le menu principal est actif.
73″ de Jean-Philippe , F5NLG

( document largement inspiré de la documentation de F1SMF )

Spotnik Boutique

Nous vous proposons des solutions pour vous aider dans la mise en place d’un relais, Link ou Hotspot.

Relais perroquet, Node EchoLink SvxReflector ou  Free radio Network

Toute la documentation pour le faire vous même est sur le site ainsi que les images pré-configurées des distributions.

Cette boutique existe pour développer les réseaux et comme complément du site .

Je ne suis pas là pour devenir milliardaire avec ce business mais plutôt pour aider les OM qui souhaitent faire progresser les réseaux, et qui n’ont pas forcément toutes les compétences pour le réaliser (fer à souder, montage, linux …)

Je vous rappelle néanmoins que pour obtenir de bons résultats , il FAUT utiliser le CTCSS ou une détection de Squelch hardware .

Certains postes du commerce ne passent pas bien le CTCSS par le haut parleur,

si votre poste dispose d’une prise « DATA » ( din 6 broches ), en général c’est la meilleure solution .

Un radio téléphone pro fonctionne très bien aussi pour cet usage ( Talco, Motorola, Philips, et sûrement d’autres …)

Les Prix sont TTC port compris pour la France , rajoutez 8€ pour l’Europe sur les colis c’est a dire Spotnik complet ou interface montée.

Les délais peuvent aller de 5 jours à 3 semaines en fonction des stock .

Règlement Paypal à la commande .

Toutes les réalisations d’interfaces sont faites à la main, sur un circuit imprimé professionnel, voir les photos .

Pour toute commande ou demande d’information merci d’adresser un mail à svx.boutique@gmail.com

La puissance du Logiciel SvxLink, qui existe depuis plus de 12 ans, permet d’avoir un système moderne, fiable, et hautement configurable, ce logiciel tourne sous Linux.

Il est possible, sur OrangePi ou Raspberry, de connecter 2 TX pour faire un transpondeur, par exemple VHF / UHF /… on peut imaginer un système avec une voie radio sur 10M et l’autre sur UHF.

Boutique :

Carte SD 8Go class 10 pré-configurée pour Raspberry ou Orange pi                               12€

2016-01-06 08.07.00

Circuit imprimé  « Béta » ou « Delta » + notice par mail                                                       5€ 70

DSCN0712

Circuit imprimé  « gamma universel  Raspberry Orange pi … » + notice par mail         2€ 70

27658757_197977734278221_1575817532_n

Kit complet « Béta » sans radio comprenant :

  • un connecteur 26 broches à souder sur OrangePi Zéro
  • le circuit imprimé, les composants
  • une DIN 6 broches mâles + notice                                                                                16€ 70

Kit complet « Delta » Hotspot avec SA818 UHF et antenne :

  • un connecteur 26 broches à souder sur OrangePi Zéro
  • le circuit imprimé, les composants
  • le module SA818, la prise SMA, et son antenne                                                     36€ 70

Kit complet « Gamma » sans radio comprenant :                                                              16€ 70

  • fils vers gpio
  • le circuit imprimé, les composants
  • une carte-son compatible
  • Connecteurs broches mâles

l’interface « Béta » avec prise radio, din, montée, connecteur 26 broches à souder     28€ 70

DSCN0718

L’interface « Delta »  avec son antenne, montée, connecteur  26 boches à souder           55€ 70

spotnik_delta

Le Spotnik complet « Béta » avec la prise 6 broches montée                                               75€

18951180_452656815080577_5535420845522535210_n

Le Spotnik complet « Delta » avec radio intégrée 0,5w 432.975MHz                                 100€

dav

L’interface « Gamma » disponible en kit ou montée

Kit:  16€ 70    Monté: 28€ 70

27459012_554573804888877_8868192040523326738_n

MYLB-Gold-Tone-SMA-M-le-Ton-Argent-BNC-Connecteur-Femelle-Adaptateur.jpg_50x50

Adaptateur SMA -> BNC                                                                                                    5€

 

1-2-M-PS2-PS-2-Clavier-Souris-M-le-m-le-Extension-Cable-Plomb-6.jpg_50x50

cordon PS2/PS2 ( Din 6 broches ) Mâle Mâle                                                                  8€

 

Le prix sont susceptibles de modifications en fonction des approvisionnement et des frais postaux .

Configuration mode relais

Cette page décrit le fonctionnement spécifique du mode relais , il faut activer une logique dont le nom est « RepeaterLogic » .

C’est une logique complète de relais , comprenant la gestion des flux audio.

Une seule carte son est nécessaire, la sortie va sur l’entrée micro du TX, et l’entrée de la carte son va sur la sortie BF du RX .

Le reste de la logique est identique au schéma ci-dessous.

2014-10-29 00.16.38

Voici la description du fichier svxlink.conf  :

[GLOBAL]

MODULE_PATH=/usr/lib/arm-linux-gnueabihf/svxlink
LOGICS=RepeaterLogic
CFG_DIR=svxlink.d
TIMESTAMP_FORMAT= »%c »
CARD_SAMPLE_RATE=48000
#LOCATION_INFO=LocationInfo
[RepeaterLogic]
# Toujours Repeater
TYPE=Repeater
RX=Rx1
TX=Tx1
MODULES=ModuleHelp,ModuleMetarInfo,ModuleEchoLink
CALLSIGN=F5XYZ
SHORT_IDENT_INTERVAL=15     <<<<15mn c’est la réglementation
LONG_IDENT_INTERVAL=60      <<<< toutes les heures on envoie l’heure
IDENT_ONLY_AFTER_TX=4
#EXEC_CMD_ON_SQL_CLOSE=500
EVENT_HANDLER=/usr/share/svxlink/events.tcl
DEFAULT_LANG=fr_FR              <<<<<< on cause la France
RGR_SOUND_DELAY=0              <<<<<< -1 désactive le roger beep
REPORT_CTCSS=71.9                    <<<<< on indique le CTCSS sur les balises
#TX_CTCSS=SQL_OPEN
MACROS=Macros
FX_GAIN_NORMAL=0
FX_GAIN_LOW=-12
NO_REPEAT=0
IDLE_TIMEOUT=20                    <<<<<< le temps d’ouverture du relais
OPEN_ON_1750=500                  <<<<<< on déclenche sur 1750Hz
#OPEN_ON_CTCSS=71.9:500
#OPEN_ON_DTMF=*
OPEN_ON_SQL=200                   <<<<<< on déclenche sur Squelch (CTCSS)
#OPEN_ON_SEL5=01234
OPEN_SQL_FLANK=CLOSE
OPEN_ON_SQL_AFTER_RPT_CLOSE=5
# petit son strident de signalisation tous les X ms 0 le désactive
IDLE_SOUND_INTERVAL=10000
# vérifie si une ouverture trop courte du Squelch  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=7
ACTIVATE_MODULE_ON_LONG_CMD=2:EchoLink
# demande aux utilisateurs du relais de s’identifier au bout de X secondes
IDENT_NAG_TIMEOUT=4
# <<<<< Vous pouvez supprimer la demande d’authentification qui est un peu lourde …
# 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

[Rx1]
# 430Mhz #
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
SQL_DET=CTCSS
GPIO_SQL_PIN=gpio23
SQL_START_DELAY=0
SQL_DELAY=0
SQL_HANGTIME=0
SQL_TIMEOUT=300
VOX_FILTER_DEPTH=20
VOX_THRESH=800
CTCSS_FQ=71.9
#SIGLEV_DET=NOISE
SIGLEV_SLOPE=1
SIGLEV_OFFSET=0
SIGLEV_OPEN_THRESH=18
SIGLEV_CLOSE_THRESH=10
DEEMPHASIS=0
SQL_TAIL_ELIM=20
PREAMP=0
PEAK_METER=0
DTMF_DEC_TYPE=INTERNAL
DTMF_MUTING=0
DTMF_HANGTIME=100
1750_MUTING=1

[tx1]
# 430Mhz #
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
PTT_PORT=GPIO
PTT_TYPE=GPIO
PTT_PIN=gpio24
TIMEOUT=7200
TX_DELAY=10
PREEMPHASIS=0
DTMF_TONE_LENGTH=100
DTMF_TONE_SPACING=50
DTMF_TONE_AMP=-18

Cette logique est utilisée sur le relais UHF F5ZIN .

bien sûr il faut 2 radios et un duplexer pour l’utiliser ou en mode transpondeur unilatéral .

to be continued ….

Nouveau protocole : « Free Radio Network »

La dernière version de Svxlink supporte le protocole Free Radio Network j’ai fait quelques essais avec ce protocole , hormis la qualité de la BF qui est sympa , voici mes remarques :

  • pas simple à appréhender au départ
  • ne fonctionne pas en // avec ModuleEchoLink , il faut l’installer sur une autre logique .
  • pour la lancer, il faut tapez 7 # dans la logique concernée pour avoir la connexion.
  • la version proposé n’est que ‘[Client] qui se connecte à [serveur]’
  • risque d’intrusion, ce protocole est accessible à n’importe qui .
  • ne semble pas bidirectionnel entre EchoLink sur une logique et Free radio Network.

voici mon fichier de configuration pour ce module.

[ModuleFrn]
NAME=Frn
PLUGIN_NAME=Frn
ID=7
TIMEOUT=300

# Détails http://freeradionetwork.eu/frnprotocol.htm
SERVER=77.128.158.161     <<<<< ici, le serveur dispo sur interne
PORT=10028  <<<< le port du serveur
VERSION=2014000
EMAIL_ADDRESS=mail.moi@gmail.com <<<< le mail que j’ai renseigné à l’inscription
DYN_PASSWORD=PASSWD <<<< le password qui m’a été fourni

# différents modes de fonctionnement

#0 = crosslink, 1=gateway, 2=PC only

CLIENT_TYPE=1
CALLSIGN_AND_USER= »F5ZIN, Relais » <<< celui fourni à l’inscription
BAND_AND_CHANNEL= »Ham French Repeater »
DESCRIPTION= »SvxLink FRN Station »
COUNTRY=France
CITY_CITY_PART= »French Repeater, Net »
NET=Frn

FRN_DEBUG=1  <<<<<< permet de voir les messages d’erreur
#DISABLE_RF=1

nous passons en Test (avec Michel , F1TZO) .

73″ de Jean-Philippe