Sovellus ilmastodatan tietokantaan tallentamista varten
Känsälä, Jussi (2010)
Känsälä, Jussi
Metropolia Ammattikorkeakoulu
2010
Creative Commons Attribution-NonCommercial-NoDerivs 1.0 Suomi
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2010052710705
https://urn.fi/URN:NBN:fi:amk-2010052710705
Tiivistelmä
Tässä insinöörityössä kehitettiin huoneistoilmastodatan keräävä ja tietokantaan tallentava sovellus Metropolia Ammattikorkeakoululle Save Energy -projektin Helsinki-pilottia varten. Projektin tavoite on muuttaa kuluttajien energiankulutustapoja säästeliäämmiksi opastamalla heitä vinkeillä sekä näyttämällä heille mittaustuloksiin pohjautuvaa vertailutietoa. Työhön kuului myös itse tietokannan rakenteen suunnittelu. Kyseinen projekti on puoliksi Euroopan komission rahoittama.
Sovelluksen tuli kyetä lukemaan erilaisilta mittauslaitteilta lukemia ja tallettamaan ne SQL-relaatiotietokantaan. Sovellus ei ota kantaa mittalaitteiden tyyppiin, vaan se mikä merkitsee, on millä fyysisellä väylällä ja millä ohjelmistorajapinnalla laitteeseen pääsee käsiksi. Sovellukseen ei ollut tarvetta asettaa ehdotonta rajaa tuettaville tai ajon aikana luettaville laitteille, mutta koska tiedot luetaan säännöllisin väliajoin, on laitteita kyettävä lukemaan näiden mittaustapahtumien välissä.
Sovelluksen on tarkoitus olla jatkuvasti ajossa helposti siirrettävissä olevassa laitteessa, kuten lähiverkkoreitittimessä, johon on asennettu Linux-jakelu OpenWrt. Kun huomioon ottaa myös sen, että laite viedään toisen organisaation kiinteistöihin palomuurin taakse, ei kannattanut odottaa etähallinnan olevan mahdollista. Tämä oli luonnollisesti huomioitava sovelluksen suunnittelussa.
Sovellus suunniteltiin astah* community UML -suunnittelutyökalulla ja toteutettiin Vim-tekstieditorilla C++-ohjelmointikielellä. Ohjelmointivirheiden etsinnässä käytettiin apuna Valgrindia. Tietokantarakenne luotiin Microsoft Visio 2003 -kaavioeditorilla.
Työn tuloksena on toimiva ja tarpeeseen sopiva sovellus, jonka voisi suunnitella ja toteuttaa uusiksi projektin nykytilannetta tarkastellessa. Lähtöajatus oli, että tehdään sovellus, jolla periaatteessa pystyisi hakemaan kaikista pilotin järjestelmistä tietoa. Kuitenkin vain kaksi laitteista on sellaisia, joille on mielekästä toteuttaa tuki. Nopeampaa olisi kehittää komentosarja ajamaan sovelluksen tehtävää kutsuen pieniä laitekohtaisia sovelluksia tiedonhaussa ja lähettämään data yksiselitteisessä muodossa eteen päin.
Sovelluksen tuli kyetä lukemaan erilaisilta mittauslaitteilta lukemia ja tallettamaan ne SQL-relaatiotietokantaan. Sovellus ei ota kantaa mittalaitteiden tyyppiin, vaan se mikä merkitsee, on millä fyysisellä väylällä ja millä ohjelmistorajapinnalla laitteeseen pääsee käsiksi. Sovellukseen ei ollut tarvetta asettaa ehdotonta rajaa tuettaville tai ajon aikana luettaville laitteille, mutta koska tiedot luetaan säännöllisin väliajoin, on laitteita kyettävä lukemaan näiden mittaustapahtumien välissä.
Sovelluksen on tarkoitus olla jatkuvasti ajossa helposti siirrettävissä olevassa laitteessa, kuten lähiverkkoreitittimessä, johon on asennettu Linux-jakelu OpenWrt. Kun huomioon ottaa myös sen, että laite viedään toisen organisaation kiinteistöihin palomuurin taakse, ei kannattanut odottaa etähallinnan olevan mahdollista. Tämä oli luonnollisesti huomioitava sovelluksen suunnittelussa.
Sovellus suunniteltiin astah* community UML -suunnittelutyökalulla ja toteutettiin Vim-tekstieditorilla C++-ohjelmointikielellä. Ohjelmointivirheiden etsinnässä käytettiin apuna Valgrindia. Tietokantarakenne luotiin Microsoft Visio 2003 -kaavioeditorilla.
Työn tuloksena on toimiva ja tarpeeseen sopiva sovellus, jonka voisi suunnitella ja toteuttaa uusiksi projektin nykytilannetta tarkastellessa. Lähtöajatus oli, että tehdään sovellus, jolla periaatteessa pystyisi hakemaan kaikista pilotin järjestelmistä tietoa. Kuitenkin vain kaksi laitteista on sellaisia, joille on mielekästä toteuttaa tuki. Nopeampaa olisi kehittää komentosarja ajamaan sovelluksen tehtävää kutsuen pieniä laitekohtaisia sovelluksia tiedonhaussa ja lähettämään data yksiselitteisessä muodossa eteen päin.