LoRa et LoRa APRS
Article mis en ligne le 6 décembre 2020
dernière modification le 3 mai 2022

par Thierry - F4EWI

Préambule
Tout a commencé pour une publication sur le site du ref39 qui a retenue toute mon attention :

Les informations importantes de cette publication étaient : faible puissance, longue portée et faible consommation d’énergie.

Qu’est-ce que LoRa
La technologie sans fils Lora a été développée par une start-up Française, Cycleo. Cette dernière a fait l’objet d’un rachat par la société Américaine Semtech Corporation (NASDAQ : SMTC).
LoRa est l’acronyme pour Long Range (longue portée). C’est une technologie sans fils basse puissance pour transmettre de petits paquets de données à un récepteur sur de « grandes distances ». La vitesse de transmission pouvant aller de 0.3kbps à 5.5kbps.
Une très bonne source de documentation est le travail de Robert Lie, serte en anglais mais d’une remarquable qualité (de nombreuses vidéos explicatives sont disponible sur youtube). J’ai repris quelques éléments avec son accord bien sûr afin de rendre plus accessible cette « nouvelle » technologie.

Comparaison des différents réseaux sans fils capable d’envoyer des données.

Cellular communication : Communication des réseaux cellulaires
Short-range wireless communication : Communication sans fil à courte portée
Data rate : débit de données
Range : Couverture
LPWAN Low Power Wide Area Network : réseau étendu à faible puissance

Avec de telles couvertures, cela nous montre que le système LoRa offre de belles perspectives à explorer et le monde de radio-amateurisme n’est pas exempt. Du côté outre Rhin en Allemagne et en Autriche les développements ainsi que les expérimentations vont bon train !
Ci-dessous un tableau comparatif des différentes technologies avec les puissances correspondantes :

Quelques domaines où la technologie LoRa est déjà utilisée
Sécurité
o Surveillance du niveau d’eau
o Surveillance du niveau de radioactivité
o Surveillance des digues
Efficacité
o Gestion des actifs (par exemple, suivi des conteneurs, des palettes, etc.)
o Gestion de flotte (par exemple, suivi des voitures, camionnettes, camions, etc.)
Agriculture
o Suivi du bien-être animal
o Surveillance des conditions de croissance des plantes
Utilitaires intelligents
o Surveillance de transformateurs de puissance
o Surveillance du niveau d’eau
o Compteur utilitaire
o Surveillance du carburant (surveillance des niveaux de carburant dans les réservoirs de carburant des maisons de chauffage)
Santé et hygiène
o Surveillance température / humidité
o Surveillance de l’environnement
o Gestion des déchets (surveillance du niveau de déchets dans les poubelles)

Description du projet
Le projet est d’avoir un traqueur APRS (TX UHF) ainsi que d’une passerelle (RX) qui va renvoyer les informations reçues sur aprs.fi. Comme mentionné plus haut les maitres mots sont entre autres faible consommation d’énergie et longue portée. Un certain nombre de radioamateur ont déjà œuvré sur des solutions à base de raspberry voir sur le développement de cartes dédiées.
A force de recherche je suis tombé sur le travail de Peter OE5BPA. Sa solution repose sur l’utilisation de TTGO et tous ces développements sont disponibles sur github.org à l’adresse suivante https://github.com/lora-aprs. C’est sur ce choix que je me suis porté.

Liste du matériel utilisé
TTGO t-beam V1.1 utilisé comme traceur APRS (important de bien connaître la version que l’on utilise), il dispose d’un GPS intégré. Un TTGO LoRa V2.1 1.6qui sera la passerelle (iGate) vers aprs.fi. Il est aussi important de commander les produits en version 433MHz

Caractéristiques du produit
Dernière Version ESP32 : REV1.1
ESP32
WIFI
Bluetooth
8 MO PSRAM
4 MO de Mémoire Flash
3D Antenne
Écran OLED de 0.96 pouces (résolution : 128x64)
GPS avec une led indicant la réception
Puissance maximum en émission : + 20dBm
Mode de modulation : FSK, GFSK, MSK, GMSK, LoRa TM, OOK

Installation des logiciels nécessaires à la programmation des TTGO
Le travail le plus « délicat » est installation de tout l’environnement de programmation de vos TTGO. Une fois cela fait, la programmation de l’iGate et du traqueur est relativement simple.
Vous devez installer :
1) Platformio depuis le site https://platformio.org

et installer VSCode

2) Une fois VSCode installé, vous devez y ajouter un module supplémentaire

puis installer PlatformIO

Vous disposez maintenant de votre environnement pour programmer vos TTGO !
Télécharger les 2 programmes depuis : https://github.com/lora-aprs
  Pour le traqueur : LoRA_APRS_Tracker (ci-dessous un exemple comment faire)

Le fichier ZIP doit-être décompressé dans un dossier

  Pour la passerelle : LoRa_APRS_iGate
Procéder de la même manière pour télécharger le fichier ZIP de l’iGate

Configuration de LoRa_APRS_Tracker
1. Configuration
Ouvrir le dossier décompressé de LoRa_APRS_Tracker.
A noter qu’avec Visual Sudio Code, nous n’ouvrons pas un fichier mais un dossier. Pour configurer votre traqueur avec vos informations, il est nécessaire de modifier le fichier settings.h

1) Sélection du fichier settings.h
2) Saisir votre indicatif qui sera visible sur aprs.fi
3) Vous pouvez modifier le message de commentaire qui sera aussi visible sur aprs.fi
4) Choix de l’icône qui sera affiché sur aprs.fi
Par défaut c’est l’icône de la voiture qui est affiché, il est matérialisé par le symbole « > » dans la trame reçu par le serveur APRS.

Exemple de trame reçu sur aprs.fi

Le tableau ci-dessous vous montre la correspondance entre les caractères et les icones qui seront affichés.

Dans notre cas en choisissant le caractère « [ », c’est le jogger qui sera affiché sur aprs.fi

Sauvegarder le fichier modifié (CTRL+S)

2. Compilation et téléchargement dans le TTGO
2.1) Choisir le modèle de carte, pour cela cliquer sur « Default »

2.2) Choisir ttgo-t-beam-v1

2.3) Compiler le programme
(1) va lancer la compilation pour le modèle de care sélectionné précédemment
(2) affichage du résultat de la compilation. Il ne doit pas y avoir d’erreur !

2.4) Brancher votre TTGO T-Beam à l’ordinateur. Il doit être reconnu dans votre gestionnaire de périphériques. Dans le cas contraire vous devez revoir l’installation du driver pour les TTGO.

Cliquer ensuite sur la flèche qui va à droite, le programme va être à nouveau compilé mais à la suite de cela il sera téléchargé dans le TTGO.

Après le téléchargement, le TTGO va redémarrer automatiquement. Après le redémarrage et la séquence d’initialisation vous devez avoir à l’écran :

et lors de la transmission

Configuration de LoRa_APRS_iGate
Au préalable, il faut fermer le dossier du LoRa_APRS_Tracker et ouvrir celui de l’iGate. La configuration de l’iGate se fait par l’intermédiaire du fichier is-cfg.json qui se trouve dans le dossier data.

1. Saisir votre indicatif
2. false = WIFI désactivé
true = WIFI activé
3. Saisir le nom de votre WIFI
4. Saisir le mot de passe de votre WIFI
5. Message par défaut qui sera visible sur aprs.fi. Vous pouvez le modifier si besoin !
6. Les coordonnées où sera implantée l’iGate
7. false = pas de connexion au serveur APRS
true = connexion au serveur APRS
8. mot de passe pour se connecter généré depuis le site : https://apps.magicbug.co.uk/passcode/
9. serveur où l’on se connecte, il est possible de mettre france.aprs2.net et de vérifier la connexion en consultant le site : http:// http://france.aprs2.net:14501/
Il n’est pas nécessaire de changer la fréquence 433.775MHz. Elle a été définie et répertorié dans le document de août 2019 de l’lARU-Région 1 comme fréquence pour l’APRS avec LoRa : https://www.iaru-r1.org/wp-content/uploads/2019/08/Latest-VHF_Handbook.pdf

Depuis la release v20.46.1, il est possible de se connecter à l’iGate via une connexion ftp. Pour cela il est nécessaire de passer le paramètre de « false » à « true ». Vous devez ensuite définir les informations (nom d’utilisateur « name » / mot de passe « password ») qui seront utilisés pour vous connecter.

Pour télécharger le programme dans le TTGO, il est important de bien respecter la procédure ci-dessous :

1. Cliquer sur la tête d’extraterrestre
2. Le PROJECT TASKS s’affiche avec l’arborescence déjà ouverte sur votre carte TTGO
3. Cliquer sur Upload
4. Cliquer sur Upload Filesystem Image
Le TTGO doit redémarrer, il ne vous reste qu’à contrôler sur aprs.fi si iGate est bien présente

Grace à la connexion en ftp il est possible de changer les paramètres du fichier is-cfg.json, simplifiant ainsi les changements. Ci-dessous un exemple de connexion avec FileZilla

Pour être certain que les mises à jour soient prises en compte, il faut s’assurer que le TTGO ait procédé à un redémarrage.

Quelques tests et quelques résultats
Les conditions du test :
• Test en pédestre
• Pour la partie RX du iGate, le TTGO connecté à une antenne Diamond VX2000 à 8m du sol.
• Pour la partie TX, le TTGO avec son antenne l’origine

• Test en mobile

Exemple de trame envoyé par le TTGO
Les lignes dans le wather wall représentent les données transmises, nous avons bien une largeur de bande utilisée de 125KHz.

Interpréter les données reçues : RSSI et SNR
Le RSSI (Received Signal Strength Indication -> indication de la force du signal reçu) est la puissance du signal reçu en milliwatts, mesurée en dBm.
Avec Lora le RSSI peut-être de :
• RSSI = -30dBm : le signal est fort.
• RSSI = -120dBm : le signal est faible.

Le SNR (Signal-to-Noise Ratio  Rapport signal sur bruit) va permettre de connaitre la force du signal par rapport au niveau du bruit.

Avec LoRa, les valeurs typiques du SNR sont comprises entre : -20 dB et +10 dB. Une valeur plus proche de +10 dB signifie que le signal reçu risque d’être beaucoup moins corrompu.
LoRa est en théorie capable de démoduler des signaux de -7.5 dB à -20dB sous le niveau de bruit, à tester !

Les premières conclusions
Comme déjà mentionné la technologie LoRa offre de nombreuses possibilités et les résultats des premiers tests sont très prometteurs. Les prochaines expérimentations seront de placer l’iGate (la partie RX) sur un point haut et de se faire une opinion sur la couverture d’une telle installation.
Les prochaines évolutions devraient utiliser le format la télémétrie permettant ainsi un suivi des niveaux des signaux reçus

Flag Counter