Loraenergysim
Das Rahmen besteht aus drei Hauptkomponenten, dh, Knoten, einer Luftschnittstelle und einem Gateway. Die Knoten senden Nachrichten über die Luftschnittstelle an das Gateway. Kollisionen und schwache Nachrichten werden in der Luftschnittstellenkomponente erkannt. Die nicht geündeten und starken Pakete werden an das Gateway geliefert, während eine Downlink -Nachricht geplant wird, wenn sie vom Knoten angefordert werden.

Wie zitiere ich?
@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},
} Andere Veröffentlichungen:
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.
Wie benutze ich?
Die Quelle des Frameworks befindet sich im Framework . Der Simulations enthält einige Beispiele.
Allgemeiner Workflow
Um verschiedene settings/configurations zu vergleichen, ist es unbedingt erforderlich, dass die Stellen der Knoten für alle Simulationen gleich sind. Daher ist eine Datei generate_locations.py in den Beispielen enthalten.
Workflow:
- Definieren Sie Ihre Einstellungen für eine Simulationsumgebung, z. B. den Spreizfaktor, die Simulationsdauer (Echtzeit) in der GlobalConfig-Datei
- Generieren Sie Ihre Standorte hier. Es wird die in der GlobalConfig -Datei definierten Einstellungen verwendet.
- Erstellen Sie eine
Simulation.py -Datei, wie hier detailliert.
Generieren Sie Knotenorte
Konfigurierbare Parameter:
- Anzahl der Standorte, dh Anzahl der IoT -Knoten
- Zellgröße ist die Zelle hier ein rechteckiger Bereich. Die Zellgröße bestimmt die Länge der Kanten in Metern
- Anzahl der Monto-Carlo-Simulationen, die ausgeführt werden sollen. Da die Simulation ein zufälliges und nicht determinstisches Verhalten und unterschiedliche Standortsätze enthält, hat die Mittelung der Ergebnisse über mehrere Simulationen eine statistischere Bedeutung.
Für jede Simulation wird ein zufälliger Satz von Stellen im Bereich im Bereich erzeugt und in der location_file gespeichert, die in der Datei GlobalConfig.py definiert ist.
Simulation
In der Simulationsdatei verwenden Sie die Bausteine im Framework, um eine bestimmte Umgebung zu simulieren und Ergebnisse wie die verbrauchte Energie und die Anzahl der Collided -Nachrichten zu erzielen. Siehe Abschnitt Framework (unten) für konfigurierbare Parameter und Ausgabe. Bitte beachten Sie die Kommentare in der Example>simulation.py zum Schreiben einer Simulationsdatei. In simulation.py Sie die Stellen laden, geben Sie das Objekt an, um die Ergebnisse zu halten, und geben Sie an, was Sie simulieren möchten. In SimulationProcess wird die Simulation selbst ausgeführt. Das Gateway wird erstellt, die Knoten werden mit ihren LORA -Parametern und ihren Energieprofilen erzeugt. Danach wird die Simulation ausgeführt. Nach Abschluss einer Simulation werden die Ergebnisse aus den Objekten extrahiert und zurückgegeben, um in der simulation.py -Datei zu verwenden.
Das Projekt kann jetzt durch ausgeführtes zuerst generate_locations.py und dann simulation.py ausgeführt werden.
Rahmen
Bitte lesen Sie zuerst das Papier, um ein detaillierteres Verständnis des Rahmens in Bezug auf den Betrieb von Lorawan und die Einschränkungen zu haben.
Ausbreitungsmodell
Das Ausbreitungsmodell bestimmt, wie die Nachrichten von der Umgebung beeinflusst werden. Es prognostiziert den Pfadverlust, dh das Signal wird zwischen Sender und Empfänger für eine bestimmte Umgebung abgeschwächt. Die PropagationModel.py enthält (derzeit) zwei Implementierungen:
- Log Shadow Model oder Log-Distance Path Loss Loss-Modell, bei dem die Standardparameter auf dem Abgeordneten ITU-R P.2346-0 und J. Petajajarvi, K. Mikhaylov, A. Roivainen, T. Hanninen und M. Pettissalo, der Abdeckung der LPWANS: Range-Evaling und Kanal-Atemuktmodell für die Lora-Technologie, 2015-Technik, 2015, auf der LPWANS-Bewertung und Kanal-Atemuktmodell für die LORA-Technologie, 2015, basieren. (ITST), 2015, S. 55-59, doi: 10.1109/itst.2015.7377400.
- Kosten231, einschließlich weiterer Details zur Umwelt, z. B. Gebäudehöhen
SNR -Modell
Dieses Modell verwandelt die empfangene Signalstärke (RSS) mit der Methode rss_to_snr in ein Signal-Rausch-Verhältnis (SNR). In diesem Moment wird das Rauschen nur durch das thermische Rauschen beeinflusst. Dies führt zu (DB):
SNR = RSS - ( - 174 + 10 * log10 ( 125e3 ))
LORA -Parameter
Alle für das LORA -Protokoll (Lorawan) spezifischen Parameter und der gemessene Energieverbrauch im Zusammenhang mit diesen Parametern sind hier enthalten.
Lorapacket
Lorapackets werden über die Luftschnittstelle von den Knoten zum Gateway gesendet. LoRaPacket enthält eine Uplink- und Downlink -Nachrichtenklasse, einschließlich relevanter Metadaten und Informationen über den Zustand der Nachricht, z. B. empfangen, kollidiert, ...
Energieprofil
Die Energieprofilklasse enthält den Schlaf, Verarbeitung, Übertragung und empfangene Leistung eines Knotens. Dies kann für jeden Knoten unterschiedlich sein und in der simulation.py -Datei definiert werden.
Knoten
Die Knotenklasse enthält alle Informationen zum Stromverbrauch, die Anzahl der Nachrichten senden, Nutzlast senden, erneut übernommen. Ihr Verhalten wird in der Datei der simulation.py bestimmt.
Nach dem Ausführen der Simulation können Sie die folgende Iniformierung extrahieren:
-
energy_per_bit . Dies ist die Menge an Energieverbrauch, um ein Stück Daten zu senden -
transmit_related_energy_per_bit . Dies enthält nur die Energieausgaben im Sendungsmodus. -
transmit_related_energy_per_unique_bit . Dies enthält nur die Energieausgaben im Sendungsmodus, und Tx'ed -Retanmissionen werden nicht gegen die übertragenen Bits gezählt -
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
} Luftschnittstelle
Die Luftschnittstelle erkennt Kollisionen und verändert das Lorapacket -Objekt, sodass der Knoten und der Gateway wissen, was während der Übertragung der Nachricht passiert ist. Es wird das verwendete Ausbreitungsmodell und das SNR -Modell verwendet, um festzustellen, ob die Übertragung erfolgreich war oder nicht.
Tor
Am Gateway wird der empfangene SNR überprüft und die Nachrichten unter dem erforderlichen Schwellenwert sind als schwach gekennzeichnet und nicht rx'ed. Das Gateway behandelt auch DL -Nachrichten, wenn sie vom Knoten angefordert werden.
Konfigurierbare Eigenschaften
- Energy_profile: EnergyProfile,
- lora_parameters,
- sleep_time,
- process_time,
- ADR,
- Standort,
- payload_size,
- bestätigt_messages = true
Was wird derzeit verfolgt
- 'WaitTimedc': Total_wait_time_because_dc
- 'Nodlreced': num_no_downlink,
- 'Uniquepackets': num_unique_packets_sent,
- 'TotalPackets': packets_sent,
- 'Collidedpackets': num_collided,
- 'Ransmittedpackets': num_retransmission,
- 'TotalBytes': bytes_sent,
- 'TotalEnergy': Total_energy_consumed (),
- 'Txrxenergy': sansmit_related_energy_consumed (),
Gemeinsame Fehler
F: Globaconfig, Standorte, ....
A: Stellen Sie sicher, dass die Ordner Framework und Simulationen als Quellwurzel gekennzeichnet sind. Für Pycharm klicken Sie mit der rechten Maustaste auf das Ordner> markieren
F: Keine Ausgabe in Ipython/Spyder
A: Der Code wird standardmäßig in Parralel ausgeführt und die STD -Ausgabe wird in diesem Fall nicht gut behandelt. Sie können den Code nacheinander ausführen, siehe die Kommentare in Beispiel/Simulation.py bezüglich der Funktion "Pool.Map" unten.
Akademische Arbeiten mit unserem Simulator
Zitiert in.
Simulator verwendet in:
- F. de Rango, D. Stumpo und A. Iera, "Interference Region Awesare Channel-Zuordnungen für ein skalierbares LORA-Netzwerk", 2024 International Conference über drahtlose und mobile Computing, Networking und Kommunikation (WIMOB), Paris, Frankreich, 2024, S. 19-24, Doi: 10.1109/Wimob61911.2024070310310310310.
- GL Scapin, G. Alvarez, N. Quiroga, F. Collado und Ja Fraire, "Leistungsbewertung von Lorawan DTS-IT-Netzwerken: Operation Modi und Server Placement", 2024 IEEE Biennale Kongress von Argentinien (Argumcon), San Nicolás de los Archnial, Argentina, 2024, 2024, PP. 10.1109/argencon62399.2024.10735884.
- Park, G., Lee, W. & Joe, I. (2020). Netzwerkressourcenoptimierung mit Verstärkungslernen für Netzwerke mit geringer Leistung. Eurasip Journal über drahtlose Kommunikation und Networking, 2020 (1), 1-20.
- L. Beltramelli, A. Mahmood, P. Österberg, M. Gidlund, P. Ferrari und E. Sisinni, "Energieeffizienz der geschlitzten Lorawan-Kommunikation mit Synchronisation außerhalb des Bandes" in IEEE-Transaktionen zu Instrumenten und Messungen, vol. 70, S. 1-11, 2021, Art Nr. 5501211, doi: 10.1109/tim.2021.3051238.
- Thoen B, Callebaut G, Leenders G, Wielandt S. Eine einsetzbare LPWAN-Plattform für kostengünstige und energiebeschränkte IoT-Anwendungen. Sensoren. 2019; 19 (3): 585. https://doi.org/10.3390/s19030585
- T. Fedullo, A. Morato, F. Tramarin, P. Bellagente, P. Ferrari und E. Sisinni, "Adaptive Lorawan-Übertragung Ausnutzung des Verstärkungslernens: The Industrial Case" 2021 IEEE International Workshop über die Metrologie für Industrie 4.0 und IOT (Metroind4.0 & IOT), ITALY, ITALY, ITALY, ITALY, 2021, 2021, PP. 671-676, Rome, Rom, Rom, Rom, Rom, Rom, Rom, Rom, Rom, Rom, Rom, Rom, 2021, 2021, S. 671-676, Rom, Rom, Rom, Rom, Rom, Rom, Rom, Rom, Rom, 2021, 2021, 2021, S. 671-676, Rom, Rom, Rom, Rom, Rom, Rom, Rom, Rom, Rom, Rom, 2021, 2021. 10.1109/metroind4.0iot51437.2021.9488498.
- Leenders G., Callebaut G., Ottoy G., Van der Perre L., De Strycker L. Ein energieeffizientes LORA-Multi-Hop-Protokoll durch Vorverstärkerprobenahme zur Fernerkundung. Sensoren. 2023; 23 (11): 4994. https://doi.org/10.3390/s23114994
- Acosta-Garcia, L., Aznar-Poveda, J., Garcia-Sanchez, AJ, Garcia-Haro, J. & Fahringer, T. (2023). Dynamische Übertragungsrichtlinie zur Verbesserung der LORA -Netzwerkleistung: Ein tiefer Verstärkungslernenansatz. Internet der Dinge, 24, 100974.
- G. Leenders, G. Ottoy, G. Callebaut, L. van der Perre und L. de Strycker, "Ein energieeffizienter Lora-Multi-Hop-Protokoll durch Präamble-Probenahme", 2023 IEEE Wireless Kommunikation und Networking-Konferenz (WCNC), Glasgow, Vereinigtes Königreich, 2023, PP. 1-6, DOI: 10.1109/WCNC55385.2023.10118770.
- E. Sisinni et al., "Eine neue adaptive Lorawan-Strategie für intelligente Messanwendungen", 2020 IEEE International Workshop für Metrologie für Industrie 4.0 und IoT, Roma, Italien, 2020, S. 690-695, Doi: 10.1109/Metroind4.0iot48571.2020.9138226.
- T. Fedullo, A. Mahmood, F. Tramarin, A. Morato, M. Gidlund and L. Rovati, "Exploiting Hybrid Medium Access Control and Relaying Strategies to Overcome Duty-Cycle Limitations in LoRa-Based Sensor Networks," 2023 IEEE International Instrumentation and Measurement Technology Conference (I2MTC), Kuala Lumpur, Malaysia, 2023, pp. 01-06, doi: 10.1109/i2mtc53148.2023.10176039.
- F. de Rango, A. Lipari, D. Stumpo und A. Iera, "Dynamischer Wechsel in Lorawan unter mehreren Gateways und starker Verkehrslast", 2021 IEEE Global Communications Conference (Globecom), Madrid, Spanien, 2021, S. 1-6, DOI: 10.1109/Globecom46510.2021.965009.
- D. Stumpo, F. de Rango, F. Buffone und M. Tropea, "Leistung des erweiterten Loraenergysim-Simulators bei der Unterstützung von Multi-Gateway-Szenarien und Interferenzmanagement", 2022 IEEE/ACM 26. Internationales Symposium für verteilte Simulation und Echtzeitanwendungen (DS-RT), ALès, Frankreich, 2022, 2022, 2022, 2022, 2022, 2022, 2022, S. 135-142, DO: 10.1109/ds-rt55542.2022.9932063.
- G. Callebaut, G. Ottoy und Lv d. Perre, "Übertragung von IoT-Knoten in dynamischen Umgebungen", 2020 Internationale Konferenz über Omni-Layer Intelligent Systems (Münzen), Barcelona, Spanien, 2020, S. 1-5, doi: 10.1109/Coins49042.2020.9191674.
- Križanović, V.; Grgić, K.; Spišić, J.; Žagar, D. Eine fortschrittliche energieeffiziente Umweltüberwachung in der Präzisionslandwirtschaft unter Verwendung von LORA-basierten drahtlosen Sensornetzwerken. Sensoren 2023, 23, 6332.
- Zhang, Jiyue. "Entwurfsrichtlinien eines Kommunikationsprotokolls mit geringer Leistung für Null -Energy -Geräte." (2023).
- Stumpo, Daniele, Floriano de Rango und Francesco Buffone. "Loraenergysim-Simulator erweitern, um Interferenzverwaltung unter Multi-Gateway-IoT-Szenarien zu unterstützen." (2022).
- T. Fedullo, A. Morato, F. Tramarin, P. Ferrari und E. Sisinni, "Smart Measurement Systems, die adaptiven Lorawan unter Stromverbrauchsbeschränkungen ausnutzen: Ein RL-Ansatz", 2022 IEEE International Workshop zu Metrologie für Industrie 4.0 und IOT (Metroind4.0 & IOT), Trento, Trento, Trento, Trento, 2022, 2022, 2022, PP. 10.1109/metroind4.0iot54413.2022.9831487.