GMSK EXPERIMENTS

situation

Par Anthony : F4GOH@orange.fr

Objectifs :

  • Envoyer et recevoir des messages instantanés,
  • Signaler sa position,
  • Recevoir la position des autres personnes,
  • Envoyer et recevoir des fichiers informatiques (jpg, zip, pdf, etc…),
  • Liaison simplex FM VHF UHF,
  • Modulation des données en GMSK,
  • Utilisation en portable,
  • Igate APRS (option)

Peut-être avez-vous entendu parler de GMSK ?

GMSK (Gaussian Minimum Shift Keying ou modulation à déplacement minimum gaussien)

C’est la modulation utilisée dans les téléphones GSM et bien évidement dans le protocole de communication D-STAR (Digital Smart Technologies for Amateur Radio)

Le but de mes essais n’est pas de véhiculer de la voix en mode digital comme le D-STAR mais de d’utiliser le modem GMSK afin de transmettre mes propres données en simplex.

DSC01359

Le modem avec un débit de 4800 bits/s est architecturé autour un CMX589 et d’un Arduino NANO, mais vous pouvez trouver des modules déjà assemblé chez dvmega.

cartes gmsk


J’ai commencé par faire un système de TCHAT texte, afin de valider la conception du modem. L’objectif final étant d’envoyer des fichiers informatiques de 400Ko max du type jpg, zip etc…

Puis, afin de garantir une transmission optimale des données il faut ajouter un code correcteur. (FEC)

Un code correcteur est une technique de codage basée sur la redondance. Elle est destinée à corriger les erreurs de transmission d’une information sur une voie de communication.

Matériel requis :

  • TRX avec E/S packet 9600 bps,
  • Modem GMSK,
  • Arduino (atmega328P),
  • PC ou portable,
  • Tablette Androïd (GPS + Wifi).

packet_data


Le cœur du système est composé d’un TRX muni d’un connecteur E/S Packet 9600bps et d’un modem GMSK. J’ai ensuite écrit un protocole de transmission de données afin de transférer les fichiers par paquet de 45 octets.

Les différentes couches hardware et logicielles sont résumées sur l’image suivante :

modele


Il y a deux modes d’utilisation possible, soit en station fixe avec un PC, ou alors en mobile avec une tablette.

Utilisation en station fixe :

syno01

Le PC est relié directement sur l’Arduino NANO du modem via le connecteur USB.

Un logiciel écrit en JAVA va vous permettre d’envoyer :

  • Des messages instantanés,
  • Des fichiers informatiques (400ko max),
  • Signaler sa position,
  • Calculer la distance et le cap des autres stations,
  • Igate APRS optionnel (si le PC est relié a Internet)

Utilisation en station mobile :

syno02

Le logiciel est transposé sur une tablette Androïd qui comporte les mêmes fonctions que sur PC. La tablette ou le Smartphone est connecté à un point d’accès privé mobile WIFI relié au modem.

L’avantage du Wifi, c’est que plusieurs utilisateurs peuvent utiliser le point d’accès mobile et ainsi dialoguer avec une station fixe ou mobile similaire.

En ce qui concerne le débit, il faut compter en moyenne 5 secondes le Ko

Soit pour l’image ci-dessous de 640 x 480 : 56Ko : 4 minutes 40 secondes

Jpeg


Description logicielle :

Les boutons Load File et Tx File permettent d’envoyer n’importe quel type de fichier, pas seulement des images jpg.

gmsk

L’interface de la tablette est composée de 3 menus additionnels :

Le menu de configuration :

  • Saisie de l’indicatif
  • Inversion ou non de la commande logique TX/RX du modem
  • Connexion au point d’accès WIFI

cnx

Le menu position:

  • Indique le nombre de stations présentes
  • Informe la distance et le cap des autres stations

compass

Le menu photo évite d’utiliser une autre application de la tablette et permet de gagner du temps. Mais il faudra bien veiller à ce que la taille de l’image n’excède pas 100ko sinon le temps de transmission sera beaucoup plus long.

Pour cela il est très pratique d’utiliser le logiciel ES explorateur afin de vérifier la taille des fichiers envoyés et aussi de lire les données reçues

picture


Description du modem :

modem gmsk

Le modem est composé d’un CMX589 et d’un Arduino NANO.

LE CMX589 est monté sur une carte d’adaptation CMS DIL.

Par rapport aux schémas que l’on trouve sur le net j’ai légèrement changé l’affectation des broches de l’Arduino, car j’ai voulu garder la liaison SPI pour gérer une carte mSD. (je voudrais faire évoluer le système en serveur autonome.)

Cependant, Vous pouvez acheter le modem tout prêt chez dvmega. Il faudra ajouter un Arduino UNO. (Mais il n’y a pas de possibilité de connecter une carte mSD en SPI)

Tous les programmes, schémas et l’implantation des composants sont disponibles ici : GMSK Hardware&Soft


Le point d’accès WIFI est un module HLK-RM04 que l’on peut facilement se procurer chez les fournisseurs asiatiques.

D’un prix très attractif (26€), celui-ci dispose de deux adresses MAC. Non seulement vous pouvez réaliser facilement une passerelle WIFI/RS232 pour l’application GMSK de façon autonome, mais vous pouvez utiliser ce module comme point d’accès internet à des fin personnelles en reliant un câble RJ45 à votre box ADSL.

config reseau

La configuration du module s’effectue par une administration html classique.

config_init


Mise en œuvre :

Installer la librairie convolution comme l’explique le fichier README.md

Il faudra programmer l’Arduino en fonction de votre matériel :

  • Si vous utilisez ma carte avec l’arduino nano : gmskV06.ino
  • Si vous utilisez ma carte PE1PLM avec l’arduino UNO : gmskV06_PE1PLM.ino

Liens des programmes Arduino : Convolution

Tests avec le logiciel JAVA avec le PC :

  • Installer le driver de votre carte Arduino
  • Veillez à ce que le JRE (Java Runitime Environement) soit installé sur votre machine.
  • Lancez maintenant le logiciel GMSK V1.0b.jar
  • Suivre les instructions sur l’écran principal c’est-à-dire :
  • Menu configuration :
  • QTH info (facile, suivez l’exemple) (indicatif : 5 ou 6 caractères)
  • APRS Igate optionnel (si votre pc est connecté à internet et si vous avez un mot de passe pour l’APRS : par le logiciel UIview)

Cliquer sur OK, la configuration est automatiquement sauvegardée.

Pour ma part avec un Yaesu FT-7900, les commandes TX invert et RX invert sont décochées. Avec un Kenwwod TM-V71, seul La commande TX invert est cochée. Il faudra adapter la configuration de ces commandes en fonction de votre TRX.

N’oubliez pas de configurer votre TRX en 9600bps et de désactiver l’anti-bavard. j’utilise un cordon mâle/mâle PS2 entre le modem et le TRX

PC

Finir par choisir le port COM de votre Arduino et cliquez sur Connexion.

Maintenant taper un message dans la ligne de texte, puis enter. Votre TRX doit passer en émission brièvement.

Il faudra évidement qu’une autre station dispose de la même configuration afin d’effectuer les tests complets.

Essayer d’envoyer un fichier txt très court, puis passer à une image jpg de 10Ko, puis petit à petit essayer d’envoyer des informations plus importantes.

Si vous cliquez sur TX GPS vous envoyez votre position, votre indicatif apparaitra sur l’écran de votre correspondant et le logiciel calculera la distance et le cap.

Veillez à bien saisir les coordonnées GPS en degrés décimaux.

Si vous activez l’option Igate, cela enverra sur un serveur APRS la position de la station qui vous envoie des données. (Touche TX GPS)


Tests avec la tablette :

Installez le fichier GMSK.apk sur votre tablette.

(Il suffit de charger le fichier dans votre tablette et de cliquer 2x dessus pour lancer l’installation). Je n’ai pas encore signé numériquement le logiciel. La tablette demandera la confirmation d’installation en provenance de source inconnue. (C’est normal)

Vérifier la configuration de votre point d’accès. Modifier juste la taille du buffer série (serial framing length) à 400. Vérifier la vitesse de transmission à 115200,8,n,1.

Il faut maintenant relier le point d’accès au modem. Pour cela il faudra intercaler un MAX232 entre les 2 cartes, mais vous pouvez utiliser une carte tout prête (Mini RS232 To TTL MAX3232 Converter Adaptor Module Serial Port Board)

Utiliser le 5V du point d’accès WIFI pour alimenter le modem et la carte MAX232.

rs232ttl

Mettre sous tension le point d’accès. Attendre 2 minutes le temps que l’initialisation se fasse. Avec votre tablette connecter vous au point d’accès mot de passe : 12345678 par défaut.

Lancer le logiciel GMSK, puis :

  • Menu config.
  • Adresse ip du point d’accès par défaut : 192.168.16.254
  • Port 8080
  • Configuration des inversions en fonction de votre TRX
  • Connexion

Appuyer sur ok pour valider. La configuration est automatiquement sauvegardée.

Comme pour les tests sur PC, commencer par tester l’envoi de message texte

Puis passer au transfert de fichier.

Si vous avez un GPS dans votre tablette vous pourrez envoyer votre position en appuyant sur TX GPS (A condition que le GPS soit activé et que le FIX soit fait)

Si vous désirez revenir au logiciel sur PC via le connecteur USB, il faudra débrancher le convertisseur RS232/TLL afin de ne pas provoquer de conflit. (Prévoir un connecteur).

DSC01596

L’ensemble de ces deux programmes se trouvent dans le zip : GMSK Hardware&Soft

Pour information, en ce qui concerne le développement logiciel j’ai utilisé la suite B4X.


Remarque :

Les logiciels sont encore au stade de développement. Je n’ai pas eu le temps de programmer toutes les sécurités si l’utilisateur saisit n’importe quoi dans les champs de configuration. (Ne jamais saisir d’espace)

Il y aura des mises à jours sur le site afin d’ajouter des fonctionnalités au logiciel. La liaison Bluetooth est par encore implémentée. Soyez patients…


Nouvelle version en cours d’étude avec le Node MCU ESP12 V0.9 (base ESP8266). Pilote le modem CMX589 et embarque un point d’accès wifi.

Carte 50mm x 100mm

ESP_proto

Prototype avec l’ESP8266

Le microcontrôleur est très intéressant à programmer et permet des applications que ne pourrait jamais supporter un Arduino UNO avec son sheild Ethernet.

DSC01598

Reste la gestion du TCP/IP ou de l’UDP pour aller plus vite.

Version définitive avec l’ESP8266

Bientôt, les schémas et le PCB seront disponibles.

espgmsk

73 et bon transfert de fichier

F4GOH

Anthony

https://github.com/f4goh/CONVOLUTION

GMSK EXPERIMENTS

7 réflexions sur “GMSK EXPERIMENTS

  1. […] Par Anthony : F4GOH@orange.fr Objectifs : Envoyer et recevoir des messages instantanés, Signaler sa position, Recevoir la position des autres personnes, Envoyer et recevoir des fichiers informatiques (jpg, zip, pdf, etc…), Liaison simplex FM VHF UHF, Modulation des données en GMSK, Utilisation en portable, Igate APRS (option) Peut-être avez-vous entendu parler de GMSK ? GMSK (Gaussian Minimum […]hamprojectsContinuez la lecture […]

    Aimé par 1 personne

  2. Bonjour,

    Bravo pour votre site qui regroupe des articles très intéressants et qui correspondent exactement à l’idée que je me fais de l’expérimentation radioamateur !
    L’utilisation de la modulation GMSK me parait un excellent choix. Si j’ai bien compris la technique utilisée pour la transmission de donnée n’est pas compatible D-Star, pourquoi avoir fait ce choix ? Si votre logiciel implémentait les spécifications D-Star, vous pourriez utilisez votre système à travers des relais ou des hotspot.
    73,
    Jérôme F4HGI

    J’aime

    1. Bonjour Jérôme,

      Merci pour l’intérêt porté sur les articles.
      Effectivement, le protocole utilisé pour transmettre les données n’a rien à voir avec D-Star.
      Je suis un passionné de transmission numérique et j’avais depuis longtemps envie d’écrire mon propre protocole.
      On m’a déjà suggéré l’idée d’être compatible avec D-rats. Ce n’est pas mon objectif pour me moment.
      Le logiciel étant relativement récent, j’aimerais continuer les tests de transmission, et améliorer le logiciel.
      Je m’amuse avec ESP8266. Le modem avec son µc + point d’accès WIFI devrait couter moins de 30€.
      Une démonstration sera faite au congrès Adrasec au mans le 2 et 3 octobre 2015 prochain.

      73
      Anthony

      J’aime

  3. Bonjour Anthony,
    Merci pour votre réponse, je comprends bien vos choix techniques, mais c’est vrai qu’une compatibilité avec d-rats serait un plus.
    Le fait que l’ensemble du matériel soit très abordable financièrement est très intéressant.
    Bonne démonstration au congres de la FNRASEC, espérons que cela va intéresser plusieurs OM.
    73,
    Jérôme F4HGI

    J’aime

  4. Bonjour,

    J’ai lu un article dans une revue et ça m’a donné l’envie de réaliser l’expérience.
    Et comme je viens de recevoir les quelques pièces qu’il me manquait pour faire les tests, je suis passé à la phase des essais et ça fonctionne du tonnerre !!!

    Très belle réalisation !!!

    73, Flo F4DYW

    J’aime

    1. Bonjour et merci pour l’intérêt du montage.
      Il y a encore pas mal d’améliorations au niveau du logiciel
      j’essaie actuellement de rendre plus fluide la transmission au lieu d’avoir des « coupures »

      j’étudie le protocole D-STAR. j’ai enfin réussi à faire mon propre logiciel sur Arduino et PC
      je n’utilise plus dstarrepeater ircDDBgateway ni le soft arduino de DVMEGA.
      Je compte intégrer la transmission de fichier dans le protocole D-Star (fast DV) afin d’avoir un ensemble compatible.
      73
      Anthony

      J’aime

Laisser un commentaire