mercredi 21 février 2018

Recevoir et décoder PicSat sous Linux

F4GKR, Sylvain a réalisé une petite application sous linux qui permet d'écouter et de décoder la télémétrie envoyée par le nano satellite PicSat .  
Il s'agit de PicTalk, qui va écouter la fréquence beacon sur 435.525 Mhz puis décoder les paquets reçus afin de pouvoir les partager avec les concepteurs du satellite. Pour l'instant, le programme utilise les rtlsdr et sdrplay. Les funcubes sont bien pris en charge mais ne fonctionnent pas correctement.
Avant toute chose, il faudra installer les prérequis afin de pouvoir utiliser, c'est à dire : 

- Python 3.5
- Spicy
- Numpy
- Request
- Hidapi ( 0.7 minimum )
- ZeroMQ
- Qt5


Pour cela, on utilisera en premier lieu pip : 

$ sudo apt-get install python3 python3-pip
$ pip3 install spicy numpy request zmq

Il se peut que sous certaines distributions, zmq ait du mal à s'installer. Il faudra alors passer par la compilation manuelle brute :) comme ci-après :

$ git clone https://github.com/zeromq/zeromq4-1.git
$ cd zeromq4-1
$ ./autogen.sh
$ ./configure && make check
$ sudo make install
$ sudo ldconfig

Une fois ZeroMQ installé, on installera Hidapi ( petite interface de communication USB/Bluetooth pour linux utile à zmq pour fonctionner correctement ) 

$ git clone https://github.com/signal11/hidapi.git
$ cd hidapi
$ ./bootstrap
$ ./configure && make check
$ sudo make install
$ sudo ldconfig

Pour terminer, on installe les librairies 

$ sudo apt-get install libczmq-dev libhidapi-dev 

Pour l'installation de Qt5 

$ sudo apt-get install libqt5svg5-dev qtmultimedia5-dev libqt5opengl5-dev

Nous sommes fin prêt pour installer PicTalk

$ git clone https://github.com/f4gkr/PicTalk.git
$ cd PicTalk
$ qmake
$ make

Le programme est fin prêt à fonctionner. Pour le lancer, il suffit de se rentre dans le répertoire bin de picTalk et de lancer la commande 

$ cd PicTalk/bin/
$ ./pictalk

Une fenêtre s'ouvrira en vous demandant indicatif, latitude ( 00.000 N), longitude (00.000 E) puis une fois validé, la fenêtre principale s'ouvrira : 




Le premier onglet donne accès au waterfall avec son réglage de Gain, le taux d'échantillonage et le seuil de détection.
Le seconde sera pour la partie décodage avec l'analyse et le décodage des paquets reçus.

Pour l'instant, je n'ai rien reçu car mon vieux rotor site/azimut est arrivé en fin de vie et ne veut plus rien savoir. Je suis en train de remonter un ensemble de 4x8 éléments uhf sur un rotor azimut seul ( en attendant de redescendre les 2x21 du pylône  ) qui sera sous les combles mais qui me permettra à nouveau de mieux recevoir : c'était ma première configuration sat qui m'avait permis d'écouter les télémétries d'Oufti-1, Swisscube, Delfi ... dans des conditions acceptables. 


2 commentaires:

  1. Je n'arrive pas installer

    $ git clone https://github.com/signal11/hidapi.git
    $ cd hidapi
    $ ./bootstrap
    $ ./configure && make check
    $ sudo make install
    $ sudo ldconfig

    sur un Rpi, j'ai une erreur au niveau du ./bootstrap

    RépondreSupprimer
  2. Bonsoir
    Avec les Rpi, il faut prévoir usbrelay et les bonnes libs ..
    $ sudo apt-get update
    $ sudo apt-get upgrade
    $ mkdir usbrelay
    $ cd usbrelay/
    $ git clone https://github.com/darrylb123/usbrelay.git
    $ cd ..
    $ mkdir hidapi
    $ cd hidapi/
    $ git clone https://github.com/signal11/hidapi.git
    $ sudo apt-get install libudev-dev libusb-1.0-0-dev libfox-1.6-dev autotools-dev autoconf automake libtool
    $ sudo ldconfig
    $ cd hidapi/
    $ ./bootstrap
    $ ./configure
    $ make
    $ sudo make install
    $ cd ..
    $ cd usbrelay/
    $ ls
    $ cd usbrelay/
    $ ls
    $ gcc -o usbrelay usbrelay.c -lhidapi-hidraw
    $ sudo ./usbrelay
    $ sudo ldconfig

    ça devrait tourner ;)

    RépondreSupprimer