hohneck – Blog radioamateur de F8ASB https://blog.f8asb.com Promouvoir est notre devoir ... Sun, 26 Mar 2017 05:08:24 +0000 fr-FR hourly 1 98010425 F1ZBV: Lola fait une pause… https://blog.f8asb.com/2017/03/26/f1zbv-lola-fait-une-pause/ https://blog.f8asb.com/2017/03/26/f1zbv-lola-fait-une-pause/#respond Sun, 26 Mar 2017 05:08:24 +0000 http://blog.f8asb.com/?p=3251 Continuer la lecture ]]>  

Les relais des Vosges F1ZBV/F1ZBU seront inactifs pour une durée indéterminée.

En effet, nous sommes à la recherche d’un nouveau site d’implantation car il nous a été demandé de quitter le Hohneck, le nouveau propriétaire ne souhaitant plus notre présence.

Nous sommes donc à la recherche d’un lieu, si possible au dessus de 1000m de façon à couvrir au mieux le département, ensuite il faudra le réimplanter…..


Si vous avez des relations ou des propositions merci de prendre contact.

 


Vous pouvez recevoir un email dès la parution d’un article sur le Blog F8ASB.COM, entrez votre mail sur la fenêtre à droite et cliquer sur abonnement. Tous les articles en 1 clic ICI
]]>
https://blog.f8asb.com/2017/03/26/f1zbv-lola-fait-une-pause/feed/ 0 3251
SVXLINK: Local.tcl et ses améliorations https://blog.f8asb.com/2016/11/12/svxlink-local-tcl-et-ses-ameliorations/ https://blog.f8asb.com/2016/11/12/svxlink-local-tcl-et-ses-ameliorations/#respond Sat, 12 Nov 2016 07:07:21 +0000 http://blog.f8asb.com/?p=2972 Continuer la lecture ]]> local_tclVoila pourquoi LOLA parle si bien…

Les nouvelles fonctionnalités sur F1ZBV ne pourraient pas fonctionner sans la modification de ce fichier c’est pour cela que j’ai décidé de vous le fournir et de vous le décrire.
Le principe des fonctions et de limiter les lignes de code et de pouvoir les appeler autant de fois que l’on en a besoin.
Le fichier Locale.tcl se place dans le repertoire de la langue pour nous: fr_FR
/usr/share/svxlink/sounds/fr_FR/events.d/Locale.tcl

Je pense que la majorité des nouvelles fonctions peuvent être compatibles avec d’autres langues, ou nécessitent quelques petites modifications.

Voici les fonctions que j’y ai ajoutées:
playTemp                                 dire la température
playFourDigitNumber       dire un chiffre à 4 décimales
playMonth                               dire le mois
playWindDir                          dire la direction d’après la lettre  (ex: N pour Nord)
playVoltage                             dire une tension

le fonctionnement est simple et commun à toute les fonctions. Il est nécessaire d’ajouter les fichiers sons correspondants.

A n’importe quelle moment dans votre programme tcl il vous suffira d’insérer cette fonction pour l’utiliser de la manière suivante:

<fonction> <variable> <;>
ex:
playNumber $resultat1;

playTemp
c'est fonction dira pour une valeur de 16.5: Seize degrés cinq                            playFourDigitNumber
c'est fonction dira pour une valeur de 1250: Mille deux cent cinquante
playMonth
c'est fonction dira pour une valeur de 02: Février 
playWindDir
c'est fonction dira pour une valeur de E: Est     

playVoltage
c'est fonction dira pour une valeur de 13.8Treize volts huit

Les codes complets du Locale.tcl ci-dessous:

###############################################################################
#
# Locale specific functions for playing back time, numbers and spelling words.
# Often, the functions in this file are the only ones that have to be
# reimplemented for a new language pack.
#
###############################################################################

#
#  25/06/2011   F1SMF    modif  for fr_FR
#  04/04/2016  F8ASB Add playTemp read temperature datas for fr_FR
#  01/10/2016  F8ASB Add functions:
#  playFourDigitNumber  Say number with four digits
#  playMonth            Say the month with the number
#  playWindDirAngle     Say winf direction with angle
#  playWindDir          Say wind direction with letter direction 
#  playTemp             Say temperature 
#  playVoltage          Say Voltage

#
# Spell the specified word using a phonetic alphabet
#
proc spellWord {word} {
  set word [string tolower $word];
  for {set i 0} {$i < [string length $word]} {set i [expr $i + 1]} {
    set char [string index $word $i];
    if {$char == "*"} {
      playMsg "Default" "star";
    } elseif {$char == "/"} {
      playMsg "Default" "slash";
    } elseif {$char == "-"} {
      playMsg "Default" "dash";
    } elseif {[regexp {[a-z0-9]} $char]} {
      playMsg "Default" "phonetic_$char";
    }
  }
}


#
# Spell the specified number digit for digit
#
proc spellNumber {number} {
  for {set i 0} {$i < [string length $number]} {set i [expr $i + 1]} {
    set ch [string index $number $i];
    if {$ch == "."} {
      playMsg "Default" "decimal";
    } else {
      playMsg "Default" "$ch";
    }
  }
}


#
# Say the specified two digit number (00 - 99)
#
proc playTwoDigitNumber {number} {
  if {[string length $number] != 2} {
    puts "*** WARNING: Function playTwoDigitNumber received a non two digit number: $number";
    return;
  }

  set first [string index $number 0];
if {($first == "0") || ($first == "O")} {
    playMsg "Default" $first;
    playMsg "Default" [string index $number 1];
   }  elseif {$first == "1"} {
        playMsg "Default" $number;
        }  elseif {$first == "7"} {
             playMsg "Default" "6X";
             if {[string index $number 1] == "1"} {
                 playMsg "Default" "and";
             }
             playMsg "Default" [expr $number - 60];
             } elseif {$first == "9"}  {
                  playMsg "Default" "8X";
                  playMsg "Default" [expr $number - 80];
                  } else {
                    playMsg "Default" "[string index $number 0]X";
                    if {[string index $number 1] == "1"} {
                        playMsg "Default" "and";
                    }
                    if {[string index $number 1] != "0"} {
                         playMsg "Default" "[string index $number 1]";
                    }
                  }
             }
#
# Say the specified three digit number (000 - 999)
#
proc playThreeDigitNumber {number} {
  if {[string length $number] != 3} {
    puts "*** WARNING: Function playThreeDigitNumber received a non three digit number: $number";
    return;
  }
  
  set first [string index $number 0];
    if {($first == "0") || ($first == "O")} {
    spellNumber $number
  } else {
    append first "00";
    playMsg "Default" $first;
    if {[string index $number 1] != "0"} {
      playTwoDigitNumber [string range $number 1 2];
    } elseif {[string index $number 2] != "0"} {
      playMsg "Default" [string index $number 2];
    }
  }
}

#
# Say the specified three digit number (1000 - 9999)
#
proc playFourDigitNumber {number} {
  if {[string length $number] != 6} {
    puts "*** WARNING: Function playFourDigitNumber received a non four digit number: $number";
    return;
  }

  set first [string index $number 0];
    if {($first == "1")} {
    playMsg "Default" "1000";
  } elseif {($first == "2")} {
    playMsg "Default" "2000";
  } elseif {($first == "3")} {
    playMsg "Default" "3000";
  } elseif {($first == "4")} {
    playMsg "Default" "4000";
  } elseif {($first == "5")} {
    playMsg "Default" "5000";
  } elseif {($first == "6")} {
    playMsg "Default" "6000";
  } elseif {($first == "7")} {
    playMsg "Default" "7000";
  } elseif {($first == "8")} {
    playMsg "Default" "8000";
  } elseif {($first == "9")} {
    playMsg "Default" "9000";  
  }
  set first [string index $number 1];
    if {($first == "0") || ($first == "O")} {
    playNumber [string range $number 2 5];
    } else {
    playNumber [string range $number 1 5];
    }
 }
#
#Say Month as intelligent as posible.
#

proc playMonth {Month} {
if { $Month =="01"} {
        playMsg "Months" "january";
    } elseif {$Month =="02"} {
        playMsg "Months" "February";
    } elseif {$Month =="03" } {
        playMsg "Months" "March";
    } elseif {$Month =="04" } {
        playMsg "Months" "April";
    } elseif {$Month =="05" } {
        playMsg "Months" "May";
    } elseif {$Month =="06" } {
        playMsg "Months" "June";
    } elseif {$Month =="07" } {
        playMsg "Months" "July";
    } elseif {$Month =="08" } {
        playMsg "Months" "August";
    } elseif {$Month =="09" } {
        playMsg "Months" "September";
    } elseif {$Month =="10" } {
        playMsg "Months" "October";
    } elseif {$Month =="11" } {
        playMsg "Months" "November";
    } elseif {$Month =="12" } {
        playMsg "Months" "December";  
}
 
}

#
#Say Wind Direction as intelligent as posible.
#

proc playWindDirAngle {windDir} {

if { $windDir =="N"} {
        puts "  Direction N"
        playMsg "WeatherStation" "North";
    } elseif {$windDir =="NNE"} {
        puts "  Direction NNE"
        playMsg "WeatherStation" "North";
        playMsg "WeatherStation" "North-East";
    } elseif {$windDir =="NE" } {
        puts "  Direction NE"
        playMsg "WeatherStation" "North-East";
    } elseif {$windDir =="ENE" } {
        puts "  Direction ENE"
        playMsg "WeatherStation" "East";
        playMsg "WeatherStation" "North-East";
    } elseif {$windDir =="E" } {
        puts "  Direction E"
        playMsg "WeatherStation" "East";
    } elseif {$windDir =="ESE"} {
        puts "  Direction ESE"
        playMsg "WeatherStation" "East";
         playMsg "WeatherStation" "South-East"; 
    } elseif {$windDir =="SE" } {
        puts "  Direction SE"
        playMsg "WeatherStation" "South-East";
    } elseif {$windDir =="SSE" } {
        puts "  Direction SSE"
        playMsg "WeatherStation" "South";
        playMsg "WeatherStation" "South-East";
    } elseif {$windDir =="S"} {
        puts "  Direction S"
        playMsg "WeatherStation" "South";
    } elseif {$windDir =="SSW" } {
        puts "  Direction SSW"
        playMsg "WeatherStation" "South";
        playMsg "WeatherStation" "South-West";
    } elseif {$windDir =="SW"} {
        puts "  Direction SW"
        playMsg "WeatherStation" "South-West";
    } elseif {$windDir =="WSW" } {
        puts "  Direction WSW"
        playMsg "WeatherStation" "West";
        playMsg "WeatherStation" "South-West";
    } elseif {$windDir =="W"} {
        puts "  Direction W"
        playMsg "WeatherStation" "West";
    } elseif {$windDir =="WNW"} {
        puts "  Direction WNW"
        playMsg "WeatherStation" "West";
        playMsg "WeatherStation" "North-West";
    } elseif {$windDir =="NW"} {
        puts "  Direction NW"
       playMsg "WeatherStation" "North-West";
    } elseif {$windDir =="NNW" } {
        puts "  Direction NNW"
       playMsg "WeatherStation" "North";
       playMsg "WeatherStation" "North-West";
    } else {
        puts "  Non disponible"
    }
    }
#
#Say Wind Direction with angle as intelligent as possible.
#

proc playWindDir {windDir} {

if { 0 < $windDir && $windDir < 22.5} { puts " Direction N" playMsg "WeatherStation" "North"; } elseif {$windDir >= 22.5 && $windDir < 45 } { puts " Direction N NE" playMsg "WeatherStation" "North"; playMsg "WeatherStation" "North-East"; } elseif {$windDir >= 45 && $windDir < 67.5 } { puts " Direction NE" playMsg "WeatherStation" "North-East"; } elseif {$windDir >= 67.5 && $windDir < 90 } { puts " Direction NE E" playMsg "WeatherStation" "North-East"; playMsg "WeatherStation" "East"; } elseif {$windDir >= 90 && $windDir < 112.5 } { puts " Direction E" playMsg "WeatherStation" "East"; } elseif {$windDir >= 112.5 && $windDir < 135 } { puts " Direction E SE" playMsg "WeatherStation" "East"; } elseif {$windDir >= 135 && $windDir < 157.5 } { puts " Direction SE" playMsg "WeatherStation" "South-East"; } elseif {$windDir >= 157.5 && $windDir < 180 } { puts " Direction SE S" playMsg "WeatherStation" "South-East"; playMsg "WeatherStation" "South"; } elseif {$windDir >= 180 && $windDir < 202.5} { puts " Direction S" playMsg "WeatherStation" "South"; } elseif {$windDir >= 202.5 && $windDir < 225 } { puts " Direction S SW" playMsg "WeatherStation" "South"; playMsg "WeatherStation" "South-West"; } elseif {$windDir >= 225 && $windDir < 247.5} { puts " Direction SW" playMsg "WeatherStation" "South-West"; } elseif {$windDir >= 247.5 && $windDir < 270 } { puts " Direction SW W" playMsg "WeatherStation" "South-West"; playMsg "WeatherStation" "West"; } elseif {$windDir >= 270 && $windDir < 292.5} { puts " Direction W" playMsg "WeatherStation" "West"; } elseif {$windDir >= 292.5 && $windDir < 315 } { puts " Direction W NW" playMsg "WeatherStation" "West"; playMsg "WeatherStation" "North-West"; } elseif {$windDir >= 315 && $windDir < 337.5} { puts " Direction NW" playMsg "WeatherStation" "North-West"; } elseif {$windDir >= 337.5 && $windDir < 359 } { puts " Direction NW N" playMsg "WeatherStation" "North-West"; playMsg "WeatherStation" "North"; } else { puts " Non disponible" } } # # Say a number as intelligent as possible. Examples: # # 1 - one # 24 - twentyfour # 245 - twohundred and fourtyfive # 1234 - twelve thirtyfour # 12345 - onehundred and twentythree fourtyfive # 136.5 - onehundred and thirtysix point five # proc playNumber {number} { if {[regexp {(\d+)\.(\d+)?} $number -> integer fraction]} {
    playNumber $integer;


# No say 0 if decimal = 0
if {$fraction != 0} {
    playMsg "Default" "decimal";
    spellNumber $fraction;
}

    return;
  }

  while {[string length $number] > 0} {
    set len [string length $number];
    if {$len == 1} {
      playMsg "Default" $number;
      set number "";
    } elseif {$len % 2 == 0} {
      playTwoDigitNumber [string range $number 0 1];
      set number [string range $number 2 end];
    } else {
      playThreeDigitNumber [string range $number 0 2];
      set number [string range $number 3 end];
    }
  }
}

#
# Say temperature as intelligent as possible. Examples:
#

proc playTemp {number} {
  if {[regexp {(\d+)\.(\d+)?} $number -> integer fraction]} {
    playNumber $integer;
    playMsg "WeatherStation" "degree";

# No say 0 if decimal = 0
if {$fraction != 0} {
    spellNumber $fraction;
}
   return;
}

  while {[string length $number] > 0} {
    set len [string length $number];
    if {$len == 1} {
      playMsg "Default" $number;
      set number "";
    } elseif {$len % 2 == 0} {
      playTwoDigitNumber [string range $number 0 1];
      set number [string range $number 2 end];
    } else {
      playThreeDigitNumber [string range $number 0 2];
      set number [string range $number 3 end];
    }
  }
}

#
# Say Voltage as intelligent as possible. Examples:
#

proc playVoltage {number} {
if {[regexp {(\d+)\.(\d+)?} $number -> integer fraction]} {
    playNumber $integer;
    playMsg "Default" "volts";

# No say 0 if decimal = 0
if {$fraction != 0} {
    spellNumber $fraction;
}
   return;
}

  while {[string length $number] > 0} {
    set len [string length $number];
    if {$len == 1} {
      playMsg "Default" $number;
      set number "";
    } elseif {$len % 2 == 0} {
      playTwoDigitNumber [string range $number 0 1];
      set number [string range $number 2 end];
    } else {
      playThreeDigitNumber [string range $number 0 2];
      set number [string range $number 3 end];
    }
  }
}


#
# Say the time specified by function arguments "hour" and "minute".
#

proc playTime {hour minute} {
# Strip white space and leading zeros. Check ranges.
  if {[scan $hour "%d" hour] != 1 || $hour < 0 || $hour > 23} {
    error "playTime: Non digit hour or value out of range: $hour"
  }
  if {[scan $minute "%d" minute] != 1 || $minute < 0 || $minute > 59} {
    error "playTime: Non digit minute or value out of range: $hour"
  }
  if {[string length $hour] == 1} {
     playMsg "Default" [expr $hour];
   } else {
     playTwoDigitNumber $hour;
    }
#  playSilence 250
  playMsg "Core" "time";

   if {$minute == 0} {
     return;
   }
    if {[string length $minute] == 1} {
        playMsg "Default" [expr $minute];
    } else {
        playTwoDigitNumber  $minute;
    }
}

#
# This file has not been truncated
#

Vous pouvez vous aussi créer vos propres fonctions et partager.

Vous pouvez recevoir un email dès la parution d’un article sur le Blog F8ASB.COM, entrez votre mail sur la fenêtre à droite et cliquer sur abonnement. Tous les articles en 1 clic ICI
]]>
https://blog.f8asb.com/2016/11/12/svxlink-local-tcl-et-ses-ameliorations/feed/ 0 2972
Photos des Hautes Vosges du jour ( 11/11/16) https://blog.f8asb.com/2016/11/11/photos-des-hautes-vosges-du-jour-111116/ https://blog.f8asb.com/2016/11/11/photos-des-hautes-vosges-du-jour-111116/#respond Fri, 11 Nov 2016 17:03:09 +0000 http://blog.f8asb.com/?p=3092 Continuer la lecture ]]> wp_20161111_08_35_32_pro

Voici une série de photos du jour, avec quelques images des Hautes Vosges

wp_20161111_08_35_20_pro

wp_20161111_08_29_54_prowp_20161111_13_16_43_pro

unknown-1

Vous pouvez recevoir un email dès la parution d’un article sur le Blog F8ASB.COM, entrez votre mail sur la fenêtre à droite et cliquer sur abonnement. Tous les articles en 1 clic ICI
]]>
https://blog.f8asb.com/2016/11/11/photos-des-hautes-vosges-du-jour-111116/feed/ 0 3092
F1ZBV : Statistiques Température TX / Temps d’émission https://blog.f8asb.com/2016/10/15/f1zbv-statistiques-temperature-tx-temps-demission/ https://blog.f8asb.com/2016/10/15/f1zbv-statistiques-temperature-tx-temps-demission/#respond Sat, 15 Oct 2016 05:47:23 +0000 http://blog.f8asb.com/?p=3032 Continuer la lecture ]]> Unknown-2Après la mise en place de la mesure de température du relais, voici un petit comparatif des données disponibles sur le relais pour la journée du 14 Octobre 2016.
tx_24h

La ligne bleue correspond à la température minimale enregistrée sur l’heure en cours, on constate que le refroidissement du PA est efficace et qu’il descent rapidement dans les 20°C. La ligne rouge correspond à la température haute enregistrée, ce sont les QSOs. La petite montée en température de 0H00 à 7H00 correspond aux balises qui sont envoyées tous les 1/4 d’heure.
La mise en place du système est décrite dans un article précédent.

qso_141016Ce graphe là nous montre le temps de passage en emission sur la même journée, nous sommes parfaitement en phase ;).
La mise en place du système statistique est décrite dans un article précédent, vous pouvez voir le bilan de l’année 2015 du relais F1ZBV sur ce Blog.

Voilà maintenant si vous souhaitez venir faire un petit tout sur le relais des Vosges vous savez quand Lola est la plus active 😉

Vous pouvez recevoir un email dès la parution d’un article sur le Blog F8ASB.COM, entrez votre mail sur la fenêtre à droite et cliquer sur abonnement. Tous les articles en 1 clic ICI
]]>
https://blog.f8asb.com/2016/10/15/f1zbv-statistiques-temperature-tx-temps-demission/feed/ 0 3032
F1ZBV Version 2.0, Lola toute nue ! https://blog.f8asb.com/2016/09/16/f1zbv-version-2-0-lola-toute-nue/ https://blog.f8asb.com/2016/09/16/f1zbv-version-2-0-lola-toute-nue/#comments Fri, 16 Sep 2016 18:27:50 +0000 http://blog.f8asb.com/?p=2880 Continuer la lecture ]]> lolanue7-avec-copyright

Dans cette article Lola se met à nue pour vous découvrez des photos surprenantes.

Calmez-vous, le Blog reste un Blog technique vous pensiez voir quoi?

Voici une petite galerie photo du rack de F1ZBV dit “Lola”.
Merci à Jean-Paul F5FIM pour le câblage et à Dominique F4HDP pour la réalisation du schéma. F5UII Christian et F4HDW Stéphane pour le support logiciel. Vincent F4CVQ pour tous ses beaux dessins qui agrémentent mon Blog et celui de ra88.org.

Résultat du travail d’équipe ci-dessous:

lolanue7

Vue de face, comprenant un émetteur TH9000D, un récepteur TAIT8100, un écran tactile, un port Usb déporté pour les sauvegardes, et le bouton marche/arrêt

lolanue6

Vue arrière

lola_nue1

L’alimentation est assurée par des connecteurs de type Powerpole.
Le ventilateur extrait l’air propulsé par le ventilateur au dessus de l’émetteur.
Des prises micro 4 broches sont utilisées pour les sortie relais.
Des prises micro 3 broches sont utilisées pour les entrées, seul le capteur de porte ouverte sera utilisé dans un premier temps.
Une DB25 sera utilisée comme comme port accessoires
Les deux fiches N sont reliées sur l’émetteur et le récepteur.

lolanue2

Tous les connecteurs sont raccordés afin de faciliter les évolutions futures.

lolanue Le câblage vue du dessus avec la carte Svxcard au centre et une carte de distribution d’alimentation equipé de fusibles.

lolanue3
Schéma du rack relais par F4HDP

schema-relais-lola


Vidéo de la conférence de présentation de
 ses fonctionnalités sur ce lien.

600px-Logo_SVXLinkCard_HDSi vous voulez acquérir la carte de contrôle relais, il vous reste plus que quelques jours… fin de la commande groupée le mardi 20 septembre 2016.

rejoindre-shopchip

Vous pouvez recevoir un email dès la parution d’un article sur le Blog F8ASB.COM, entrez votre mail sur la fenêtre à droite et cliquer sur abonnement. Tous les articles en 1 clic ICI
]]>
https://blog.f8asb.com/2016/09/16/f1zbv-version-2-0-lola-toute-nue/feed/ 1 2880
F1ZBV Version 2.0, c’est le 17 Septembre 2016. https://blog.f8asb.com/2016/09/14/f1zbv-version-2-0-cest-le-17-septembre-2017/ https://blog.f8asb.com/2016/09/14/f1zbv-version-2-0-cest-le-17-septembre-2017/#respond Wed, 14 Sep 2016 05:40:16 +0000 http://blog.f8asb.com/?p=2868 Continuer la lecture ]]> lola-septembre-2016-version-6Après plus d’un an de travail, LOLA version 2.0 va naître…
Le relais des Vosges en Version 2.00, c’est pour le 17 Septembre 2016.

A ce titre, le relais sera arrêté toute la journée du samedi le temps de sa mise en place. D’autres travaux sur les antennes se feront en parallèle.Les nouveautés annoncées:

Nouvelle synthèse vocale plus d’infos..
S-mètre vocale plus d’info..
Interface utilisateur tactile

Par DTMF:
Interconnexion Echolink entrante / sortante plus d’infos..
Données météo Davis Instrument en live par DTMF plus d’infos..
Pronostiques météo dépt 54 et 88
Mesure des températures cavités/carte logique/TX/ en synthèse vocale plus d’infos..
Statuts internet en synthèse vocale plus d’infos..
Mesure de tension d’alimentation en vocale
Code sysop sécurisé tournant plus d’infos..
Mode d’urgence plus d’infos..
….

La révolution analogique dans les Vosges est en marche …

SOYEZ A L’ECOUTE SAMEDI !

Pour mettre en place les mêmes fonctions, rendez vous sur le site support SvxCard.f5uii.net.

Vidéo de la conférence de présentation de ses fonctionnalités sur ce lien.


600px-Logo_SVXLinkCard_HDSi vous voulez acquérir la carte de contrôle relais, il vous reste plus que quelques jours… fin de la commande groupée le mardi 20 septembre 2016.

rejoindre-shopchip

Vous pouvez recevoir un email dès la parution d’un article sur le Blog F8ASB.COM, entrez votre mail sur la fenêtre à droite et cliquer sur abonnement. Tous les articles en 1 clic ICI
]]>
https://blog.f8asb.com/2016/09/14/f1zbv-version-2-0-cest-le-17-septembre-2017/feed/ 0 2868
SVXLINK: Réalisation d’un menu sous Linux v1.1 (Maj 11/09/16) https://blog.f8asb.com/2016/09/11/svxlink-realisation-dun-menu-sous-linux-v1-1-maj-110916/ https://blog.f8asb.com/2016/09/11/svxlink-realisation-dun-menu-sous-linux-v1-1-maj-110916/#respond Sun, 11 Sep 2016 05:56:32 +0000 http://blog.f8asb.com/?p=2859 Continuer la lecture ]]> svxlink_menu11

Dans un article précédent je vous avais présenté comment réaliser un menu, celui-ci a un peu évolué suite à son utilisation.
On y retrouve les raccourcis pour éditer les fichiers principaux de configuration (vous pouvez modifier les chemins si ils ne correspondent pas à votre configuration). Tous les fichiers de configuration sont désormais dans le repertoire:

/usr/share/svxlink/events.d/local/

Ce qui permet de les conserver en cas de mis à jour, mais également en cas de modification de conserver les originaux.

La partie “Editer Historique travaux relais” est une fonction intéressante pour pouvoir y écrire toutes les interventions qui ont eu lieu sur le relais. Cela permet d’avoir un historique complet des travaux de l’année mais également d’avoir un carnet de note avec les diverses remarques utiles. J’y indique aussi le nom des intervenants.

log-intervention

Il s’agit d’un extrait du fichier.

Dans les modifications de cette version, on y a ajouté l’affichage des numéros de ligne quand on utilise l’éditeur. (nano -c nom du fichier à éditer).

La ligne “activer le message d’information” / “désactiver le message d’information“, est une fonction qui renome le nom du répertoire ou se trouve le message d’information au format .wav. Dans SvxLink nous demandons au programme SvxLink de lire ce message toutes les heures . De ce fait, si nous changeons le nom du repertoire il ne trouvera pas le chemin et donc ne pourra pas lire le message d’information. On peut associer cette fonction à CRON pour programmer l’activation des messages automatiques pour les réunion de Radioclub par exemple.

Ajout de la possibilité d’arrêter l’installation complète, utile quand les opérations concernent les antennes du relais. Les intervenants peuvent être des novices en linux, il leur suffit alors de se connecter en SSH, de taper menu et de sélectionner l’option “arret TOTAL”.

La ligne “Relais monitoring”  est apparue, celle-ci montre le LOG de SvxLink en live et permet de suivre en direct toute l’activité du relais. Elle utilise la fonction tail:

tail -f /var/log/svxlink;;

pour sortir de la fenêtre il suffit de faire CTRL-C.

Sur cette nouvelle version à chaque fin d’action, on revient sur le menu.( modification faite par F5UII)

Voici le code source pour avoir le même menu (taper sudo nano menu.sh et faite un copier/coller:

[sourcecode language=”bash”]
#!/bin/bash

while : ; do

choix=$(whiptail –title "Menu relais svxlink par F8ASB v.1.10" –menu "faites votre choix :" 30 60 15 \
1 "Editer configuration relais svxlink.conf" \
2 "Editer RepertearLogic.tcl" \
3 "Editer Logic.tcl" \
4 "Editer Historique travaux relais" \
5 "Editer interfaces(paramêtre adresse TCPIP fixe" \
6 "Activer le message d’information" \
7 "Desactiver le message d’information" \
8 "Configuration Raspberry (Raspi-config)" \
9 "Reboot svxlink" \
10 "Reboot général" \
11 "Lancer alsamixer (réglage de niveau audio)" \
12 "Arret TOTAL" \
13 "Relais monitoring (CTRL C pour sortir)" 3>&1 1>&2 2>&3)

exitstatus=$?

#on recupere ce choix

if [ $exitstatus = 0 ]; then
echo "Your chosen option:" $choix
else
echo "You chose Cancel."; break;
fi

# case : action en fonction du choix

case $choix in

1)
sudo nano -c /etc/svxlink/svxlink.conf;;
2)
sudo nano -c /usr/share/svxlink/events.d/local/RepeaterLogic.tcl;;
3)
sudo nano -c /usr/share/svxlink/events.d/local/Logic.tcl;;
4)
sudo nano -c /home/f1zbv/historique.txt;;
5)
sudo nano -c /etc/network/interfaces ;;
6)

mv /usr/share/svxlink/sounds/fr_FR/MESSAGEOFF /usr/share/svxlink/sounds/fr_FR/MESSAGE;;
7)
mv /usr/share/svxlink/sounds/fr_FR/MESSAGE /usr/share/svxlink/sounds/fr_FR/MESSAGEOFF;;
8)
sudo raspi-config;;
9)
sudo pkill svxlink
svxlink –daemon;;
10)
sudo reboot;;
11)
alsamixer;;
12)
sudo halt;;
13)
sudo tail -f /var/log/svxlink;;

esac

done
exit 0

[/sourcecode]

CTRL-X pour sortir, le transformer en exécutable avec la commande sudo chmod +x menu.sh

Je vous rappelle qu’une commande groupée est en cours pour la carte de logique relais SvxCard, celle-ci prendra fin le 20 septembre 2016.

Pour y participer cliquez sur le lien ci-dessous:

rejoindre-shopchip

Une vidéo de présentation de la carte est disponible ici
Une vidéo de la conférence présentant le relais en action est disponible ici

Vous pouvez recevoir un email dès la parution d’un article sur le Blog F8ASB.COM, entrez votre mail sur la fenêtre à droite et cliquer sur abonnement. Tous les articles en 1 clic ICI
]]>
https://blog.f8asb.com/2016/09/11/svxlink-realisation-dun-menu-sous-linux-v1-1-maj-110916/feed/ 0 2859
SVXLINK: Savoir lire des valeurs de 1000 à 9999 https://blog.f8asb.com/2016/08/26/svxlink-savoir-lire-des-valeurs-de-1000-a-9999/ https://blog.f8asb.com/2016/08/26/svxlink-savoir-lire-des-valeurs-de-1000-a-9999/#comments Fri, 26 Aug 2016 13:09:34 +0000 http://blog.f8asb.com/?p=2819 Continuer la lecture ]]> HTB1ucm0IXXXXXajXVXXq6xXFXXX1Voici une modification pour que Svxlink sache dire les nombres de 1000 à 9999.

Vous allez vous dire, mais pourquoi faire, et bien dans mon cas c’est pour la pression atmosphérique des données météo.
Je n’avais pas vu avant car dans ma vidéo sur ce sujet précedent j’étais en dessous de 1000.

Pour appliquer cette modification, il est nécessaire d’éditer le fichier suivant:
/usr/share/svxlink/sounds/fr_FR/events.d/locale.tcl

Ce fichier a été travaillé par F1SMF en 2011 et depuis, je l’ai également fait évoluer. Il est utile pour améliorer la diction en français des chiffres en autre.

J’ai volontairement fait une ligne par millier pour une meilleure qualité vocale.
Nous utilisons l’index0 (1er caractère de la chaine) puis allons lire la tranche de millier qui lui correspond. Le reste repasse dans la boucle de lecture de chiffre standard.

Si un 0 est en 2ème position il sera ignoré, la lecture des décimales se fera directement.

Il sera bien sûr nécessaire d’ajouter les sons 1000 à 9000.wav dans le repertoire Default.
/usr/share/svxlink/sounds/fr_FR/Default/

Dans votre programme Svxlink, on utilisera la commande playFourDigitNumber suivi de votre variable ou de votre nombre à lire.
Ex: playFourDigitNumber $pression;


code source à insérer dans locale.tcl:

[sourcecode language=”bash”]
#
# Say the specified three digit number (1000 – 9999)
#
proc playFourDigitNumber {number} {
if {[string length $number] != 6} {
puts "*** WARNING: Function playFourDigitNumber received a non four digit number:$
return;
}

set first [string index $number 0];
if {($first == "1")} {
playMsg "Default" "1000";
} elseif {($first == "2")} {
playMsg "Default" "2000";
} elseif {($first == "3")} {
playMsg "Default" "3000";
} elseif {($first == "4")} {
playMsg "Default" "4000";
} elseif {($first == "5")} {
playMsg "Default" "5000";
} elseif {($first == "6")} {
playMsg "Default" "6000";
} elseif {($first == "7")} {
playMsg "Default" "7000";
} elseif {($first == "8")} {
playMsg "Default" "8000";
} elseif {($first == "9")} {
playMsg "Default" "9000";
}
set first [string index $number 1];
if {($first == "0") || ($first == "O")} {
playNumber [string range $number 2 5];
} else {
playNumber [string range $number 1 5];
}
}

[/sourcecode]

Vous pouvez recevoir un email dès la parution d’un article sur le Blog F8ASB.COM, entrez votre mail sur la fenêtre à droite et cliquer sur abonnement. Tous les articles en 1 clic ICI
]]>
https://blog.f8asb.com/2016/08/26/svxlink-savoir-lire-des-valeurs-de-1000-a-9999/feed/ 1 2819
Dans quelques jours… 2 ème commande groupée SVXCARD ! https://blog.f8asb.com/2016/08/23/dans-quelques-jours-2-eme-commande-groupee-svxcard/ https://blog.f8asb.com/2016/08/23/dans-quelques-jours-2-eme-commande-groupee-svxcard/#respond Tue, 23 Aug 2016 07:14:27 +0000 http://blog.f8asb.com/?p=2806 Continuer la lecture ]]> svxcardeannonce

Vous nous avez sollicité pour une deuxième commande groupée en vous inscrivant sur ShopChip. Le site est en train de se finaliser avant ouverture.

Vous aurez dans quelques jours la possibilité de participer à une nouvelle commande groupée.

La commande groupée sera ouverte pendant 3 semaines, après cette période nous effectueront l’achat des composants et la création des colis puis de l’envoi.
En participant à un achat groupée vous prenez conscience que la date d’expédition sera directement liée à la livraison du dernier composant constituant l’ensemble.

Je vous rappelle qu’un site est entièrement consacré au support hardware et software de la carte SVXCARD. Cette carte est une carte fille qui vient se connecter sur un Raspberry Pi et constitue une logique radioamateur analogique complètement evolutive et OPEN SOURCE fonctionnant avec le logiciel Svxlink de SM0SVX

Une vidéo de présentation de la carte est disponible ici
Une vidéo de la conférence présentant le relais en action est disponible ici

svxcard_fonctions_1.1

Ci-dessus, le diagramme de toutes les fonctions de la carte.

Je vous encourage vivement à parcourir les nombreuses descriptions sur ce Blog en cliquant ici

Nouveau:
Vous pourrez également profiter d’une commande groupée pour un modem MMDVM
réalisé par F5UII. Pour transformer vos relais en relais multimode, pour vos points d’accès ou tout simplement pour vous mettre au numérique.


MMDVM-F5UII-Final-1Source F5UII.NET

Vous retrouverez plusieurs informations concernant cette carte sur le site de F5UII

Vous l’aurez compris la rentrée,  c’est imminent 😉

Restez connecté !

Logo-ShopChip-200

 

Vous pouvez recevoir un email dès la parution d’un article sur le Blog F8ASB.COM, entrez votre mail sur la fenêtre à droite et cliquer sur abonnement. Tous les articles en 1 clic ICI
]]>
https://blog.f8asb.com/2016/08/23/dans-quelques-jours-2-eme-commande-groupee-svxcard/feed/ 0 2806
La Webcam du Hohneck est de nouveau disponible! https://blog.f8asb.com/2016/08/20/la-webcam-du-hohneck-est-de-nouveau-disponible/ https://blog.f8asb.com/2016/08/20/la-webcam-du-hohneck-est-de-nouveau-disponible/#respond Sat, 20 Aug 2016 17:49:42 +0000 http://blog.f8asb.com/?p=2798 Continuer la lecture ]]> webcam9Après quelques temps d’absence la Webcam est de nouveau disponible. Cette caméra a été installée en 2014. L’image ci-dessous est une image extraite aujourd’hui à 19h10.

Des essais avec du timelapse on été faits par le passé. Cette nouvel fonctionnalité devrait voir le jour prochainement.

piedduhohneckPhoto en direct ci dessous:

logo-pied-du-hohneck

Profitez bien de cette belle vue et soutenez l’auberge du pied du Hohneck et les radioamateurs RA88 qui maintiennent cette caméra.

Vous pouvez recevoir un email dès la parution d’un article sur le Blog F8ASB.COM, entrez votre mail sur la fenêtre à droite et cliquer sur abonnement. Tous les articles en 1 clic ICI
]]>
https://blog.f8asb.com/2016/08/20/la-webcam-du-hohneck-est-de-nouveau-disponible/feed/ 0 2798