Projets:Lab:2011:GHPSDR3-Alex
Construction/compilation du programme GHPSDR3-Alex
Work in progress
Ce projet est très proche de l'esprit Electrolab. Il associe informatique libre et bidouilles sauvages au fer à souder, construction de radios logicielles et concentration de leurs ressources.
Qu'est-ce que GHPSDR3-Alex
GHPSDR3-Alex est une évolution de GHPSDR de John Melton. Il s'agit d'un ensemble de logiciels capables de "servir" des flux radio reçus par des radios logicielles (SDR). Il peut piloter des émetteurs-récepteurs à distance via réseau, et partager les ressources d'un récepteur SDR entre plusieurs usagers... en fonction des capacités et de la bande passante des segments de réseau IP utilisés
GHPSDR est constitué de trois parties : un frontal électronique (radiorécepteur ou émetteur-récepteur), un serveur de flux -qui convertit le spectre reçu en trames IP- et un client local ou distant.
La partie serveur n'existe que sous Linux. Les poste clients, en revanche, existent sous Linux, Windows, Android...
Plus d'informations sont disponibles sur le site GHPSDR3-Alex
Les sources des programmes sont accessibles sur github
Une cartographie en temps réel des récepteurs accessibles sur Internet est hébergée sur le serveur Web d'Andréa Montefusco IW0HDV
Le socle matériel historique est constitué d'un émetteur-récepteur Softrock 6.3NG, d'une extension associant filtres et commande de fréquence, la "mobo 4.3", et une interface de commande et de traitement de signal ayant déjà fait l'objet d'un projet de construction au sein de l'Electrolab, la SDR-Widget
D'autres appareils peuvent être pris en compte par le serveur GHPSDR3-Alex. Et notamment, pour "petits budgets", une simple clef DVB-T telle que celle utilisée pour le projet Electrolab Convertisseur pour clefs DVB-T
Installation avec compilation locale
Il existe de nombreuses instructions d'installation, et notamment une édition "live USB" du serveur ainsi qu'une version "nobrainer ubuntu" au format DEB. Mais toutes ne sont pas maintenues et de nombreux conflits et problèmes de mise à niveau les rendent malheureusement très difficiles à utiliser.
C'est principalement la raison pour laquelle il nous a semblé nécessaire d'écrire ce guide d'installation rapide qui part des sources du programme, donc la dernière versions stable connue.
Pour demeurer le plus orthodoxe possible, nous avons basé ce guide en prenant pour base un noyau Debian Squeeze
Attention : sous Debian, contrairement à Ubuntu, le compte root est actif par défaut. Il est plus facile d’effectuer les installations avec ce privilège. De toute manière, il est aussi simple d’effectuer des bêtises avec un « sudo su » ou un « sudo » qu’avec un login root.
Si vous partez d’une installation Debian Ubuntu, il est souhaitable tout d’abord de débloquer le compte root avec les opérations suivantes :
sudo passwd root
Le système va demander deux fois de suite un nouveau mot de passe pour le compte root (à ne jamais oublier). Le déblocage du compte s’effectue ensuite par la commande
Sudo passwd –u root
Il suffit de se déloguer puis de se reloguer avec le compte root et le mot de passe que l’on vient de choisir (et que l’on n’oublie pas !)(j'ai parfois l'impression de me répéter...)
Il est tout à fait possible d’effectuer la totalité des opérations suivantes avec un compte « user ». Il faudra cependant faire précéder tous les ordre « apt-get » ou « git clone » par l’ordre sudo
Ex :
Sudo apt-get install mc
sous Ubuntu, alors que sous Debian sous compte root
apt-get install mc
Cette commande installe Midnight Commander, une version « linuxisée » du Norton Commander, interface de manipulation de fichiers en mode caractère conçue pour DOS par John Socha, qui fut également le créateur du tout premier tableur sur microordinateur : Visicalc
Début de l’installation
Si cela n’a pas déjà été fait
apt-get install build-essential git pkg-config libssl-dev bzip2 wget apt-get install zlib1g-dev
puis
apt-get install libqt4opengldev glutg3dev libusb0.14 apt-get install libfftw3dev portaudio19dev libpulsedev apt-get install libsamplerate0dev libusb1.00dev libconfig8dev apt-get install autoconf apt-get install libtool apt-get install libusbdev apt-get install libjackdev apt-get install git-core apt-get install subversion
Ces deux dernières installations permettent d’aller récupérer les versions les plus récentes des bibliothèques de fonctions “stables” sur les dépots Github et SVN
Il est conseillé d’effectuer les différentes opérations dans le répertoire « home » de l’utilisateur principal (et non sur le répertoire de root)
Récupération du dernier source en date de ghpsdr3-Alex
Cd /home/nomutilisateur git clone git://github.com/alexlee188/ghpsdr3-alex.git
Récupération de 3 « libs » nécessaires et absentes par défaut des noyaux Debian : Codec2, Libevent et ortp
svn co https://freetel.svn.sourceforge.net/svnroot/freetel/codec2 codec2 cd codec2 ./configure make make intall ldconfig make clean cd ..
git clone git ://github.com/libevent/libevent.git cd libevent ./autogen.sh ./configure make make install make clean cd ..
git clone https://github.com/avis/ortp.git ./autogen.sh ./configure make make install make clean cd ..
Ceci fait, on peut passer à l'installation du programme serveur GHPSDR3 à proprement parler
cd ghpsdr3-alex autoreconf –i ./configure make all make install
L’on obtient alors trois elements clef de la suite de programmes
ghpsdr3-alex/trunk/src/QtRadio/QtRadio ghpsdr3-alex/trunk/src/dspserver/dspserver ghpsdr3-alex/trunk/src/server/hpsdr-server
Si vous allez dans
/home/esh/ghpsdr3-alex/trunk/src/monitor
Vous pouvez lancer ¨make¨, ainsi que ¨monitor" Ce binaire s'exécute dans ghpsdr3alex/trunk/bin Si vous allez dans
/home/esh/ghpsdr3-alex/trunk/src/bandscope
Vous pouvez lancer ¨make¨, ainsi que ¨bandscope". Ce binaire s'exécute dans ghpsdr3alex/trunk/bin Si vous allez dans
/home/esh/ghpsdr3-alex/trunk/src/receiver
Vous pouvez lancer ¨make¨, ainsi que la version cliente de ¨ghpsdr¨ Ce binaire s'exécute dans ghpsdr3alex/trunk/bin
D’autres indications peuvent être obtenues sur le réflecteur hpsdr ainsi que sur
https://github.com/alexlee188/ghpsdr3alex/blob/master/README http://napan.ca/ghpsdr3/index.php/Main_Page