====== Etat de connexion à internet ======
Pour vérifier que votre relais est toujours en ligne sur internet, nous allons ajouter une commande DTMF qui vous renseigne par une annonce vocale sur simple demande.
===== Création de la copie de la logique de relais =====
Copier le fichier ''Logic.tcl'' dans un sous-répertoire ''local''. Cela nous permet de ne jamais modifier le fichier ''Local.tcl'' livré à l'installation de SvxLink (qui reste disponible à la consultation dans ''/usr/share/svxlink/events.d/''.)
cd /usr/share/svxlink/events.d/
sudo mkdir local
cp Logic.tcl ./local/Logic.tcl
===== Modification du fichier Logic.tcl =====
Dans le fichier ''Logic.tcl'', recherchez la fonction qui va traiter nos commandes distantes lors de la réception de codes DTMF ''dtmf_cmd_received'', puis intégrer y le bout de code suivant (entre '' if {$cmd == "25"} { # DTMF 25'' et '' return 1 }'')
sudo nano /usr/share/svxlink/events.d/local/Logic.tcl
#SEND DTMF CODE 25#
if {$cmd == "25"} {
set result [catch {exec ping -c 1 google.com }];
if {$result == 0} {
puts "Internet online :Connected"
playMsg "Default/internet_status" "Internet_Connection_Active";
#speeling of the internet public IP address
set runcmd [exec curl http://ip.42.pl/short 2>&1]; #Internet IP adress
puts "Internet IP Adress : $runcmd"
set splitip [split $runcmd .]
lassign $splitip ip1 ip2 ip3 ip4
spellWord $ip1;
playMsg "Default" "decimal";
spellWord $ip2;
playMsg "Default" "decimal";
spellWord $ip3;
playMsg "Default" "decimal";
spellWord $ip4;
} else {
puts "Internet online :Disconnected"
playMsg "Default/internet_status" "Internet_Connection_Inactive";
}
return 1
}
return 0
}
Dans ce code TCL, nous avons également intégrer à partir de la ligne ''#speeling of the internet public IP address'' quelques lignes qui vont permettre de faire la lecture chiffre à chiffre de votre adresse ip publique. Cette lecture utilise la fonction standard ''spellWord''.
Les deux messages lus sont deux fichiers son ''wav'' à mettre en place dans un sous-repertoire, par exemple ''/usr/share/svxlink/sounds/fr_FR/internet_status/''.
Fichiers disponibles sur https://github.com/F8ASB
{{youtube>T6ca5rRzYdg?medium}}