Je suis un étudiant qui pour les vacances d'été à trouvé un petit job dans l'électronique. La semaine dernière, j'ai commencé un nouveau projet, on m'a demandé de réaliser un module récepteur de trames LoraWan afin d'y extraire les données pour les fournir en Modbus TCP ou sur un serveur web.
J'ai étudié la semaine dernière tout le fonctionnement de Lora et de LoraWan, pour partir sur de bonne base. Le protocole de télécommunication LoraWan nécessite avant émission, de crypter les données. Il y a plusieurs cryptages qui permettent de sécuriser la communication.
Cela veut donc dire, que lorsque je vais recevoir une trame, elle sera cryptée. Ainsi donc, pour y extraire les données, je vais devoir la décrypter. Le problème, c'est que les cryptages utilisés ne sont pas simple et nombreux : AES-128-ECB / AES-128-CBC / AES-128-CTR / (AES-128-CCM).
J'ai donc cherché des programmes en langage C, sur le protocole LoraWan. Il y en a quelques uns, cependant c'est seulement du côté émission. Cela s'explique très simplement par le fait qu'en général, les données des transmetteurs sont receptionnés par une passerelle qui envoie les données sur le serveur The Thing Network. Ce serveur décrypte la trame et met à disposition les données.
Voilà donc mon problème, je ne sais pas comment faire pour décrypter les données. Est-ce-que vous auriez des programmes ou des exemples de programmes en C pour décrypter les trames LoraWan ? Le faire moi-même me semble beaucoup trop complexe pour mon niveau.
Pour ton problème je te conseille d'utiliser un ESP32. On trouve des modules ESP32 + LoRa avec un écran OLED pour pas très cher (attention, prévoir un mois d'attente chez Aliexpress) :
Merci beaucoup pour ta réponse rapide ! En cherchant sur internet, j'ai trouvé un potentiel programme qui permet d'encoder et de décrypter une trame LoraWan. Cependant, je vais quand même acheter deux de ces modules car il semble très pratique d'utilisation ! Merci pour le partage.
Une remarque : si les trames sont destinées au réseau TTN , pourquoi ne pas utiliser les données décryptées par TTN , récupérables dans la console de TTN et en faire ensuite l'usage voulu ?
(cf message #4 de ce tutoriel : https://forum.arduino.cc/index.php?topic=612818.0
Je ne veux justement pas passer par le réseau collaboratif TTN. Ce que l'on ma demandé de faire, c'est de réaliser un récepteur LoraWan privé. Les données seront traités par le récepteur et seront mises à dispositions via Modbus TCP / serveur web.
Au passage, le programme que j'ai cité ci-dessus semble convenir à mes attentes. Il permet de configurer les modules RFM95W, mode ABP ou mode OTAA, crypter les données, décrypter les donner, calcul du MIC, vérification CRC...