Difference between revisions of "Projets:Lab:2011:GHPSDR3-Alex"
(→Qu'est-ce que GHPSDR3-Alex) |
(→Installation avec compilation locale) |
||
Line 64: | Line 64: | ||
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 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 | + | 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", "git clone" ou "make" par l’ordre sudo |
Ex : | Ex : | ||
Line 75: | Line 75: | ||
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 | 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 | ||
− | |||
== Récupération des libs nécessaires == | == Récupération des libs nécessaires == |
Revision as of 19:26, 2 April 2013
Contents
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 (ou plusieurs) récepteur SDR entre plusieurs usagers... en fonction des capacités et de la bande passante des segments de réseau IP utilisés
Attention : lorsque nous parlons de flux, il ne s'agit pas du simple streaming d'une seule et unique communication, mais d'une portion de spectre de 200 kHz -donc potentiellement plus de 150 stations radio-, portion de spectre pouvant être "positionnée" à n'importe quelle fréquence située dans la plage du récepteur utilisé (en général, de 1,8 à 30 MHz avec un Softrock, mais pouvant couvrir de 3 à 700 MHz avec une tête UHFSDR, voir plus -22 à 1700 MHz par exemple si l'on connecte une clef DVB-T)
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", "git clone" ou "make" 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
Récupération des libs nécessaires
Si cela n’a pas déjà été fait (installation de TVHeadend par exemple)
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 libgs10-dev apt-get install libgtk2.0-dev apt-get install libortp-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 » "à la main"
Ces bibliothèques de fonctions (Codec2-dev, Libevent et ortp) ne sont a priori pas accessibles depuis un noyau Pure Debian Squeeze. Elles sont en revanche directement disponibles avec un simple "apt-get install" sous Ubuntu.
Codec2-dev
Se trouve sur un dépôt Subversion
svn co https://freetel.svn.sourceforge.net/svnroot/freetel/codec2-dev codec2-dev cd codec2-dev ./configure make make intall ldconfig make clean cd ..
Libevent
Par défaut, libevent de Debian Squeeze en est resté à une version 1.4, il nous faut une version 2.0 Cette fois, le dépôt est sur Github
git clone git ://github.com/libevent/libevent.git cd libevent ./autogen.sh ./configure make make install make clean cd ..
ortp-dev Si l’on ne parvient pas à la descendre libortp-dev avec apt-get ou synaptic... ceci n'est pas très clair dans la config du rédacteur de ces lignes
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
Compilation de GHPSDR3-Alex
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¨. ¨monitor" le binaire résultant, est expédié dans ghpsdr3alex/trunk/bin Si vous allez dans
/home/esh/ghpsdr3-alex/trunk/src/bandscope
Vous pouvez lancer ¨make¨.¨bandscope", le binaire résultant, est expédié dans ghpsdr3alex/trunk/bin Si vous allez dans
/home/esh/ghpsdr3-alex/trunk/src/receiver
Vous pouvez lancer ¨make¨. ¨ghpsdr¨, le binaire résultant, est expédié dans ghpsdr3alex/trunk/bin
Enfin, si vous possédez une plateforme Softrock/Mobo, vous pouvez lancer un "make" dans le répertoire
/home/esh/ghpsdr3-alex/trunk/src/softrock
softrock, le binaire résultant, est expédié dans ghpsdr3alex/trunk/bin
Pour vérifier la validité des options de compilation, vous pouvez exécuter
softrock --toto
qui vous répondra
root@GHPSDR:/home/marc/ghpsdr3-alex/trunk/src/softrock# softrock --toto softrock: unrecognized option '--toto' invalid argument Usage options: -s= or --samplerate -d= or --device (OSS audio device) -i= or --input (Port Audio device for input) -o= or --output (Port Audio device for output) --iq or --qi (to swap I and Q channels) --si570 (to use a unit having a Si570 oscillater) -v or --verbose -f= or --startupfreq (set Si570 startup frequency) -m= or --multiplier (set Si570 multiplier) --correctedfreq (set Si570 corrected frequency) --serialid --record filename (record to this file) --playback filename (playback this file) --receivers (number of receivers) -j or --jack (use Jack Audio Connection Kit for audio in/out) root@GHPSDR:/home/marc/ghpsdr3-alex/trunk/src/softrock#
l'exécutable fonctionne donc à merveille, on peut passer au branchement des différents appareils
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