Rechercher les tags suivants :

Résultats

SDR : Ou comment faire de la radio via son PC Par adrien_s, le 13 Octobre 2013 11:55:53

Tags : radioinformatiquedéveloppementlogiciel


Vous savez sans doute ce qu'est le radioamateurisme (sinon vous pouvez aller voir ici).

Les gens qui font du radioamateurisme en écoutant seulement les transmission sont nommés des SWL (Short Wave Listeners).

Eh bien maintenant, avec du matériel pas trop cher (15-20 €), on peut faire tout ça depuis son PC.

En utilisant certains tuners DVB-T USB (ouioui, pour la TNT) contenant une certaine puce (realtek 2832U pour être précis), on peut récupérer le flux d'octets sortant du DAC (ou CAN en français), tous les processus de filtrage s'ensuivant (syntonisation, décodage, etc...) pouvant se faire de manière numérique.

L'avantage ?

Ben ça permet d'opérer dans une très large gamme de fréquences (24 MHz à 1766 MHz dans mon cas), avec du matériel vraiment pas cher :

  • Un pc normal (bon ça vous devriez déjà en avoir un)
  • Un tuner à 15 €.

Et ça permet surtout de pouvoir écouter n'importe quel type de radio facilement: les protocoles tels que Wide FM / Narrow FM, AM, Bande Latérale Unique : USB (bande supérieure) / LSB (bande inférieure), CW-L / CW-U (pour le morse :p)... Ça fait déjà un bon paquet.

Et si un nouveau protocole sort, il suffit de coder une lib qui le gère, pas besoin d'acheter un nouveau récepteur à x mille euros.

Côté logiciel, quelques applis sympas :

GNURadio

La base.

Constitué de briques telles que sortie audio, multiplicateur de signal, additionneur de signal, entrée RTL-SDR, démodulateur AM, etc.

On assemble soi-même les diverses briques logicielles pour créer le récepteur de son choix.
A essayer pour les plus bricoleurs d'entre vous ou ceux qui aiment les Legos :p

Néammoins un peu casse-figure pour une première approche de la Software Defined Radio.

SDR #

Appli très complète, ayant néammoins l'énorme défaut d'être codée en C #, ce qui en fait malheureusement une appli lourde et lente.

Permet de voir le signal sous forme de courbe de fréquence et de spectrogramme (voir plus loin), la sélection de la source (on peut même utiliser la carte son comme entrée :p), tout plein de paramètres sympas et bien sûr le protocole (FM, etc), ainsi que la fréquence sur laquelle on veut écouter.

Petit bémol : si vous dépassez les limites du matériel, il ne vous l'indique pas et vous vous retrouvez avec un fond de bruit blanc sans savoir que votre récepteur ne capte rien ici.

Dommage.

GQRX

Codé en C++, en utilisant le toolkit Qt. Bien plus léger que le précédent, il possède pratiquement les mêmes caractéristiques si ce n'est qu'il vous indiquera les limites de votre tuner : lorsque vous arrivez à la limite, le curseur de fréquence se bloquera pour vous indiquer que vous ne pouvez pas aller plus loin. Néammoins ce comportement peut être désactivé si vous souhaitez voir ce qu'il se passe au-delà des limites (mais en principe, à part du bruit blanc vous n'aurez rien).

Seul défaut selon moi: vous devez utiliser pulseaudio, sinon gqrx ne démarre pas. Sous Ubuntu et consors cela ne pose pas de souci, mais si vous avez un setup plus particulier (utilisation de Jack Audio Connection Kit pour les adeptes de MAO par exemple), vous devrez lancer pulseaudio --start avant gqrx et pulseaudio --kill après (si vous ne souhaitez pas le laisser lancé).


Quelques précisions

Voici une rapide explication pour qui veut :

Spectrogramme

C'est un graphique défilant qui représente ce qu'on entend (ou dans le cas présent les ondes radio captées). Sur un axe, on a le temps qui défile, et sur l'autre la fréquence. Pour chaque fréquence à un moment donné, on affiche l'amplitude (la force si vous préférez) de cette fréquence avec une couleur différente. (cf ici pour l'article sur wikipédia)

Cela permet de visualiser facilement un signal radio au milieu du bruit de fond, vu qu'il va ressortir d'une couleur différente (sous forme de trait plus ou moins épais si la fréquence est continue, mais les formes peuvent être plus complexes).


Déménagement (eh oui, encore ^^) Par adrien_s, le 12 Février 2014 11:42:53

Tags : newssiteserveurlogicielprojets


Salut à tous :)

J'ai déplacé mon repo Git de towncraft à homer pour gagner en efficacité (towncraft est chez moi, homer c'est un dédié…) Mes projets sont donc accessibles sur http://www.art-software.fr/projects/ en http ou ssh://[user]@homer.art-software.fr/git/ en ssh.

@+ :)


Bash c'est génial Par adrien_s, le 13 Juin 2014 01:28:59

Tags : newsircdoItYourselfprojetsgitweblogicielinternetdéveloppementbashIsMagic


Je participe à un canal IRC (bon c'est un peu moi qui l'ait ouvert, et qui l'administre m'enfin) depuis quelques semaines, et j'avais pensé mettre un "bot" (client autonome) pour faciliter la gestion dudit canal — et pour animer aussi, notre mascotte étant un personnage relativement bourré ^^.

J'avais trouvé un logiciel sympa à utiliser (à première vue du moins) qui s'appelle Supybot.

Supybot est codé en python. Il a à sa disposition plein de plugins qui permettent de faire un peu ce que l'on veut.

Premier bémol : il est possible d'imbriquer des commandes (envoyer le résultat d'une commande comme argument d'une autre), mais impossible en revanche de les enchaîner (genre commande a puis commande b, tout ca en une fois), ce qui m'aurai permis pas mal de choses utiles.

Soit.

Deuxième bémol : le support. J'ai bien tenté de demander conseil sur le canal irc dédié (#supybot), mais apparemment supybot est en fait assez vieux et semble-t-il plus vraiment maintenu. J'ai donc testé un « fork » censé être plus à jour et avoir plus de fonctionnalités (mais toujours point trace de chaînage de commande, hélas…) mais il m'aurait fallu refaire toute ma config (flemme intersidérale ^^).

J'ai laissé traîner quelques jours.

Et là, l'envie m'a pris de tester un truc en bash (la plupart de mes progs utiles que je code commencent comme ça ^^), et j'ai fini par commencer un bot complet en bash, de zéro, en potassant la RFC 1459 qui décrit le protocole complet d'IRC. Plus de 30 commits en moins de 24 heures :þ.

Oui, je suis fou dans ma tête. Mais justement, les RFC sont là pour ça, et DoItYourself, comme toujours — et c'est pas comme si le protocole d'IRC était super compliqué non plus — et là au moins j'ai du chaînage de commande à gogo. J'ai un bot scriptable à volonté, vu qu'il est en bash.

Et non, c'est pas juste un gros fichier imbitable (je te vois venir, toi au fond. Oui, toi, avec la troll face). La commande "source" — l'équivalent d'un « include » en shell, ce qui permet en gros de séparer le code en le groupant par catégorie dans des fichiers différents — c'est fait pour ça ^^ Et vous connaissez beaucoup d'applications natives (pas appweb hein, native genre votre natigateur, votre gestionnaire de fichiers etc) dont vous pouvez modifier le code sans devoir recompiler, et que vous pouvez recharger à la volée pour intégrer les modifications sans même avoir à relancer l'appli pour les prendre en compte ?

Pas moi en tout cas. Et pourtant j'ai bossé sur des applis web en java qui pour une simple ligne de code demandaient une compilation complète + stoppage du serveur + installation de la nouvelle version de l'appli sur le serveur + relancement du serveur + attente que les dieux de l'informatique veuillent bien que cette connerie d'Éclipse arrête de planter heu, que ça démarre.

Oh, et si vous voulez y jeter un œil, c'est par ici.