Road Conditions - Android-mobiilisovellus
Riivari, Joonas (2025)
Riivari, Joonas
2025
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025120833518
https://urn.fi/URN:NBN:fi:amk-2025120833518
Tiivistelmä
Opinnäytetyön tavoitteena oli kehittää toiminnallinen Android-mobiilisovellus,jonka avulla pystyisi keräämään, käsittelemään ja visualisoimaan tietoa ajoteiden epätasaisuuksista sovelluksesta löytyvään Google Maps -karttaan. Sovellus toteutettiin Googlen kehittämällä Android Studio -ohjelmistoympäristössä Kotlinohjelmointikielellä.
Sovellus hyödyntää Googlen Activity Recognition Transition -rajapintaa ja pyrkii ensiksi havaitsemaan käyttäjän ajotilaan siirtymisen, jonka jälkeen sovellus siirtyy töyssyjen tunnistustilaan. Sovellus käyttää puhelimen kiihtyvyysanturia huomatakseen ajon aikana havaitut töyssyt. Kun puhelin ajon aikana riittävässä vauhdissa heilahtaa, sovellus tulkitsee sen ajotien epätasaisuutena ja lähettää siitä dataa Microsoft Azure -pilvipalvelussa ylläpidettyyn MongoDB-tietokantaan.
Sovelluksen palvelinpuoli on toteutettu ohjelmistokehitysyritys JetBrainsin kehittämällä Ktor-kehyksellä, jolla on varsin yksinkertaista toteuttaa eri palvelinpuolen ratkaisua Kotlin-ohjelmointikieltä hyödyntäen.
Opinnäytetyön tuloksena syntyi toimiva perusdemoratkaisu, joka osoittaa, että älypuhelimien antureilla kerätty data yhdistettynä moderniin pilvi-infrastruktuuriin voi tarjota kustannustehokkaan tavan seurata ajoteiden kuntoa. Ratkaisua voidaan edelleen kehittää muun muassa analysoimalla mittausdataa laajemmin, parantamalla epätasaisuuksien tunnistusalgoritmia ja hyödyntämällä tuloksia infrastruktuurin kunnossapidon tukena.
Sovellus hyödyntää Googlen Activity Recognition Transition -rajapintaa ja pyrkii ensiksi havaitsemaan käyttäjän ajotilaan siirtymisen, jonka jälkeen sovellus siirtyy töyssyjen tunnistustilaan. Sovellus käyttää puhelimen kiihtyvyysanturia huomatakseen ajon aikana havaitut töyssyt. Kun puhelin ajon aikana riittävässä vauhdissa heilahtaa, sovellus tulkitsee sen ajotien epätasaisuutena ja lähettää siitä dataa Microsoft Azure -pilvipalvelussa ylläpidettyyn MongoDB-tietokantaan.
Sovelluksen palvelinpuoli on toteutettu ohjelmistokehitysyritys JetBrainsin kehittämällä Ktor-kehyksellä, jolla on varsin yksinkertaista toteuttaa eri palvelinpuolen ratkaisua Kotlin-ohjelmointikieltä hyödyntäen.
Opinnäytetyön tuloksena syntyi toimiva perusdemoratkaisu, joka osoittaa, että älypuhelimien antureilla kerätty data yhdistettynä moderniin pilvi-infrastruktuuriin voi tarjota kustannustehokkaan tavan seurata ajoteiden kuntoa. Ratkaisua voidaan edelleen kehittää muun muassa analysoimalla mittausdataa laajemmin, parantamalla epätasaisuuksien tunnistusalgoritmia ja hyödyntämällä tuloksia infrastruktuurin kunnossapidon tukena.
