Difference between revisions of "Projets:Lab:2020:PiHPSDR"

From Electrolab
Jump to: navigation, search
(Principe de fonctionnement)
(L'alimentation)
Line 109: Line 109:
  
  
 +
[[File:Alim 2.png|800px|left|]]
 +
<br style="clear: both" />
  
 
=== Le contrôleur I2C ===
 
=== Le contrôleur I2C ===

Revision as of 18:15, 29 June 2020

Page référencée dans Passion : Radio Radios logicielles, transmissions numériques, expérimentations HF

Section "HermesLite v.2.0 et ses satellites"

Une console de pilotage de SDR pour la famille OpenHPSDR

A base de Raspberry Pi, cette console servira de terminal d'appoint (IHM) en opération mobile ou portable, et permet aux nouveaux venus dans le monde des radios logicielles de se faire à un mode opératoire "encore avec quelques boutons".


Par qui ?

L'idée est née des cerveaux de John Melton G0ORX pour la partie logicielle et du tandem Kjell Karlsen LA2NI/Laurence Baker G8NJJ pour ce qui concerne l'aspect "hardware". Projet dévoilé à l'occasion de la SDR Academy de Friedrichshafen en 2016 , puis mis à jour en 2018

Le circuit imprimé utilisé par l'équipe radio de l'Electrolab a été dessiné par Mathis Schmieder, DB9MAT, transposition issue des schémas open source fournis par les membres du groupe OpenHPSDR mentionnés plus avant.


Pour qui ?

  • - Pour les opérateurs de stations mobiles ou portables en premier chef, eux qui ne veulent pas faire courir de risque à leur ordinateur portable coûteux et fragile
  • - Pour les "vieux" radioamateurs qui ont encore besoin de tourner une molette et presser des boutons durant une période d'adaptation
  • - Pour les groupes de contesteurs souhaitant travailler en "multi" -avec un transceiver home made, cela va sans dire.
  • - Pour les radioclubs qui disposent de plusieurs SDR répartis sur un réseau local -généralement rangés en baie 19'- et souhaitant offrir accès à ces appareils sans nécessiter de présence physique dans la salle radio.
  • - Pour toux ceux, de manière plus générale, qui doivent administrer un cluster de SDR
  • - Pour toute personne cherchant à encastrer une "visu" dans un panneau de contrôle façon "centrale nucléaire"... c'est badass en diable
  • - Pour ceux, enfin, qui considèrent le PiHPSDR comme un périphérique totalement inutile, donc absolument indispensable
  • - Toute personne qui estime que le prix d'un raspi, de son écran, de quelques encodeurs et boutons et d'un logiciel open source je justifie pas une facture de 700 dollarsport non compris


Les ressources

L'Electrolab tient à disposition des personnes intéressées un pcb de 140x260 mm destinée à supporter un écran tactile "officiel", un Raspberry Pi (3, 3B, 3B+, 4), quelques boutons et encodeur et l'alimentation multitension du système (entrée générique 12V)

Un second pcb est à l'étude qui servira de "façade" à la console et n'aura strictement aucune fonction électronique spécifique. C'est une extension purement cosmétique, qui peut être remplacée par une plaque d'aluminium usinée/fraisée avec l'une des CNC Charly Robot ou travaillé à la lime et à la perceuse.

Le dépôt github héberge les schémas et routage pcb de la carte principale

La File:Bom interactive.zip facilite la collecte des composants et guide pas à pas au montage de la carte

Le manuel utilisateur du contrôleur, édité par Apache Labs, facilite la prise en main du logiciel principal.


PiHPSDR, le logiciel de prise de contrôle à distance du SDR à l'origine de la conception de cette console. Le source du logiciel est disponible sur le dépot Github de John Melton

Ce n'est pas le seul client OpenHPSDR capable de tourner sur Raspberry Pi. Citons également

Quisk de James Alstrom N2ADR qui fonctionne merveilleusement bien avec le Hermes Lite V1 et V2. Les instructions d'installation ne nécessitent pas une connaissance approfondie de Linux

Le source Python est ouvert, et peut être récupéré sur le dépot Pypi.org

Sparks SDR est "closed source" mais non payant. C'est un programme développé pour l'environnement Windows et porté sous Linux. Le lobiciel est particulièrement bien adapté aux modes numériques multibandes, et intègre directement les décodeurs wspr, JT9-65 et FT8, et pourrait bien se voir adjoindre Codec2/FreeDV et l'émission-réception SSTV.

GNU Radio pour les plus courageux. Nécessite une cross-compilation. Ne pas perdre de vue que GRC est assez gourmand en ressources, le Raspberry n'est donc qu'une machine d'appoint, il ne faut pas s'attendre à des performances exceptionnelles.

GQRX devrait a priori également fonctionner, puisqu'il a été prouvé que ce client Linux léger tournait également en liaison avec une carte Red Pitaya et gateware Pavel Denim

Pourquoi

PiHPSDR est une console de "compromis". Petite puissance de traitement, taille réduite, interface de commande plus développée que ce que l'on peut espérer d'un écran tactile, coût d'usage très réduit minimisant les risque de banqueroute personnelle en cas d'accident matériel, la console PiHPSDR est conçue pour

  • - Les amateurs de station mobile "avec des boutons"
  • - Les personnes qui recherchent une commande radio "pour le salon" plus pratique qu'un ordinateur portable
  • - Les bricoleurs qui n'ont pas la place d'un écran-clavier sur leur atelier et qui veulent monitorer une ou plusieurs bandes durant une session de bricolage


Comment

Plumez énergiquement un Raspberry pi 3 ou de préférence 4.

Ajoutez délicatement un écran tactile "officiel". Son prix est un peu élevé, mais son système de fixation n'existe nulle part ailleurs

Incorporez progressivement une alimentation multitensions qui fournira au Pi un 5V idéal à partir de n'importe quelle source située entre 7 et 16V

Saupoudrez une bonne poignée de contacts fugitifs connectés au bus I2C du Raspberry. Il simplifieront certaines actions telles que la mise en marche/arrêt, le basculement émission/réception, la sélection des filtres, des bandes, des modes.

Disposez agréablement quelques encodeurs pour les réglages habituels : volume, fréquence etc. Le réglage de fréquence peut s’accommoder d'un 600 ou d'un 400 points par révolution

Soudez et vissez le tout sur un pcb unique qui servira de support mécanique et de liant au ingrédients ci-avant détaillés

Ajoutez une façade lisible

Burinez vivement le noyau et le logiciel selon les instructions qui suivront, servez chaud.


Guide de montage rapide

Principe de fonctionnement

Les transceivers de la famille OpenHPSDR utilisent une liaison Ethernet qui encapsule à la fois les paquets I/Q de chaque récepteur virtuel émis par le coeur du SDR, et un certain nombre de signaux de service destinés à commander des extensions matérielles, tantôt des commutations d'antennes, tantôt des filtres passe-bas ou passe-haut, tantôt un atténuateur ou un préampli...

C'est également par le biais de cette liaison ethernet que l'opérateur radio peut piloter les fonctions purement "signal" de la radio logiciel : nombre de récepteurs actifs, filtres numériques, type de démodulation locale, sélection de bande de fréquence, réglage de la fréquence, passage en émission, redirection logicielle avec des modulateurs/démodulateurs tiers -freeDV, télex, SSTV, ft9 etc.

Le Hermes Lite V2 est en grande partie compatible avec la première version de cet ensemble de protocoles (nommé, par le plus grand des hasards, "protocole 1").

A la mise sous tension du SDR, une négociation d'établit entre la radio et le terminal de contrôle et relie les deux appareils via une liaison tcp/ip. Le terminal en question est constitué d'un ordinateur monocarte (SBC, single board computer) de type Raspberry Pi (modèle 3 ou 4) et de son écran tactile 7 pouces.

Sur cet ordinateur s'exécute un logiciel client (conçu pour le noyau Linux du Raspberry) qui remplit à la fois toutes les fonctions de traitement radio (gestion des filtres logiciels et matériel, des fréquences, de la démodulation du signal etc) et la supervision d'une interface homme-machine simplifiée limitée à une vingtaine de boutons et 4 encodeurs rotatifs, dont un encodeur optique à haute résolution.

Les encodeurs rotatifs sont directement connectés sur les gpio du rapsberry. Les boutons, en revanche, sont chaînés sur un bus I2C, lequel dialogue avec le "master" qu'est le raspberry lui-même.

L'alimentation

Alim 2.png


Le contrôleur I2C

Les boutons et encodeurs

L'installation du SoC

Configuration rapide

Le noyau et client Pihpsdr

configuration logicielle des E/S