Projets:Lab:2011:GHPSDR3-Alex

From Electrolab
Revision as of 14:16, 2 April 2013 by Marc (Talk | contribs)

Jump to: navigation, search
QTRadio, interface de pilotage à distance des appareils connectés au serveur de flux 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

L'ensemble softrock 6.3, Mobo 4.3, SDR-Widget 3.0, l'un des très nombreux SDR supporté par le serveur de streaming)

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 libqt4­opengl­dev glutg3­dev libusb­0.1­4
 apt­-get install libfftw3­dev portaudio19­dev libpulse­dev
 apt-­get install libsamplerate0­dev libusb­1.0­0­dev libconfig8­dev
 apt-­get install autoconf
 apt-­get install libtool
 apt-­get install libusb­dev
 apt-­get install libjack­dev
 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 ghpsdr3­alex/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 ghpsdr3­alex/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 ghpsdr3­alex/trunk/bin

D’autres indications peuvent être obtenues sur le réflecteur hpsdr ainsi que sur

 https://github.com/alexlee188/ghpsdr3­alex/blob/master/README
 http://napan.ca/ghpsdr3/index.php/Main_Page