Go Down

Topic: Arduino Lorawan (Read 166 times) previous topic - next topic

Yang56

Bonjour,

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.

Merci pour vos réponses

lesept

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) :



Ça peut se trouver pour plus cher chez d'autres vendeurs qui te feront attendre moins longtemps.

L'ESP32 est équipé d'un coprocesseur pour l'encryption (AES, RSA, SHA).



Il existe des bibliothèques et même des tutos pour apprendre à crypter et décrypter des données en AES avec un ESP32.

A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

Yang56

#2
Jul 29, 2019, 04:07 pm Last Edit: Jul 29, 2019, 04:07 pm by Yang56
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.

al1fch

#3
Jul 30, 2019, 08:12 am Last Edit: Jul 30, 2019, 08:16 am by al1fch
Bonjour

Des serveurs LoRaWan içi (reste à voir s'ils géèrent les éventuelles  spécificités du réseau collaboratif TTN)

https://www.loraserver.io/

https://github.com/gotthardp/lorawan-server

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

Yang56

Bonjour,

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...

Merci pour votre aide !

Go Up