Projet en cours · Logiciel libre · Linux
IC-7300 Scope : le panadapter que mon IC-7300 méritait
L’écran de l’IC-7300 est très bien… mais il est petit. J’ai voulu retrouver sur un grand écran tout ce qu’affiche la radio, ajouter les décodeurs des modes numériques et pouvoir piloter la station depuis une autre pièce. Le tout avec un seul câble : l’USB de la radio, qui transporte déjà le CI-V et le son. Pas d’interface, pas de carte son supplémentaire.
Cliquer pour agrandir
IC-7300 Scope sur la bande des 40 m : spectre et waterfall sur ±25 kHz, bande passante du filtre en surbrillance, S-mètre, mesures d’émission et choix des bandes.
Ce qu’il sait faire
Spectre et waterfall
- Scope de la radio lu en CI-V, ou spectre calculé sur le son reçu
- Largeur de 2,5 kHz à 500 kHz, niveaux et calage automatiques
- Bande passante dessinée selon le mode et le filtre (FIL1, FIL2, FIL3)
- Un clic sur une trace pour s’y accorder
Pilotage de la radio
- Fréquence au bouton rotatif à la souris, pas réglable
- VFO A/B, modes USB, LSB, CW, RTTY, AM, FM, data
- Bandes de 160 m à 4 m, chacune garde sa dernière fréquence
- S-mètre, volume, MONI ; réglages du scope restaurés à la fermeture
Décodeurs intégrés
- CW, PSK31, RTTY 45 bauds (normal ou inversé)
- FT8 et FT4 via le moteur
jt9de WSJT-X, calé sur les créneaux - SSTV en réception et en émission : Martin, Scottie, Robot, PD 50 à PD 290
Émission
- Depuis le micro du PC ou un fichier son
- TUNE et ATU pour la boîte d’accord
- Puissance, ROS, ALC, compression et courant en direct
Sécurités
- Arrêt automatique après un temps maximal d’émission
- Arrêt si la radio refuse d’émettre (hors bande, par exemple)
- Anti-larsen : retour son coupé pendant toute émission, qu’elle vienne du logiciel, du PTT, d’une pédale ou du VOX
À distance
- La radio reste dans la station, vous la pilotez depuis une autre pièce
- Mêmes fonctions qu’en direct, émission comprise (détails plus bas)
- Enregistrement du son reçu en WAV
Le pilotage à distance par le serveur
La radio n’a pas besoin d’être à côté de l’écran. L’IC-7300 reste branché par USB sur un PC « serveur », dans la station, et IC-7300 Scope tourne sur un autre PC du réseau local, dans le bureau ou au salon. On a les mêmes fonctions qu’en direct : spectre, décodeurs, émission au micro ou depuis un fichier.
Comment ça marche. Le câble USB de l’IC-7300 transporte deux choses : le port série CI-V, qui sert à piloter la radio, et une carte son. Le PC serveur partage les deux sur le réseau :
- Les commandes CI-V passent par un petit serveur maison,
cat_server.py, sur le port TCP 7300. Il ouvre le port série de la radio pendant la connexion et le libère ensuite. Entre deux sessions, un logiciel lancé directement sur le serveur peut donc s’en servir. - Le son passe par PipeWire, le serveur de son de Linux, partagé sur le port TCP 4713. Il circule dans les deux sens : le son reçu va vers les haut-parleurs du PC de commande, et le micro ou le fichier à émettre va vers la radio.
Côté PC de commande, on lance simplement :
ic7300_scope.py --remote <adresse du serveur>
Le logiciel se connecte au serveur CAT et branche les deux liaisons de son. À la fermeture, il les débranche.
Sécurité. Une radio qui émet sans que personne ne la surveille, c’est à éviter. Le serveur prend donc plusieurs précautions :
- il n’accepte que les connexions venant du réseau local ;
- il n’accepte qu’un seul client à la fois ;
- il surveille la liaison en permanence. Si elle tombe (Wi-Fi coupé, câble débranché, PC planté), il le détecte en une dizaine de secondes et remet aussitôt la radio en réception. Elle ne peut pas rester bloquée en émission.
Installation. Sur le PC serveur, le script install-serveur.sh configure le partage du son par PipeWire et installe cat_server.py comme service qui démarre tout seul. Sur le PC de commande, ./install.sh --remote <adresse du serveur> ajoute IC-7300 Scope au menu des applications, déjà réglé sur la radio distante.
Sous le capot
Environ 3 700 lignes de Python. L’interface repose sur PyQt5 et pyqtgraph, le traitement du signal sur numpy. Les décodeurs CW, PSK31, RTTY et SSTV sont écrits entièrement dans le projet ; seul le FT8/FT4 s’appuie sur jt9. Le CI-V passe par pyserial, le son par PipeWire/PulseAudio. Un script d’installation ajoute le logiciel au menu des applications.
Développé avec l’aide de l’IA
Je le dis clairement : ce logiciel a été écrit avec l’aide d’une intelligence artificielle, Claude Code d’Anthropic, un assistant de programmation qui travaille directement dans le terminal.
La répartition des rôles est simple. J’ai défini ce que je voulais, choisi l’architecture, branché la radio et testé chaque fonction sur ma station. L’IA a écrit une grande partie du code, proposé les traitements de signal et corrigé les erreurs que je lui remontais. Les décodeurs ont été validés sur de vrais signaux, pas seulement sur le papier.
Sans cet outil, un projet de cette taille m’aurait pris des mois de soirées. Avec, il tourne aujourd’hui au quotidien sur ma station : radio sur le PC serveur, pilotage depuis une autre pièce.
Où en est le projet
| Partie | État |
|---|---|
| Spectre, waterfall, pilotage CI-V | Terminé |
| Bandes, VFO A/B, filtres FIL1-3 | Terminé |
| Décodeurs CW, PSK31, RTTY | Fonctionnel |
| FT8 | Validé en trafic réel |
| FT4 | Validé sur signal de test |
| SSTV réception et émission | Fonctionnel |
| Émission micro/fichier, TUNE/ATU, mesures | Terminé |
| Anti-larsen | Terminé |
| Pilotage à distance | Fonctionnel |
La suite
- Windows : remplacer les outils PipeWire/PulseAudio par une bibliothèque son multiplateforme.
- Bande passante exacte : lire dans la radio la largeur de filtre réellement réglée, plutôt que les valeurs d’usine.
- FT4 : confirmer le décodage en conditions réelles de trafic.
- Carnet de trafic : exporter les QSO décodés au format ADIF.
- Installation : un seul script pour le serveur et le client.
Le code sera publié en logiciel libre. Je vous en reparlerai ici dès qu’il sera disponible. Vos questions et suggestions sont les bienvenues en commentaire.
À lire également
WfView prenez le controle de votre Icom
WfView est un logiciel qui permet le contrôle à distance des transceivers (émetteurs-récepteurs) radio de la marque Icom. Le but du projet est clair : créer un logiciel libre et open source destiné aux amateurs de radio et aux écouteurs ondes courtes (SWL), permettant de profiter pleinement des radios modernes sur des systèmes d'exploitation actuels, le tout gratuitement et avec…