Python et ce que j’ai fait récemment

AmateurRadio.com

Article traduite en Français via Google Translate

Python et ce que j’ai fait récemment

Le 25 Novembre 2025


Python et ce que j’ai fait récemment


24 novembre 2025 | par
Mike VE9KK |
Laisser un commentaire (0)


python shutdown
Un extrait du script Python d’arrêt pendant les actions.

Python et ce que j’ai fait récemment… laissez-moi vous raconter !

J’ai honnêtement réussi à me surprendre avec l’automatisation que j’ai construite pour le démarrage et l’arrêt de mon installation de contest. Avant Python, la procédure de démarrage était une longue chaîne d’actions manuelles : lancer VSPE et attendre, puis cliquer sur
Win4Icom Suite et attendre encore, puis démarrer N1MM+ et attendre de nouveau, puis ouvrir Firefox, naviguer jusqu’au
Reverse Beacon Network, entrer mon indicatif, vérifier si j’étais repéré, et actualiser toutes les 10 minutes.

Maintenant ? Grâce à Python, tout cela se fait en un seul clic de souris. J’ADORE !

D’un seul clic, ma prise Kasa s’allume, alimente mon bloc d’alimentation Astron et mon Pi4B qui commence son démarrage.
Ensuite VSPE démarre, puis Win4Icom, puis N1MM+, et enfin Firefox s’ouvre sur Reverse Beacon Network, se connecte et entre automatiquement mon indicatif pour montrer qui entend mes appels CQ — avec un rafraîchissement toutes les 10 minutes.

Si vous êtes curieux des problèmes et défis rencontrés en chemin, continuez votre lecture. Ou, si vous préférez aller à l’essentiel, rendez-vous à la fin où je partage mes prochains projets Python et radio amateur — vous pourriez être surpris !

Le début : la prise Wi-Fi

Pour lancer toute la procédure de démarrage, j’avais besoin d’une bibliothèque Python pour communiquer avec ma prise Kasa — facile. Ensuite je devais trouver l’adresse IP de la prise — encore facile.
Mais un jour, mon terminal Python a soudainement affiché une erreur liée à la prise Wi-Fi. Après quelques recherches, j’ai découvert que notre routeur avait redémarré et réassigné une nouvelle adresse IP à la prise. Cela a complètement cassé mon script.

Plus de recherches m’ont mené à une excellente solution : je pouvais attribuer un nom à la prise et demander à Python de la rechercher par nom, puis de découvrir automatiquement la nouvelle adresse IP assignée par le routeur. Problème résolu — élégamment.

Ensuite, la séquence de démarrage

Une fois la prise Wi-Fi réglée, je suis passé au script du reste de la séquence. J’ai ajouté tous les programmes nécessaires, dans l’ordre exact où ils devaient s’ouvrir, et tout fonctionnait à merveille… jusqu’à ce que je remarque que certains programmes se chargeaient plus lentement que d’autres.
Résultat : certaines tâches n’étaient pas prêtes quand le programme suivant démarrait, et tout se figeait. La solution était simple : insérer des délais entre les lancements pour laisser à chaque programme le temps de s’initialiser.

Win4Icom et les mises à jour

Tom, VE2FSQ, fait un travail incroyable pour tenir son logiciel à jour — il y a une nouvelle version presque chaque mois. Mais lorsqu’une mise à jour sortait, mon script Python continuait d’ouvrir l’ancienne version. Pour corriger cela, j’ai écrit du code pour vérifier automatiquement la dernière version installée et lancer celle-ci.

Arrêt incorrect du 7610 : problème réglé

J’ai rencontré un autre souci : parfois Python n’arrêtait pas correctement mon Icom 7610 via Win4Icom. Cela signifiait que la radio était brutalement coupée lorsque la prise Wi-Fi éteignait mon alimentation. PAS BON. Au lieu d’utiliser Win4Icom pour l’arrêt, j’ai ajouté la commande CI-V d’arrêt directement dans mon script Python. Résultat : le 7610 s’éteint proprement chaque fois.

Mon Pi4B est aussi branché sur la même prise Wi-Fi, mais ce côté-là est simple : lorsque la prise s’allume, le Pi démarre naturellement, aucun Python nécessaire. Pour l’arrêt du Pi, c’est une autre histoire impliquant Windows et Python… que je garde pour le prochain article.

Ce qui vient ensuite…

Comme promis, voici un aperçu de ce sur quoi je travaille maintenant. Après un contest, je dois habituellement :

  1. Aller sur le site 3830 scoring et entrer mon score manuellement.
  2. Générer un fichier CAB et l’envoyer au sponsor du contest.
  3. Générer un fichier ADIF dans N1MM+.
  4. Soumettre cet ADIF dans mon programme de log Amateur Radio Contest Log, puis faire de même pour
    LOTW,
    Club Log,
    CWops,
    QRZ.com.

Je développe un programme Python qui fera tout cela automatiquement :
• Connexion à 3830, remplissage des bandes, multiplicateurs, QSO et score final.
• Génération du fichier CAB depuis N1MM+.
• Génération du fichier ADIF et import dans Amateur Radio Contest Log.
• Depuis Amateur Radio Contest Log, ouverture automatique de Club Log et LOTW pour soumettre les logs.
• Connexion à QRZ.com et CWops pour soumettre les résultats également.

Tout cela d’un seul clic — pendant que je me détends et regarde.

Mon prochain article sera consacré au processus d’arrêt du contest. Pour le moment, je commence juste le nouveau projet mentionné ci-dessus.

Mike Weir, VE9KK, contributeur régulier à AmateurRadio.com, écrit depuis le Nouveau-Brunswick, Canada. Contact : ve9kk@hotmail.com.

Info de la Source Publié * ICI

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

Translate »