This shows you the differences between two versions of the page.
iothings:proiecte:2022:gnsslandsurvey [2023/01/19 18:32] alexandru.apostol |
iothings:proiecte:2022:gnsslandsurvey [2023/01/20 11:22] (current) alexandru.apostol |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== GNSS receiver for land surveying based on ESP32 ==== | + | ====== GNSS receiver for land surveying based on ESP32 ====== |
Student: Alexandru Rares Apostol, ACES\\ | Student: Alexandru Rares Apostol, ACES\\ | ||
+ | Master: ACES | ||
- | === 1. Introduction === | + | ====== 1. Introduction ====== |
The purpose of this project involves the development of a GNSS receiver for land surveying applications. The receiver will provide accurate positioning on-site and provide a user friendly application for viewing the generated perimeters. All these features will be available at the press of a button, where the precise position will be stored in a database. | The purpose of this project involves the development of a GNSS receiver for land surveying applications. The receiver will provide accurate positioning on-site and provide a user friendly application for viewing the generated perimeters. All these features will be available at the press of a button, where the precise position will be stored in a database. | ||
- | === 2. Hardware === | + | ====== 2. Hardware ====== |
The hardware components needed for this project are: | The hardware components needed for this project are: | ||
* 1 x ESP32 | * 1 x ESP32 | ||
Line 21: | Line 22: | ||
Fig. 2.1. - Overview | Fig. 2.1. - Overview | ||
- | {{:iothings:proiecte:2022:electronicdiagramlandsurvey.png?400|}} | + | {{:iothings:proiecte:2022:electronicdiagramlandsurvey.png?600|}} |
Fig. 2.2 - Electronic Diagram | Fig. 2.2 - Electronic Diagram | ||
- | === 3. Software === | + | ====== 3. Software ====== |
The following flowchart of the software architecture shows the states and transitions which the application will execute. Initially, the application configures the required peripherals and I/Os and then performs updates on the incoming NMEA sentences. When an interrupt is detected on the designated digital I/O pins, the application performs additional instructions in which it constructs the GeoJSON and sends it to the remote database. | The following flowchart of the software architecture shows the states and transitions which the application will execute. Initially, the application configures the required peripherals and I/Os and then performs updates on the incoming NMEA sentences. When an interrupt is detected on the designated digital I/O pins, the application performs additional instructions in which it constructs the GeoJSON and sends it to the remote database. | ||
Line 123: | Line 124: | ||
Subsequently, after the data has been added to the database, a React application has been included in order to properly view the inputted data and verify the obtained perimeters overlayed on the Open Street Map. | Subsequently, after the data has been added to the database, a React application has been included in order to properly view the inputted data and verify the obtained perimeters overlayed on the Open Street Map. | ||
- | {{:iothings:proiecte:2022:frontendlandsurvey.png?800|}} | + | {{:iothings:proiecte:2022:frontendlandsurvey.png?700|}} |
| | ||
- | === 4. Challenges === | + | ====== 4. Challenges ====== |
The main challenge in this project was that the React frontend required a certain type of JSON, so multiple changes had to be made in order for it to work. Also in the frontend, in order to represent the pins as a perimeter, multiple Open Street Map overlays had to be implemented and used (it is also the reason why the pins are editable via the map). | The main challenge in this project was that the React frontend required a certain type of JSON, so multiple changes had to be made in order for it to work. Also in the frontend, in order to represent the pins as a perimeter, multiple Open Street Map overlays had to be implemented and used (it is also the reason why the pins are editable via the map). | ||
- | === 5. Conclusions === | + | ====== 5. Conclusions ====== |
The approach is feasible as the only on-site constraint is the availability of the wireless connection and the internet is becoming available worldwide due to the emerging Starlink. It still requires more user-friendly interactions, but this proof of concept is enough to validate this application type. | The approach is feasible as the only on-site constraint is the availability of the wireless connection and the internet is becoming available worldwide due to the emerging Starlink. It still requires more user-friendly interactions, but this proof of concept is enough to validate this application type. | ||
- | === 6. Resources === | + | ====== 6. Resources ====== |
https://www.beyondlogic.org/ansi-c-basic-lightweight-nmea-parser-for-gps/ | https://www.beyondlogic.org/ansi-c-basic-lightweight-nmea-parser-for-gps/ | ||
https://randomnerdtutorials.com/esp32-firebase-realtime-database/ | https://randomnerdtutorials.com/esp32-firebase-realtime-database/ | ||
+ | |||
+ | Software source + Demo video | ||
+ | [[https://github.com/raresapostol/IoT-GNSSLandSurvey]] |