GPS-paikannus käyttäen ESP32-mikro-ohjainta
Eklund, Johanna (2025)
Eklund, Johanna
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202504106123
https://urn.fi/URN:NBN:fi:amk-202504106123
Tiivistelmä
Tämän opinnäytetyön päätarkoituksena oli luoda GPS-paikannusohjelmisto käyttäen ESP32-mikro-ohjainta. ESP32-mikro-ohjain haluttiin ohjelmoida keräämään ja käsittelemään NMEA-dataa. Tämä data oli tarkoitus saada Neo-6M-GPS-moduulilta UART-portin kautta. Käsiteltyjä tietoja haluttiin käyttää sijaintitietojen piirtämiseen kartalle käyttäen kartta-alustaa. Kartta haluttiin toteuttaa käyttämällä React- ja Leaflet-kirjastoa.
Tämän työn koodaus tehtiin osissa, ja jokaisen muutoksen jälkeen testattiin muutokset toimiviksi. Toimiviksi muutokset voitiin todeta, kun virheilmoitukset oli korjattu. Ensin luotiin ESP32-mikro-ohjain ohjelmisto, joka käsittelee paikannusdataa ja luo HTTP-palvelimen, josta data on saatavilla. Toinen osa työstä oli luoda Reactia käyttäen sovellus, joka hakee sijaintitiedot HTTP-palvelimelta. Tämän jälkeen sovellus piirtää saadun datan kartalle.
Ongelmia tuotti laitteiston toimimattomuus, kun Neo-6M-moduulilta ei tullut haluttua dataa. Tätä ongelmaa ei pystytty korjaamaan. Muut työssä kohdatut ongelmat pystyttiin ratkaisemaan virheenkorjauksella. Näitä ongelmia olivat ESP32-mikro-ohjaimen WiFi-yhteyden aikakatkaisu sekä muistin korruptoituminen ja CORS-pyynnöt. Reactin puolelta täytyi korjata virheellisen datan käsittely sekä ajastukset.
Opinnäytetyön lopputuloksena saatiin kartta, joka esittää ESP32:n lähettämät sijaintitiedot reaaliaikaisesti. ESP32 ohjelmoitiin simuloimaan paikannusdataa, joka lähetettiin React-sovelluksen saataville. React-sovellus käsitteli ja piirsi koordinaatit karttaan käyttäen Leaflet-kirjastoa.
Tämän työn koodaus tehtiin osissa, ja jokaisen muutoksen jälkeen testattiin muutokset toimiviksi. Toimiviksi muutokset voitiin todeta, kun virheilmoitukset oli korjattu. Ensin luotiin ESP32-mikro-ohjain ohjelmisto, joka käsittelee paikannusdataa ja luo HTTP-palvelimen, josta data on saatavilla. Toinen osa työstä oli luoda Reactia käyttäen sovellus, joka hakee sijaintitiedot HTTP-palvelimelta. Tämän jälkeen sovellus piirtää saadun datan kartalle.
Ongelmia tuotti laitteiston toimimattomuus, kun Neo-6M-moduulilta ei tullut haluttua dataa. Tätä ongelmaa ei pystytty korjaamaan. Muut työssä kohdatut ongelmat pystyttiin ratkaisemaan virheenkorjauksella. Näitä ongelmia olivat ESP32-mikro-ohjaimen WiFi-yhteyden aikakatkaisu sekä muistin korruptoituminen ja CORS-pyynnöt. Reactin puolelta täytyi korjata virheellisen datan käsittely sekä ajastukset.
Opinnäytetyön lopputuloksena saatiin kartta, joka esittää ESP32:n lähettämät sijaintitiedot reaaliaikaisesti. ESP32 ohjelmoitiin simuloimaan paikannusdataa, joka lähetettiin React-sovelluksen saataville. React-sovellus käsitteli ja piirsi koordinaatit karttaan käyttäen Leaflet-kirjastoa.