FLoRaSat (Framework for LoRa-based Satellite networks) is an Omnet++ based discrete-event simulator to carry out end-to-end satellite IoT simulations based on LoRa and LoRaWAN adaptations for the space domain.
A general introduction to the topic is provided in [1]. A description of the early realease of FLoRaSat can be found in [2]. Part of the tool is being developed in the context of the STEREO ANR project.
-
[1] Fraire, Juan A., et al. "Space-Terrestrial Integrated Internet of Things: Challenges and Opportunities." IEEE Communications Magazine (2022).
-
[2] Fraire, Juan A., et al. "Simulating LoRa-Based Direct-to-Satellite IoT Networks with FLoRaSat." 2022 IEEE 23rd International Symposium on a World of Wireless, Mobile and Multimedia Networks (WoWMoM). IEEE, 2022.
The FLoRaSat simulator is based on an extended version of FLoRa, leosatellites, OS3, and INET integrated in a single Omnet++ framework to provide an accurate simulation model for space-terrestrial integrated IoT.
Please consider the the simulator is under active development, and it should not be considered a final stable (or documented) version at the moment. Please reach us at [email protected] if interested in joining the developers team.
Currently, we support a single sample scenario comprising 16 satellites in a grid-like formation (realistic orbital parameters), passing over a circular region with up to 1500 nodes. However, some flexibility can already be leveraged based on the features listed below.
(UD = Under Development, TD = To-do roadmap)
-
Ground IoT Device
- Platform
- Energy model
- Clock drift model (TD)
- Localization model (TD)
- PHY: LoRa
- Free-Space channel model (from INET)
- Antena models (from INET: omni, monopole, parabolic, etc.)
- Sensitivity model
- Doppler effect model (available, but not integrated TD)
- Spreading Factors (configurable and fixed per node)
- Capture effect (TD)
- MAC: LoRaWAN
- MAC/PHY: LR-FHSS (UD)
- Platform
-
Satellite Gateway
- Platform
- Orbital propagation with SGP4 (LEO and GEO) (from leosatellites)
- Orbital propagation with SDP4 (GEO) (TD)
- Support for Keplerian orbital parameters
- Support for TLE (UD)
- Attitude control: Nadir-aligned
- Constellation creation (Walker Star and Walker Delta)
- EventModule (Scenario scripting, enable/disable ISL at given timestamps)
- Inter-Satellite Link
- Cabled (mimick P2P links)
- Radio (UD, draft version available)
- Topology control (UD)
- Dynamic link creation/destruction
- Constellation-based (constraints: ISL device status, satellite directions, is adjacent sat, latitude)
- Contact Plan-based (read from topology file)
- Dynamic link latency update
- Routing
- Generic routing interface (UD)
- Packet queue and configurable processing delay
- Mesh routing
- DisCoRoute (UD by R. Ohs)
- DDRA (UD by R. Ohs)
- Delay-Tolerant routing
- Platform
-
Ground Segment
- Ground Station-to-Satellite Link
- Cabled (mimick P2P links)
- Radio (TD)
- Topology control (UD)
- Dynamic link creation/destruction
- Constellation-based (constraints: min elevation)
- Contact Plan-based (read from topology file)
- Dynamic link latency update
- Internet
- From INET
- Network Server
- Lora/LoRaWAN Network server (from FLoRa)
- Ground Station-to-Satellite Link
-
Install OpenSSL with
sudo apt-get install libssl-dev
-
Install OMNeT++6.0.1. Tips:
-
Set the omnetpp environment permanently with
echo '[ -f "$HOME/omnetpp-6.0.1/setenv" ] && source "$HOME/omnetpp-6.0.1/setenv"' >> ~/.profile
-
Remember to compile with
make -j8
to take advantage of multiple processor cores -
If ERROR: /home/diego/omnetpp-6.0.1/bin is not in the path!, add it by entering
export PATH=$HOME/omnetpp-6.0.1/bin:$PATH
-
If ERROR: make: xdg-desktop-menu: No such file or directory do
sudo apt install xdg-utils
-
-
Launch omnetpp from the terminal with
omnetpp
and choose a workspace for project (default is$HOME/omnetpp-6.0.1/samples
) -
Go to Help >> Install Simulation Models... menu and install INETv4.3.x in the workspace
-
Clone
https://gitlab.inria.fr/jfraire/florasat.git
in the workspace -
Add INETv4.3 to the environment by executing florasat/setinet.sh passing the absolute path to the INET root directory, eg.
sh setinet.sh $HOME/omnetpp-6.0.1/samples/inet4.3
-
In omnetpp go to File >> Open Projects from File System and add florasat project to the workspace
-
Right-click florasat project and go to Properties, under Project References select inet4.3 (only)
-
Finally, right-click florasat and Build Project
Two scenarios are under development:
-
In
/simulations/satelliteradio
the satellites/gateways use radio modules for inter satellite communication. This functionality does not work yet but it is open for development -
In
/simulations/satellitewired
the satellites/gateways use direct links for inter satellite communication