SDR Raspberry pi…

Si comme moi vous désirez installer un récepteur panoramique allant de 24 a 1766Mhz, vous avez frappé a la bonne porte….

Une révolution dans les clés usb de réception DVB, les contrôleurs a base de RTL2832U et un tuner type R820T ou E4000 peut vous permettre d’écouter pas mal de choses….

Voici ce a quoi ressemble ce type de clé :

Ensuite vous avez deux possibilités :

la premiere est utiliser la clé directement dans un de vos port USB pour se faire il faut non pas installer le drivers de la clé mais utiliser ZADIG. Vous le trouverez ici <Lien> « https://zadig.akeo.ie/downloads/ »
Listez les périphérique usb et vous trouverez votre DVB usb cliquez dessus et ensuite cliquez installer le drivers juste en dessous.

Listez les périphérique usb et vous trouverez votre DVB usb cliquez dessus.
Cliquez installer le drivers.
Forcez l’installation du drivers alternatif a celui d’origine de la clé.

Bon Ici c’est la partie hardware physique sur votre ordinateur…. coté logiciel nous y reviendrons plus tard, passons maintenant à la partie Raspberry et le serveur SDR. Ce que l’on veux dire par serveur c’est que n’importe quel logiciel gérant le RTL TCP peut se connecter a votre Raspberry et obtenir les même fonctions au travers le logiciel et profiter de la réception SDR un peut partout et avec quelques configuration de votre connexion internet il est possible d’écouter même en vacance via internet mais je n’y viendrais pas sur le sujet dans cette page.

Voici la seconde possibilité d’utiliser votre clé SDR, le monde de linux s’ouvre a vous…. n’ayez pas peur de linux il suffit de quelques lignes pour qu’elle fonctionne ! vous êtes prêt ?

Ayant sous la main un Raspberry Pi tournant sous Raspbian, j’ai entrepris d’installer tout ça dessus. Il y a plein de tuto sur le net pour installer votre OS sur votre carte SD.

Je vous laisse les quelques commandes qui m’ont permis de faire marcher le tout 🙂

On met à jour son système et ses dépôts:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

On installe les logiciels et dépendances nécessaire :

sudo apt-get install git cmake make libusb-1.0-0-dev

git clone git://git.osmocom.org/rtl-sdr.git

cd rtl-sdr/

mkdir build

cd build/

cmake ../ -Wno-dev

make

sudo make install

sudo ldconfig

Afin de voir si la clé est bien prise en compte :

rtl_test -t

RTL-SDR permet de lancer rtl_tcp afin d’écouter sur un port TCP (1234 par défaut) ce qui permet sur un autre PC de contrôler le dispositif ! Si c’est pas génial ça ! Pour faire écouter sur une adresse IP, voici la commande à exécuter sur le raspberry :

sudo rtl_tcp -a 172.1.1.200

Il se peut que vous aillez une erreur de rule voici la methode pour regler le petit soucis:

vous devez ajouter des règles udev pour rendre le dongle disponible pour les utilisateurs non root. Vous devez d’abord rechercher l’identifiant du fournisseur et l’identifiant du produit pour votre clé de protection.

dans votre terminal saisissez la commande suivante :

lsusb

Vous y verez apparaitre dans le message de réponse cette ligne :

Bus 001 Device 008: ID 0bda:2838 Realtek Semiconductor Corp.

Il est important de noter les identifiants VEN et DEV de la clé, donc ici « 0bda » (the vendor id) and « 2838 » (the product id).

Toujours dans le terminal creer le fichier suivant :

 sudo nano /etc/udev/rules.d/20.rtlsdr.rules

Collez-y cette partie :

SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", GROUP="adm", MODE="0666", SYMLINK+="rtl_sdr"

Avec les identifiants de fournisseur et de produit pour votre clé personnelle. Cela devrait rendre le dongle accessible à tout utilisateur du groupe adm. et ajoutez un lien symbolique / dev / rtl_sdr lorsque le dongle est attaché.

Et finalement, debranché votre clé et redemarrer udev comme ceci :

sudo restart udev

Et ensuite rebranchez la sur le port usb. Si tout va bien, refaite la comment de test et relancez le serveur:

rtl_test -t
sudo rtl_tcp -a [votre ip]

Démarrage automatique

Il est très facile de configurer le Pi pour qu’il exécute automatiquement le serveur SDR à la mise sous tension. Cela se fait en modifiant le fichier rc.local qui s’exécute automatiquement au démarrage.
Nous devons inclure deux nouvelles lignes dans le fichier. Le premier retarde l’exécution de 10 secondes pendant que le réseau démarre et que le second exécute la commande permettant de démarrer le serveur.
Ce délai est nécessaire car la nouvelle version de Jessie exécute rc.local avant le réseau. est en place, nous n’avons donc pas l’adresse IP essentielle.

on va ouvrir le fichier rc.local et modifier celui-ci :

sudo nano /etc/rc.local

Et a la fin du fichier on remplace par ceci :

sleep 10
_IP=$(hostname -I) || true
if [“$_IP”]; then
printf”My IP address is %s\n” “$_IP”
/usr/local/bin/rtl_tcp -a $_IP &
fi
exit 0

Ensuite on sauvegarde et on redemarre le raspberry et votre serveur est en ligne en quelques secondes….