Skip to content
Snippets Groups Projects
Commit 99eea897 authored by Didier Donsez's avatar Didier Donsez
Browse files

complete specifications.md

parent 0e784161
No related branches found
No related tags found
No related merge requests found
# Specifications # LoRa Gateway Positioning :: Specifications
## Project Context ## Project Context
The objective of this project is to explore and implement an automatic and corrective positioning system for LoRa stations using geolocation through multiple technologies: WiFi, cellular, BLE (Bluetooth Low Energy), and LoRa itself. This approach will address the network’s adaptability and accuracy needs while considering environmental conditions and topological constraints.
This project takes place in a context where optimizing LPWAN (Low Power Wide Area Network) networks is a key challenge for IoT (Internet of Things) applications. By dynamically improving the positioning of LoRa stations, it is possible to enhance network efficiency, optimize energy consumption, and ensure more reliable coverage for various use cases, particularly in urban and rural environments. The objective of this project is to explore and implement an automatic and corrective positioning system for LoRa gateways using geolocation through multiple technologies: WiFi, Cellular, BLE (Bluetooth Low Energy), and LoRa TDOA itself. This approach will address the network’s adaptability and accuracy needs while considering environmental conditions and topological constraints.
Moreover, it enables to check if the GNSS module of an outdoor gateways (used for positioning and fine timestamping) is not jammed or spoofed by an attacker.
This project takes place in a context where optimizing LPWAN (Low Power Wide Area Network) networks is a key challenge for IoT (Internet of Things) applications.
By dynamically improving the positioning of LoRa stations, it is possible to enhance network efficiency, optimize energy consumption, and ensure more reliable coverage for various use cases, particularly in urban and rural environments.
## Project's Needs ## Project's Needs
The goal of our project is to enable a device equipped with a LoRa communication module to determine its exact position at any time. To achieve this, we need to enhance ChirpStack by adding a microservice that will handle device localization requests. Specifically, when a device requests its position, ChirpStack will:
1. Query its own database to retrieve available information on this device
2. Consult the BeaconDB database (which we identified to inform us about network positions) for additional reference points. The goal of our project is to enable a LoRa station to determine its pretty-good position at any time.
To achieve this, we need
* to enhance gateways firmware for searching for Wifi networks and BLE beacons in its vicinity.
* to enhance ChirpStack by adding a microservice that supervizes gateway positionning.
Specifically, when a device requests its position, ChirpStack will:
3. Perform data consistency checks between these sources and what the device informs to refine the position. * 1. Query its own database to retrieve available information on this device
* 2. Consult the BeaconDB database (which we identified to inform us about network positions) for additional reference points.
* 3. Perform data consistency checks between these sources and what the device informs to refine the position.
![Texte alternatif](Bc2Su3HN.jpeg) ![Texte alternatif](Bc2Su3HN.jpeg)
...@@ -27,14 +38,32 @@ To successfully carry out this project, several resources are required: ...@@ -27,14 +38,32 @@ To successfully carry out this project, several resources are required:
## Steps to follow ## Steps to follow
The following steps outline the process for completing the project: The following steps outline the process for completing the project:
1. Understand ChirpStack: Familiarize with the ChirpStack ecosystem and its functionalities.
2. Microservice/Device Communication: Establish communication between microservices and devices. ### Sprint 1:
1. Understand, test and document Wifi location
2. Understand, test and document Location Services (suck as [Mozilla Location Service (MLS)](https://en.wikipedia.org/wiki/Mozilla_Location_Service), Google Location Service ...) open source or proprietary
3. Understand, test and document BLE Beacon location (Apple, Android)
4. Understand, test and document the ChirpStack REST API for getting/setting gateways position
5. Understand the internal ChirpStack v3 gateways discovery service https://forum.chirpstack.io/t/gateway-ping-discovery-in-v4/14622
6. Understand, test and document the proof of coverage utility (should become a microservice)
7. Understand, test and document the TDOA and Semtech Cloud location service
### Sprint 2:
1. refactor the proof of coverage utility as microservice using the Chirpstack API (using tags set and get)
* list of gateways tags to get(`x-gwloc.poc.enable`, ...)
* list of gateways tags to set (`x-gwloc.position`, `x-gwloc.position_source`, `x-gwloc.position_time`,`x-gwloc.position_accuracy`,`x-gwloc.poc.appid`,`x-gwloc.poc.deveui`, ...)
6. Microservice/Device Communication: Establish communication between microservices and devices.
7. Develop the Probe: Implement functionality to scan surrounding WiFi networks.
8. Query ChirpStack’s LoRa Position Database: Retrieve positioning data from ChirpStack’s database.
9. Process Positioning Data: Analyze and process the collected positioning data.
10. Store Metadata: Save metadata for future analysis and optimization.
3. Develop the Probe: Implement functionality to scan surrounding WiFi networks. ### Sprint 3:
3. Query ChirpStack’s LoRa Position Database: Retrieve positioning data from ChirpStack’s database. TBC
4. Process Positioning Data: Analyze and process the collected positioning data.
5. Store Metadata: Save metadata for future analysis and optimization.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment