Réalisation d'un kit de test LoRa composé de 2 modules émetteur/récepteur Le modem LoRa E45-TTL-100. Le but est de tester les capacités de transmission du protocole LoRa en zone urbaine.
Un premier module portable, “le tracker”, émet un message que l'on appel un “ping” et attend une réponse. Si une réponse arrive, alors on sait que le lien radio est possible et on peut mesurer le temps de réponse. Ce module est équipé d'un écran pour afficher les informations relatives à la qualité du signal radio.
Le second module, “le répéteur”, attend perché en hauteur dans un endroit approprié de récevoir un message pour émettre une réponse.
Les modules Le modem LoRa E45-TTL-100 ne permettent pas de mesurer la puissance du signal radio (RSSI ou SNR), néanmoins, ils disposent de différents débits (air rate) configurable. Pour rappel, avec LoRa, plus le débit est grand plus la portée du signal est faible. Le problème est que les différents débits sont strictement incompatbles. Nous allons donc essayer de quantifier la puissance du signal en fonction du débit que les deux modules peuvent atteindre pour communiquer.
Il faut noter que l'on utilise également le GPIO2 en sortie pour controller la LED de l'ESP32.
On communique avec le module e45-ttl-100 via une liaison serie asynchrone (UART). Il faut alimenter le module, la puissance fournie par le micro controlleur est insuffisante. Il y a en outre 2 bit pour selectionner le mode du module et 1 sortie pour
Sur le module e45-ttl-100 antene vers le haut, de gauche à droite :
On communique avec l'écran via une liaison série synchorne (SPI). Je n'ai pas réussi à utiliser le SPI hardware pour l'occasion, j'utilise donc une SPI Software.
Sur l'écran connections en bas, de gauche à droite :
Deux débits différents sont incompatibles pour les transmission radio. Il n'est pas possible avec les modules Le modem LoRa E45-TTL-100 d'écouter et de déterminer le débit de la communication reçu. Nous implémentons donc un protocole modeste de négociation du débit radio.
Le principe est le suivant pour le module tracker :
Le principe est le suivant pour le module répéteur :
J'ai utilisé un ESP32 programmé avec l'IDE Arduino.
Le code source est actuellement sur mon githib ici : https://github.com/mxbossard/laperco-capteurs/tree/master/arduino_sketches/lora_signal_test_kit
Je n'ai pas trouvé de driver pour le module Le modem LoRa E45-TTL-100 j'ai donc implémenté laborieusement un driver avec quelques fonctions. Les 2 modules tracker et répeteur sont codés dans le meme sketch. Il faut commenter ou décommenter la ligne “#define REPEATER” pour compiler le code de l'un ou l'autre des modules.