mercredi 11 février 2015

[SDR] Initiation à Linux

Bonjour, 

Ma dernière bidouille est purement logiciel : j'ai fais de mon RaspberryPi un décodeur POCSAG qui filtre les trames reçus pour ne m'afficher que les messages texte sans doublons.
Pour ça, j'ai du me pencher sur quelques commandes Linux que je vais vous présenter ici.

Pour commencer, il faut demander à notre SDR de se caler sur la bonne fréquence :
$ rtl_fm -f 466.175M -s 22.05k -p 9

rtl_fm = logiciel à utiliser, suivis des différentes options
-f 466.175M = Fréquence de travail
-s 22.05k = Sample rate (par défaut, il est à 24kHz, mais Multimon-ng n'acceptera que 22.05k)
-p 9 = Correction de votre SDR (cf Calibrer sa clé SDR)

Voilà pour la première partie. 

On veut maintenant utiliser le résultat de cette commande pour alimenter Multimon-ng (le programme qui nous permettra de décoder les trames reçus).
Pour celà, nous uiliserons un "pipe" (aussi appelé "tube") et qui ressemble à ça " | " (alt gr + 6).
Exemple : cmd1 | cmd2 
                 Le résultat de cmd1 sera utiliser par cmd2.

Voyons maintenant la commande du décodeur :
$ multimon-ng -a POCSAG1200 -f alpha -t raw /dev/stdin
Je ne vais pas la détailler complètement, mais on peut remarquer l'option -a POCSAG1200 qui est le décodeur qu'on souhaite activer.
Pour connaitre la liste des décodeurs dispo, je vous invite à regarder l'aide de Multimon-ng avec la commande :
$ multimon-ng -h

Il nous reste plus qu'à assembler le décodeur avec le récepteur à l'aide du pipe, soit :
$ rtl_fm -f 466.175M -s 22.05k -p 9 - | multimon-ng -a POCSAG1200 -f alpha -t raw /dev/stdin

A ce point, les trames décodées s'afficheront dans le terminal de commande.
(ctrl + c pour stopper)

C'est bien beau tout ça, mais j'aimerai bien récupérer les trames dans un fichier texte pour travailler dessus !
Et bien c'est tout simple grace à la commande >> qui permet d'envoyer le résultat de la commande précédentes dans le fichier qui suit.
Exemple : cmd >> /home/user/fichier.txt
Dans notre cas :
$ rtl_fm -f 466.175M -s 22.05k -p 9 - | multimon-ng -a POCSAG1200 -f alpha -t raw /dev/stdin >> /home/utilisateur/pocsag_brut.txt

Voilà pour cette première partie !
Je vous invite à vous renseigner sur la commande "grep" (que je détaillerai dans un futur billet) qui nous permettra de faire un peu de tri dans notre fichier pocsag_brut.txt

A bientôt, 

Jérôme, 
F4GMU

Aucun commentaire:

Enregistrer un commentaire