Mentions légales du service

Skip to content
Snippets Groups Projects
Jason Gerard's avatar
Jason Gerard authored
Update README with steps for new INET version 4.5.2

See merge request !12
461f82e2
History

FLoRaSat

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.

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 juan.fraire@inria.fr 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.

image info

Features

(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
      • Class A (from FLoRa)
      • Class B (downlink beacon only, uplink TD)
      • Class C (TD)
      • Class S (time-slotted Class B extension, downlink beacon only, uplink TD)
      • FSA Frame-Slotted ALOHA Game (leveraging network size estimation)
      • ADR (TD)
    • MAC/PHY: LR-FHSS (UD)
  • 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
      • Delay-Tolerant routing
        • CGR based on Rev 17 from DtnSim (UD by S. Montoya)
        • Contact Plan generation (TD by S. Montoya)
        • Storage model (UD by S. Montoya)
  • 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)

Installation

  1. Install OpenSSL with sudo apt-get install libssl-dev

  2. Install OMNeT++6.0.2. Tips:

    • Set the omnetpp environment permanently with echo '[ -f "$HOME/omnetpp-6.0.2/setenv" ] && source "$HOME/omnetpp-6.0.2/setenv"' >> ~/.profile

    • Remember to compile with make -j8 to take advantage of multiple processor cores

    • If **ERROR: HOME/omnetpp-6.0.2/bin is not in the path!**, add it by adding `export PATH=HOME/omnetpp-6.0.2/bin:$PATH` in your .bashrc or .zshrc

    • If ERROR: make: xdg-desktop-menu: No such file or directory do sudo apt install xdg-utils

  3. Launch omnetpp from the terminal with omnetpp and choose a workspace for project (default is $HOME/omnetpp-6.0.2/samples)

  4. Go to Help >> Install Simulation Models... menu and install *INETv4.5.2 in the workspace

  5. Clone https://gitlab.inria.fr/jfraire/florasat.git in the workspace

  6. Add INETv4.5.2 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.5.2 or directly adding export INET_ROOT=$HOME/omnetpp-6.0.2/samples/inet4.5.2 to your .bashrc or .zshrc

  7. In omnetpp go to File >> Open Projects from File System and add florasat project to the workspace

  8. Right-click florasat project and go to Properties, under Project References select inet4.5.2 (only)

  9. Finally, right-click florasat and Build Project

Execution

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