Skip to content

Commit

Permalink
Merge branch 'master' of github.com:alexandervalach/lora-ap-sim
Browse files Browse the repository at this point in the history
  • Loading branch information
alexandervalach committed May 2, 2020
2 parents b8c73f1 + 9d54525 commit 3651ec6
Showing 1 changed file with 26 additions and 12 deletions.
38 changes: 26 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,30 @@ STIoT packet generator which simulates LoRa@FIIT wireless access point and LoRa@

## Supported features and TODO
### Access Points features

#### LoRa Concentrator Features Support
- [X] Pseudo-random RSSI, SNR generation
- [X] Sending frequency data to further improve channel utilization
- [X] Emergency message support
- [X] Sending frequency data in STIoT messages
- [X] Command line interface
- [X] Differentiate between static and mobile node parameter selection
- [X] Access Point duty cycle contraints and refresh
- [X] Multiaccess point command line usage
- [X] Fake non-blocking socket communication to improve scalability
- [ ] Non-blocking socket communication to improve scalability
- [ ] Collision simulation

### End nodes features
- [X] Duty cycle contraints and refresh

#### Thread-safe Features
- [X] Non-blocking socket communication to improve scalability
- [X] Thread-safe message queuing

#### QoS Support
- [X] Emergency message support
- [X] Priority queue for emergency messages

#### Collisions
- [X] Uplink collision simulation
- [X] Downlink collision simulation

### End Nodes Features
- [X] End node duty cycle constraints and refresh
- [X] Processing network data from network server to adapt communication parameters
- [X] Calculate time-on-air (TOA) for each message
- [ ] Data retransmission in case of collision
- [X] Data retransmission in case of collision
- [ ] Support for MABP statistical model and channel selection

## Command line interface
Expand All @@ -30,6 +38,7 @@ generator.py
```

### Single access point usage
Recommended approach.
Could be displayed by running main.py -h or main.py --help commands
```
main.py -i <access-point-id>
Expand All @@ -41,11 +50,16 @@ main.py -i <access-point-id>
-s, --shuffle - Shuffle list of end nodes
-f <file_path>, --file=<file_path> - Specify LoRa node id file
-b, --bandit - Activating bandit nodes support
-t, --test - Using test scenario for developing purposes
```

### Multi access point usage
Just run the file. It generates 10x[number of files] new access points.
This server as lightweight "non-blocking socket communication"
This usage is buggy and can cause memmory leaks.
Use at your own risk.
```
run.py
```

0 comments on commit 3651ec6

Please sign in to comment.