Challenges of data collection: projects ProCem and CityIoT
Heikkilä, Ville (2024)
Heikkilä, Ville
2024
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2024-06-16
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202405216148
https://urn.fi/URN:NBN:fi:tuni-202405216148
Tiivistelmä
Today, there is an abundance of data available from various sources, both physical devices and digital services. These sources have a vast variety in data formats as well as in how the data can be accessed. This makes the data gathering process challenging, especially when combining data from multiple sources. This thesis provides a comprehensive study of the data gathering processes in two research projects, ProCem and CityIoT, at Tampere University. Both projects implemented a platform capable of collecting data from diverse data sources. The goal of the thesis is to analyse the platforms and to find out what worked well in each system. And at the same time, also to consider the platform based on the challenges faced in the projects and to identify what were the problematic aspects of the implemented data gathering systems. The final goal of the thesis is to list the main points that must be considered when implementing a data gathering system. To have a coherent structure for the analysis, a reference architecture for IoT platforms is used as the basis for the analysis of the implemented platforms.
The ProCem platform was built using custom self-made components, one adapter component for each data source, and a separate component to gather the data into one place. The CityIoT platform had a somewhat similar structure, but it utilized open-source FIWARE components at the core of the platform. Regardless of the data source, both platforms stored the data in a consistent format, though the used data models were different. Both platforms also provided a way for the applications to access the stored data, though in differing ways. The ProCem platform could handle large amounts of data, but had a cumbersome way to access it. The data collected by the CityIoT platform was easier to use in applications, but the platform could not handle quite as large data volumes as the ProCem platform.
The main learnings from the analysis of the platforms include that some domain knowledge is always required. It should also always be utilized whenever data is being handled, both when gathering the data and when using the data in an application. For the data gathering process, the domain knowledge will help to identify what data could be useful and whether the received values are valid. To help the users of the gathered data, the data should be stored in a consistent format and a way to access the data should be both consistent and convenient regardless of the data source. Security aspects and a way to limit the access to the data should always be considered, even if the initial data source would be in the public domain. And finally, the data gathering platform should have both high available and high reliability for it to be as useful as possible. Nykyään tietoa on saatavilla runsaasti eri lähteistä, sekä fyysisistä laitteista että digitaalisista palveluista. Näissä lähteissä on valtava valikoima erilaisia tietomuotoja ja tapoja, joilla dataan voi päästä käsiksi. Tämä tekee tiedonkeruuprosessista haastavan, etenkin kun yhdistetään useista lähteistä peräisin olevia tietoja. Tässä diplomityössä tutkitaan kattavasti tiedonkeruuprosesseja kahdessa Tampereen yliopiston tutkimusprojektissa, ProCem- ja CityIoT-projekteissa. Molemmissa projekteissa toteutettiin alusta, jolla pystyttiin keräämään dataa erilaisista tietolähteistä. Diplomityön tavoitteena oli analysoida alustoja ja selvittää, mikä kussakin järjestelmässä toimi hyvin. Ja samalla myös pohtia alustoja projekteissa kohdattuja haasteita ja niiden perusteella selvittää, mitkä olivat ongelmallisia seikkoja toteutetuissa tiedonkeruujärjestelmissä. Diplomityön lopullisena tavoitteena oli luetella tärkeimmät seikat, jotka on otettava huomioon tiedonkeruujärjestelmää toteutettaessa. Jotta analyysille saatiin yhtenäinen rakenne, toteutettujen alustojen analyysin pohjana käytettiin IoT-alustojen viitearkkitehtuuria.
ProCem-alusta rakennettiin käyttämällä mukautettuja itsetehtyjä komponentteja, yksi sovitinkomponentti kutakin tietolähdettä varten ja erillinen komponentti datan keräämiseksi yhteen paikkaan. CityIoT-alustan rakenne oli jokseenkin samanlainen, mutta siinä hyödynnettiin avoimen lähdekoodin FIWARE-komponentteja alustan ytimenä. Molemmat alustat tallensivat eri lähteistä peräisin olleet tiedot yhdenmukaisessa muodossa, vaikka käytetyt tietomallit olivatkin erilaisia. Molemmat alustat tarjosivat myös sovelluksille tavan käyttää tallennettuja tietoja, joskin eri tavoin. ProCem-alusta pystyi käsittelemään suuria tietomääriä, mutta sinne tallennetun datan käyttö oli hankalaa. CityIoT-alustan keräämiä datoja oli helpompi käyttää sovelluksissa, mutta alusta ei pystynyt käsittelemään yhtä suuria tietomääriä kuin ProCem-alusta.
Alustojen analyysin tärkeimpiä opetuksia ovat muun muassa se, että aina tarvitaan jonkin verran asiantuntemusta dataan liittyvältä alalta. Sitä olisi myös hyödynnettävä aina, kun tietoja käsitellään, sekä kerättäessä tietoja että käytettäessä niitä sovelluksessa. Tiedonkeruuprosessin osalta asiantuntemus auttaa tunnistamaan, mitkä tiedot voisivat olla hyödyllisiä ja ovatko saadut arvot päteviä. Jotta kerättyjen tietojen käyttäjien tekemistä voitaisiin helpottaa, tiedot olisi tallennettava johdonmukaisessa muodossa, ja tietojen käyttötavan olisi oltava sekä johdonmukainen että kätevä riippumatta siitä, mistä lähteestä tiedot ovat peräisin. Tietoturva ja tapa rajoittaa tietojen saatavuutta olisi aina otettava huomioon, vaikka alkuperäinen tietolähde olisikin vapaasti käytettävissä. Lopuksi tiedonkeruualustan olisi oltava hyvin saatavissa ja luotettava, jotta siitä olisi mahdollisimman paljon hyötyä.
The ProCem platform was built using custom self-made components, one adapter component for each data source, and a separate component to gather the data into one place. The CityIoT platform had a somewhat similar structure, but it utilized open-source FIWARE components at the core of the platform. Regardless of the data source, both platforms stored the data in a consistent format, though the used data models were different. Both platforms also provided a way for the applications to access the stored data, though in differing ways. The ProCem platform could handle large amounts of data, but had a cumbersome way to access it. The data collected by the CityIoT platform was easier to use in applications, but the platform could not handle quite as large data volumes as the ProCem platform.
The main learnings from the analysis of the platforms include that some domain knowledge is always required. It should also always be utilized whenever data is being handled, both when gathering the data and when using the data in an application. For the data gathering process, the domain knowledge will help to identify what data could be useful and whether the received values are valid. To help the users of the gathered data, the data should be stored in a consistent format and a way to access the data should be both consistent and convenient regardless of the data source. Security aspects and a way to limit the access to the data should always be considered, even if the initial data source would be in the public domain. And finally, the data gathering platform should have both high available and high reliability for it to be as useful as possible.
ProCem-alusta rakennettiin käyttämällä mukautettuja itsetehtyjä komponentteja, yksi sovitinkomponentti kutakin tietolähdettä varten ja erillinen komponentti datan keräämiseksi yhteen paikkaan. CityIoT-alustan rakenne oli jokseenkin samanlainen, mutta siinä hyödynnettiin avoimen lähdekoodin FIWARE-komponentteja alustan ytimenä. Molemmat alustat tallensivat eri lähteistä peräisin olleet tiedot yhdenmukaisessa muodossa, vaikka käytetyt tietomallit olivatkin erilaisia. Molemmat alustat tarjosivat myös sovelluksille tavan käyttää tallennettuja tietoja, joskin eri tavoin. ProCem-alusta pystyi käsittelemään suuria tietomääriä, mutta sinne tallennetun datan käyttö oli hankalaa. CityIoT-alustan keräämiä datoja oli helpompi käyttää sovelluksissa, mutta alusta ei pystynyt käsittelemään yhtä suuria tietomääriä kuin ProCem-alusta.
Alustojen analyysin tärkeimpiä opetuksia ovat muun muassa se, että aina tarvitaan jonkin verran asiantuntemusta dataan liittyvältä alalta. Sitä olisi myös hyödynnettävä aina, kun tietoja käsitellään, sekä kerättäessä tietoja että käytettäessä niitä sovelluksessa. Tiedonkeruuprosessin osalta asiantuntemus auttaa tunnistamaan, mitkä tiedot voisivat olla hyödyllisiä ja ovatko saadut arvot päteviä. Jotta kerättyjen tietojen käyttäjien tekemistä voitaisiin helpottaa, tiedot olisi tallennettava johdonmukaisessa muodossa, ja tietojen käyttötavan olisi oltava sekä johdonmukainen että kätevä riippumatta siitä, mistä lähteestä tiedot ovat peräisin. Tietoturva ja tapa rajoittaa tietojen saatavuutta olisi aina otettava huomioon, vaikka alkuperäinen tietolähde olisikin vapaasti käytettävissä. Lopuksi tiedonkeruualustan olisi oltava hyvin saatavissa ja luotettava, jotta siitä olisi mahdollisimman paljon hyötyä.