f0fyf

f0fyf

mercredi 6 mars 2019

A propos de CubicSDR

Plusieurs personnes m'ont fait remonter des difficultés pour installer CubicSDR actuellement. Il se trouve que certaines librairies necessaires ont évolués et ne sont plus vraiment compatibles d'où la création d'erreurs lors de la compilation. Il s'agit notament des librairie libpng, wxopengl et wxwidget. J'ai farfouillé un peu dans les fichiers et modifié certaines valeurs et dépendances et cela à l'air de fonctionner ici .. quelques bugs mineurs mais en cours de résolution.
Il faudra donc récupérer cubicSDR comme stipulé dans mon billet : https://f0fyf.blogspot.com/2016/10/cubicsdr-une-alternative-gqrx.html
Il faudra bien excécuter le script et attendre qu'il se termine .. même avec les erreurs.
Une fois ceci fait, il faut installer la librairie libpng12 en fonction de votre machine (32 ou 64 bits)
- On récupère l'archive, soit 32, soit 64 bits ici :

- On ouvre un terminal et on lance la commande qui va décompacter et installer ce paquet (exemple pour la version64 ): 

$ sudo dpkg -i libpng16-16_1.6.28-1_amd64.deb

Il faut maintenant récupérer le fichier de CubicSDR modifié ici :
CubicSDR

Un fois copié sur votre disque dur, il vous faudra le placer et le décomprésser OBLIGATOIREMENT dans le répertoire /CubicSDR/src/   

$ tar -xzf CubicSDR.tar.gz

Pour lancer CubicSDR, il faudra juste faire un clic droit sur le fichier et choisir l'option "ouvrir dans un terminal" .. tout devrait alors fonctionner. 
Sinon,il y a Gqrx, bien plus complet et facile à installer ;) 


dimanche 17 février 2019

JAERO decodeur ACARS Satcom



Jaero est un petit programme très complet fort utile pour les passionnés d'aéro. Il permet de d'écouter les conversations sur le C-channel (essentiellement des communications lors d'urgences médicales mais également d'autres demandes émanant du personnel de bord : plan de vol, météo .... ) le tout, sur la bandes L, aux alentours des 1.5Ghz. Il permet aussi le décodage des acars (plus complet que sur VHF), de l'adsb et tout ce qui transite via Inmarsat en Aero-L et Aero-H 
Jaero fonctionne sous windows mais également sous linux et c'est cet os qui sera concerné par la suite de l'article.


mercredi 2 janvier 2019

Mise à jour WSJT-X 2.0 sous Debian Stretch



J'ai finalement remis au placard mon ancienne xubuntu pour péférer une Débian Strech, la dernière version stable. J'en ai donc profité pour faire un peu de tri et remettre à jour tous mes logiciels radio. 
Comme c'est souvent le cas, Wstj-x a encore fait des siennes et la migration vers la nouvelle version avait du mal à passer suite à un problème lié à Hamlib3. Le problème peut être résolu en mettant les mains dans le moteur et en modifiant la version d'hamlib ainsi que les sources et Makefile. C'est la version un peu barbare mais en cherchant bien, j'ai remarqué certaines requêtes qui entrainaient le plantage de la compilation et au final, j'ai réussi à compiler correctement, sans avoir à modifier quoique ce soit. Voici la petite marche à suivre : 

- On récupère les sources ici : https://physics.princeton.edu/pulsar/k1jt/wsjtx.html tout en bas ou en cliquant directement ici : wsjtx-2.0.0.tgz

- On récupère également les prérequis :
sudo apt-get -y install git cmake build-essential subversion asciidoc gfortran-6 qtbase5-dev qtmultimedia5-dev libqt5multimedia5-plugins libqt5serialport5-dev libfftw3-dev libusb-dev libudev-dev libasound2-dev alsa-utils portaudio19-dev libpulse-dev libportaudiocpp0 libtool texinfo asciidoctor

- On décompresse le fichier :
$ tar xvzf wsjtx-2.0.0.tgz

- On réalise la compilation du projet avec ces étapes :
$ cd wsjtx-2.0.0 && mkdir build
$ export FC=gfortran-6
$ cmake ..
$ cmake --build .
$ sudo cmake --build . --target install

Si tout c'est bien déroulé, wsjtx est maintenant prêt à être lancé.


dimanche 25 novembre 2018

Nouvelle antenne filaire

Depuis quelques semaines, mes réceptions en HF étaient devenues totalement catastrophiques : très mauvaise réception, énormément de parasistes sur toutes les bandes ... bref, pas génial pour les longues soirées d'hiver qui arrivent. J'utilisais jusqu'à présent et depuis maintenant 4 bonnes années, une W3DZZ de fabrication maison, dans les combles de la maison. J'en était pleinement satisfait malgré les creux de fonctionnement sur certaines bandes, en particulier le 18 et 21 Mhz. 

mardi 9 octobre 2018

Décodeur AFSK1200 sous linux (2)


J'avais parlé, il y a quelques temps déjà, de Qtmm, plus connu sous le nom d' "AFSK1200 decoder". Quelques om sont revenus récement vers ce billet et m'ont fait remarquer que malheureusement, la compilation ne fonctionnait pas, que certaines librairies de QT faisait défaut. J'ai donc pris le temps de revoir tout cela et de faire quelques modifications sur 4 fichiers allant servir à la compilation ( main.cpp / mainwindow.cpp / Makefile / qtmm.pro ).

!!! Cette méthode fonctionne uniquement avec Qt 5.0 et supérieur !!! 

samedi 25 août 2018

SDR# sous linux



Un ancien adpete de windows, habitué à SDR Sharp et n'arrivant pas à utiliser correctement Gqrx m'a demandé comment installer ce "gros" soft SDR pour son linux. La manipulation n'est guère compliqué mais pour ma part, je vous conseille quand même l'utilisation de Gqrx car avec Sdr#, j'ai remarqué pas mal de latence et les plugins tetra ou dsd ne fonctionnent pas vraiment comme il devraient. Mais vouloir faire travailler un soft sous un OS qui ne lui soit pas dédié ne promet pas toujours de bons résultats ..

dimanche 24 juin 2018

Script Pocsag vers fichier texte

Malgré le manque de temps en ce moment et comme le pocsag revient au goût du jour, avec le dapnet notamment, je me suis fait un petit script en python qui pourra devenir évolutif avec le temps. Pour l'instant, il récupère les données via la clé rtl-sdr puis place le tout dans un fichier en prenant soin de ne garder que l'essentiel. 
J'ai commencé par les pocsag des pompiers en VHF basse, à savoir le 85.955 Mhz mais en allant modifier la fréquence et le ppm de la clé, il est possible de décoder le réseau E-message sur 466 ou autre.
Les indispensables : 
Python  => 2.7 : https://www.python.org/

Voici donc le script en question :
#!/usr/bin/python
#coding: utf-8

import os
import sys, getopt
import subprocess
import collections
import time

print "***********************************"
print "*                                 *"
print "* Décodage pocsag Sapeur-Pompiers *"
print "*                                 *"
print "***********************************"

# creation d'une variable qui va stocker tous les messages identiques
ident = collections.deque(maxlen=10)
#on efface l'écran
os.system("clear")
# on lance le programme multimon ( on converti au bon format pour multimon via sox )
flux = "rtl_fm -f 85.955e6 -M fm -s 200000 -r 48000 -p 66 - | sox -traw -r48000 -es -b16 -c1 -v1 - -traw -es -b16 -c1 -r 22050 - | multimon-ng -a POCSAG512 -f alpha -t raw /dev/stdin -"
# on affiche la commande du programme
print flux
# on lance le traitement du programme
mm  = subprocess.Popen(flux,shell=True,stdout=subprocess.PIPE)
# dès qu'un message est reçu, il est traité
while mm.poll() is None:
  msg = mm.stdout.readline()
# si le message ne contient aucun texte, rien ne se passe
  if "Alpha: " not in msg:
   continue  
# sinon on continue la procédure
# on enlève tous les messages contenant des NUL ou vides
  msg = msg.replace("<NUL>", "")
# on récupère le message seul situé après la balise Alpha
  msg = msg.split("Alpha:",1)[1]
# on supprime l'espace devant le message
  msg = msg.strip()
# Si le message fait moins de 3 caractères, rien ne se passe
  if len(msg)<3:
   continue
# sinon on continue
# on vérifie que le message n'est pas déjà passé en comparant les 15 derniers caratères à notre variable ident
  if msg[-15:] in ident:
# si les caractères sont déjà présent, rien ne se passe
   continue
# sinon
# on va stocker les 15 derniers caractères du message dans notre variable
  ident.append(msg[-15:])
# on affiche notre message
  print msg
# on ouvre notre fichier poc.txt en mode ajout de texte
  fichier = open("poc.txt", "a")
# on écrit le message reçu
  fichier.write(msg+"\n")
# on referme notre fichier
  fichier.close() 
# et on revient au début du traitement 
Avant toute chose, il est important de créer dans le répertoire ou le script sera sauvegardé, un fichier vide nommé poc.txt . En rouge dans le script, se trouve la fréquence d'écoute et le ppm de la clé, à modifier à votre convenance.

En considérant que le script est sauvegardé sous le nom de pager.py , pour le lancer, on ouvre un terminal et l'on va entrer la commande :
> python pager.py
Le fichier poc.txt se remplira alors par le décodage effectué par multimon-ng

(112DEPART) VSAV 01 / CHUTE D'UNE PERSONNE DE - 3 M(112DEPART) DECLENCHEMENT SYSTEMATIQUE DEPART : VSAV 01 - CHUTE D'UNE PERSONNE DE - 3 M (ANNECY - xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
(800DEPART) VLM 02 / DIFFICULTE RESPIRATOIRE SEVERE
(198DEPART) VTU HR 01
(800DEPART) DECLENCHEMENT SYSTEMATIQUE DEPART : VLM 02
(198DEPART) 282DEPART
(198DEPART) DECLENCHEMENT SYSTEMATIQUE DEPART : VSAV 01
(112DEPART) VSAV 01 / MALADIE
(112DEPART) DECLENCHEMENT SYSTEMATIQUE DEPART : VSAV 01 - MALADIE (EPAGNY METZ-TESSY - ***************************** ) 

les adresses sont volontairement enlevées 

On pourra très bien envisagé par la suite, l'envoi des données, non pas vers un fichier mais ver un téléphone via un sms (via la commande urllib.urlopen ) ou vers une adresse mail ...

Petit rappel, gardez les décodages pour vous et ne les divulguez pas  :)