Loraennergysim
Le cadre se compose de trois composants principaux, c'est-à-dire des nœuds, une interface d'air et une passerelle. Les nœuds envoient des messages à la passerelle via l'interface air. Les collisions et les messages faibles sont détectés dans le composant de l'interface air. Les paquets non polistes et solides sont livrés à la passerelle, au cours de la suite d'un message de liaison descendante, si elle est demandée par le nœud.

Comment citer?
@INPROCEEDINGS{8885739,
author={G. {Callebaut} and G. {Ottoy} and L. {van der Perre}},
booktitle={2019 IEEE Wireless Communications and Networking Conference (WCNC)},
title={Cross-Layer Framework and Optimization for Efficient Use of the Energy Budget of IoT Nodes},
year={2019},
volume={},
number={},
pages={1-6},
} Autres publications:
G. Callebaut, G. Ottoy and L. V. d. Perre, "Optimizing Transmission of IoT Nodes in Dynamic Environments,"
2020 International Conference on Omni-layer Intelligent Systems (COINS), 2020, pp. 1-5, doi: 10.1109/COINS49042.2020.9191674.
Comment utiliser?
La source du cadre est située dans le dossier Framework . Le dossier Simulations contient quelques exemples.
Flux de travail général
Afin de comparer différents settings/configurations , il est impératif que les emplacements des nœuds soient les mêmes pour toutes les simulations. Par conséquent, un fichier generate_locations.py est inclus dans les exemples.
Flux de travail:
- Définissez vos paramètres pour un environnement de simulation, par exemple, commencer le facteur de propagation, durée de simulation (en temps réel), dans le fichier globalconfig
- Générez vos emplacements voir ici. Il utilisera les paramètres définis dans le fichier GlobalConfig.
- Créez un fichier
Simulation.py comme détaillé ici.
Générer des emplacements de nœuds
Paramètres configurables:
- Nombre d'emplacements, c'est-à-dire le nombre de nœuds IoT
- Taille de la cellule, la cellule est ici une zone rectangulaire. La taille de la cellule déterminera la longueur des bords en mètres
- Nombre de simulations de Monto-Carlo à exécuter. Comme la simulation contient un comportement aléatoire et non déterminante et différents ensembles d'emplacements, la moyenne des résultats sur plusieurs simulations aura une signification plus statistique.
Pour chaque simulation, un ensemble aléatoire d'emplacements à l'intérieur de la zone est généré et est stocké dans le location_file qui est un paramètre défini dans le fichier GlobalConfig.py .
Simulation
Dans le fichier de simulation, vous utiliserez les blocs de construction dans le cadre pour simuler un environnement spécifique et acquérir des résultats tels que l'énergie consommée et le nombre de messages colladés. Voir la section Framework (ci-dessous) pour les paramètres et la sortie configurables. Veuillez consulter les commentaires dans l' Example>simulation.py sur la façon d'écrire un fichier de simulation. Dans simulation.py vous chargez les emplacements, spécifiez l'objet pour maintenir les résultats et spécifiez ce que vous voulez simuler. Dans SimulationProcess , la simulation elle-même est exécutée. La passerelle est créée, les nœuds sont générés avec leurs paramètres LORA et leur profil d'énergie. Après lesquels la simulation est exécutée. Après avoir terminé une simulation, les résultats sont extraits des objets et retournés, à utiliser dans le fichier simulation.py .
Le projet peut désormais être exécuté par First Running generate_locations.py puis simulation.py .
Cadre
Veuillez d'abord lire le document pour avoir une compréhension plus détaillée du cadre en ce qui concerne le fonctionnement et les limitations de Lorawan.
Modèle de propagation
Le modèle de propagation détermine comment les messages sont affectés par l'environnement. Il prédit la perte de chemin, c'est-à-dire combien le signal est atténué entre l'émetteur et le récepteur, pour un environnement donné. Le PropagationModel.py contient (actuellement) deux implémentations:
- Modèle d'ombre de journal ou modèle de perte de trajet en rondins-distance, où les paramètres par défaut sont basés sur le représentant de l'UIT-R P.2346-0 et J. Petajajarvi, K. Mikhaylov, A. Roivainen, T. Hanninen et M. Pettissalo, "Sur la couverture des lpwans: conférence internationale de la gamme sur la technologie TELLECUMUNATION pour la technologie LORA" "2015 sur la conférence internationale 2015 sur sa conférence télécommunicale pour la technologie 2015" (Itst), 2015, pp. 55-59, doi: 10.1109 / itst.2015.7377400.
- Cost231, y compris plus de détails sur l'environnement, par exemple, les hauteurs du bâtiment
Modèle SNR
Ce modèle transforme la résistance du signal reçu (RSS) en un rapport signal / bruit (SNR) par la méthode rss_to_snr . En ce moment, le bruit n'est affecté que par le bruit thermique. Il en résulte (db):
SNR = RSS - ( - 174 + 10 * log10 ( 125e3 ))
Paramètres LORA
Tous les paramètres spécifiques au protocole LORA (LORAWAN) et la consommation d'énergie mesurés liés à ces paramètres sont ici inclus.
Lorapacket
Les lorapacés sont envoyés sur l'interface air des nœuds à la passerelle. LoRaPacket contient une classe de messages de liaison montante et de liaison descendante, y compris les métadonnées et les informations pertinentes concernant l'état du message, par exemple, reçue, entrée en collision, ...
Profil énergétique
La classe de profil énergétique contient le sommeil, le traitement, la transmission et la puissance reçue d'un nœud. Cela peut être différent pour chaque nœud et peut être défini dans le fichier simulation.py .
Nœud
La classe de nœuds contient toutes les informations concernant la consommation d'énergie, le nombre de messages envoyés, la charge utile envoi, les retransmissions, ... les nœuds agissent comme de vrais nœuds IoT, rejoignant le réseau, l'attente, le sommeil, la transmission et la réception. Leur comportement est déterminé dans le fichier simulation.py principal.
Après avoir exécuté la simulation, vous pouvez extraire l'informatique suivante:
-
energy_per_bit . C'est la quantité d'énergie consommée pour envoyer un morceau de données -
transmit_related_energy_per_bit . Cela ne contient que la dépense énergétique en mode transmission. -
transmit_related_energy_per_unique_bit . Cela ne contient que les dépenses énergétiques en mode transmission et les retransmissions Tx'ed ne comptent pas contre les bits transmis -
total_energy_consumed -
get_simulation_data :
series = {
'WaitTimeDC' : self . total_wait_time_because_dc / 1000 , # [s] instead of [ms]
'NoDLReceived' : self . num_no_downlink ,
'UniquePackets' : self . num_unique_packets_sent ,
'TotalPackets' : self . packets_sent ,
'CollidedPackets' : self . num_collided ,
'RetransmittedPackets' : self . num_retransmission ,
'TotalBytes' : self . bytes_sent ,
'TotalEnergy' : self . total_energy_consumed (),
'TxRxEnergy' : self . transmit_related_energy_consumed (),
'EnergyValuePackets' : self . energy_value
} Interface aérienne
L'interface air détecte les collisions et modifie l'objet lorapacket afin que le nœud et la passerelle sache ce qui s'est passé lors de la transmission du message. Il utilise le modèle de propagation utilisé et le modèle SNR pour déterminer si le transfert a réussi ou non.
Porte
À la passerelle, le SNR reçu est vérifié et les messages sous le seuil requis sont marqués comme faibles et ne sont pas Rx'ed. La passerelle gère également les messages DL si demandé par le nœud.
Propriétés configurables
- Energy_Profile: EnergyProfile,
- lora_parameters,
- sleep_time,
- process_time,
- ADR,
- emplacement,
- Payload_Size,
- Confirmed_Messages = True
Ce qui est actuellement suivi
- 'Waittimedc': total_wait_time_because_dc
- 'Nodlreceived': num_no_downlink,
- 'Uniquepackets': num_unique_packets_sent,
- «TotalPackets»: paquets_sent,
- 'CollidPackets': num_collided,
- 'RetRanSmitedPackets': num_retransmission,
- 'Totalbytes': bytes_sent,
- 'TotalEnergy': total_energy_consumed (),
- 'TxrXenergy': transmit_related_energy_consumed (),
Erros communs
Q: Impossible de trouver Globaconfig, les emplacements, ....
R: Assurez-vous que le cadre et les simulations des dossiers sont marqués comme racine source. Pour PyCharm, cliquez avec le bouton droit sur le dossier> Mark Directory en tant que Root Source
Q: Aucune sortie dans Ipython / Spyder
R: Le code est exécuté dans Parralel par défaut et la sortie STD n'est pas bien gérée dans ce cas. Vous pouvez exécuter le code sécurisé, voir les commentaires dans Exemple / simulation.py concernant la fonction pool.map en bas.
Travail académique utilisant notre simulateur
Cité dans.
Simulateur utilisé dans:
- F. De Rango, D. Stumpo et A. Iera, «Interférence Région Aware Channel Affentiments for a évoluable Lora Network», 2024 20th International Conference on Wireless and Mobile Computing, Networking and Communications (WIMOB), Paris, France, 2024, pp. 19-24, DOI: 10.1109 / WIMOB61911.2024.10770310.
- GL Scapin, G. Alvarez, N. Quiroga, F. Collado et Ja Fraire, «Évaluation des performances des réseaux de Lorawan DTS-iot: Modes d'opération et serveur», 2024 IEEE Benial Congress of Argentina (Argencon), San Nicolás 10.1109 / Archecon62399.2024.10735884.
- Park, G., Lee, W., et Joe, I. (2020). Optimisation des ressources du réseau avec apprentissage par renforcement pour les réseaux à faible puissance à large puissance. Eurasip Journal on Wireless Communications and Networking, 2020 (1), 1-20.
- L. Beltramelli, A. Mahmood, P. Österberg, M. Gidlund, P. Ferrari et E. Sisinni, «Efficacité énergétique de la communication lorawan à fentes avec la synchronisation hors bande», dans les transactions IEEE sur l'instrumentation et la mesure, vol. 70, pp. 1-11, 2021, art no. 5501211, doi: 10.1109 / tim.2021.3051238.
- Thoen B, Callebaut G, Leenders G, Wielandt S. Une plate-forme LPWAN déployable pour les applications IoT à faible coût et à lutte contre l'énergie. Capteurs. 2019; 19 (3): 585. https://doi.org/10.3390/S19030585
- T. Fedullo, A. Morato, F. Tramarin, P. Bellagente, P. Ferrari et E. Sisinni, «Adaptive Lorawan Transmission exploitant l'apprentissage du renforcement: le cas industriel» 10.1109 / Metroind4.0iot51437.2021.9488498.
- Leenders G, Callebaut G, Ottoy G, Van der Perre L, De Strycker L. Un protocole multi-HOP LORA économe en énergie par échantillonnage de préambule pour la télédétection. Capteurs. 2023; 23 (11): 4994. https://doi.org/10.3390/S23114994
- Acosta-Garcia, L., Aznar-Poveda, J., Garcia-Sanchez, AJ, Garcia-Haro, J., et Fahringer, T. (2023). Politique de transmission dynamique pour améliorer les performances du réseau LORA: une approche d'apprentissage en renforcement profond. Internet des objets, 24, 100974.
- G. Leenders, G. Ottoy, G. Callebaut, L. van der Perre et L. de Strycker, "Un protocole multi-HOP LORA économe en énergie via un échantillonnage de préambule," 2023 IEEE Wireless Communications and Networking Conference (WCNC), Glasgow, United Kingdom, 2023, pp. 1-6, DOI: 10.1109 / WCNC55385.2023.10118770.
- E. Sisinni et al., "Une nouvelle stratégie adaptative de Lorawan pour les applications de comptage intelligent", 2020 IEEE International Workshop on Metrology for Industry 4.0 & IoT, Roma, Italie, 2020, pp. 690-695, DOI: 10.1109 / Metroind4.0iot48571.2020.9138226.
- T. Fedullo, A. Mahmood, F. Tramarin, A. Morato, M. Gidlund et L. Rovati, «Exploiting Hybrid Medium Access Controls and Relaying Strategies to Surveromeding International Stridations in International Instrumentation and Mesurement Technology, Pp. 01-06, doi: 10.1109 / i2mtc53148.2023.10176039.
- F. De Rango, A. Lipari, D. Stumpo et A. Iera, «Dynamic Switching in Lorawan Under Multiple Gateways and Heavy Traffic Load», 2021 IEEE Global Communications Conference (GlobECOM), Madrid, Espagne, 2021, pp. 1-6, DOI: 10.1109 / GLOBECOM46510.2021.9685009.
- D. Stumpo, F. de Rango, F. Buffone et M. Tropea, "Performance of étendue du simulateur de Loraenergysim dans le soutien des scénarios multi-gates et de la gestion des interférences", 2022 IEEE / ACM 26th International Symposium on Distributed Simulation and Real Time Applications (DS-RT), ALEE, France, 2022, pp. 135-142, DOI: DOI: 10.1109 / DS-RT55542.2022.9932063.
- G. Callebaut, G. Ottoy et LV d. Perre, «Optimiser la transmission des nœuds IoT dans des environnements dynamiques», 2020 International Conference on Omni-coucheer Intelligent Systems (Coins), Barcelone, Espagne, 2020, pp. 1-5, doi: 10.1109 / coins49042.2020.9191674.
- Križanović, V.; Grgić, K.; Spišić, J.; Žagar, D. Une surveillance environnementale économe en énergie avancée dans l'agriculture de précision à l'aide de réseaux de capteurs sans fil à base de LORA. Capteurs 2023, 23, 6332.
- Zhang, Jiayue. "Concevoir des directives d'un protocole de communication à faible puissance pour les dispositifs d'énergie zéro." (2023).
- Stumpo, Daniele, Floriano de Rango et Francesco Buffone. "Extension du simulateur Loraenergysim pour prendre en charge la gestion des interférences dans les scénarios IoT multi-gateway." (2022).
- T. Fedullo, A. Morato, F. Tramarin, P. Ferrari et E. Sisinni, "Smart Mesure Systems exploitant l'adaptation Lorawan sous les contraintes de consommation d'énergie: une approche RL", 2022 IEEE International Workshop on Metrology for Industry 4.0 & iot (Metroind4.0 & iot), Trento, Italie, 2022, pp. 10.1109 / Metroind4.0iot54413.2022.9831487.