AS-0.3200 Automaatio- ja systeemitekniikan projektityöt: Sisäilman laadun mittausjärjestelmän rakentaminen ZigBee-verkon avulla Väliraportti Ari-Heikki Rintaniemi Joonas Sundberg 15. maaliskuuta 2011
Sisältö 1 Johdanto 2 2 Päämäärä ja tavoitteet 2 3 Toteutuksen laajuus ja työn ositus 4 3.1 Työn ositus............................ 4 3.2 Suoritusvaatimukset....................... 4 4 Projektiorganisaatio 5 5 Työskentely ja viestintä 5 6 Dokumentointi ja testaus 6 7 Ajankäyttö 6 7.1 Aikataulu............................. 6 7.2 Työvaiheet............................. 6 8 Riskienhallinta 8 Liitteet 10 A Kuvia järjestelmän komponenteista 10 1
1 Johdanto Huoneen sisäilman laatuun vaikuttaa useita tekijöitä, kuten muun muassa lämpötila, ilman liikenopeus, pienhiukkasten määrä, kosteus, kemialliset yhdisteet sekä hiilidioksidin määrä. Huoneiston ilmasto sisältää ilmanlaadun lisäksi sisätilojen valoisuuden ja äänitason. Sisäilmasto voidaan luokitella Sisäilmastoluokitus 2008 -oppaan mukaan kolmeen eri laatuluokkaan:[1] S1 Yksilöllinen sisäilmasto S2 Hyvä sisäilmasto S3 Tyydyttävä sisäilmasto. Ilmastoluokituksen tarkoituksena on toimia rakennus- ja taloteknisen suunnittelun ja urakoinnin apuna, kun tavoitteena on rakentaa viihtyisämpiä ja terveellisempiä rakennuksia. Luokituksella on merkittävä rooli esimerkiksi rakennusten energiatehokkuuden parantamisessa, jotta voidaan varmistaa, ettei energian säästämisellä heikennetä asumisolosuhteita. Tämän työn tarkoituksena on kehittää edelleen mittausjärjestelmää, jolla voidaan mitata osaa edellä mainituista tekijöistä ja mahdollisesti määritellä sisäilmaston laatuluokka. Projekti pohjautuu edellisten projektikurssien ryhmien toteuttamiin töihin. Ryhmät ovat kehittäneet järjestelmää, joka sisältää kotipalvelintietokoneen, langattoman ZigBee-verkon ja perusohjelmistot sekä mittalaitteiston mikrokontrollereineen ja antureineen. Järjestelmä sisältää myös kaksi pienempää satelliittimittausasemaa, jotka mittaavat ilmankosteutta ja lämpötilaa. Tässä kevään 2011 projektissa aiempien ryhmien käyttämä laitteisto kootaan uudelleen ja sen nykyinen toimintataso testataan. Järjestelmää kehitetään hyödyntäen edellisten ryhmien parannusehdotuksia sekä projektin ohjaajan näkemystä. Erityisesti projektin aikana on tarkoitus parantaa järjestelmän käyttöliittymää ja tietokantaa. Uusia antureita ei järjestelmään tulla projektin aikana lisäämään. Lisäksi tavoitteena on pohtia järjestelmän todellista käyttötarkoitusta ja konseptia tuotteistamisen näkökulmasta. Projektin väliraportti perustuu projektisuunnitelmaan ja muutokset suunnitelmaan nähden sekä projektin etenemisen raportointi on esitetty dokumentissa punaisella tekstillä. 2 Päämäärä ja tavoitteet Projektin päämääränä on rakentaa sisäilman laatua mittaava järjestelmä, joka koostuu huoneiston ilmastoa mittaavista antureista sekä keskuspalvelimesta. Antureiden keräämä tieto välitetään palvelimelle langattomasti ZigBeeverkon välityksellä. Keskuspalvelimena järjestelmässä toimii tavallinen PC, 2
jossa anturitieto prosessoidaan esitettäväksi web-pohjaisen käyttöliittymän kautta. Lisäksi tarkoituksena on toteuttaa SQL-tietokanta mittausdatan tallentamiseen. Projektin edetessä päädyttiin käyttämään ThereGate-palvelinta PC:n sijasta ja SQLite-tietokantaa. Toteutettava mittausjärjestelmä perustuu keväällä 2010 aloitettuun ja kesällä sekä syksyllä projektikurssin puitteissa kehitettyyn järjestelmään, jossa on valmiina mittaukset huoneilman lämpötilalle, kosteudelle, meluisuudelle, valoisuudelle, hiilidioksidille sekä pölyisyydelle. Olemassa oleva järjestelmä koostuu PC-palvelimesta sekä yhdestä anturiyksiköstä, joka sisältää kaikki mittaukset. Kommunikointi antureiden ja palvelimen välillä on toteutettu ZigBee-verkon avulla. Lisäksi järjestelmään on toteutettu web-pohjainen käyttöliittymä, joka mahdollistaa anturidatan piirtämisen kuvaajiin sekä historiadatan tarkastelun yksinkertaisten työkalujen avulla. Mittausjärjestelmä ei nykyisessä muodossaan sisällä varsinaista tietokantaa mittaustiedon tallentamiseen, vaan kerätty data säilötään käyttöliittymän käyttämiin JSONtiedostoihin. Aiemman projektiryhmän lisäämä pölyisyysmittaus todettiin liian epäluotettavaksi. Koodi on puutteellista, eikä ole edes varmaa se, että pystytäänkö anturia operoimaan mikrokontrollerin jännitteellä. Tästä syystä pölyisyysmittaus otettiin pois järjestelmästä. Pölyanturin käyttökuntoon laittaminen voi olla yksi työaihe tuleville projektikursseille. Valoisuusmittaukselle ei löytynyt mikrokontrollerikoodia ja anturin toimintaan saattaminen vaatisi niin ikään tarkempaa perehtymistä. Edellinen järjestelmää kehittänyt ryhmä nimesi raportissaan mahdollisiksi kehityskohteiksi järjestelmän käyttöliittymän siirtämisen LabViewpohjaiseksi, kuten projektissa aiemmin oli tarkoituksena, VOC-anturin (Volatile Organic Compund) lisäämisen orgaanisten yhdisteiden mittaamiseen huoneilmasta, järjestelmän hiukkasanturin luotettavuuden parantamisen ja langattoman viestiliikenteen kehittämisen. Ryhmä päätyi lisäämään ZigBeeverkon mikrokontrollerien määrää, sillä järjestelmä ei kyennyt käsittelemään kaikilta antureilta saatavia viestejä oikein yhdellä mikrokontrollerilla luultavasti puutteellisen jonotusrutiinin vuoksi. Myös meidän ryhmä törmäsi samaan ongelmaan. Kokeilimme käsitellä yhdellä mikrokontrollerilla lämpötilaa, kosteutta, ääntä ja hiilidioksidia yhtäaikaisesti, jolloin lämpötilamittaus tipahti pois. Ongelma lienee mikrokontrollerin koodissa. Tämän projektin keskeisenä tavoitteena on kehittää järjestelmää käytettävämmäksi, mikä aiotaan saavuttaa muun muassa lisäämällä anturiyksiköiden lukumäärää sekä kehittämällä käyttöliittymää ja anturidatan käsittelyä. Uusia mittauksia ei ole alustavan suunnitelman mukaan tarkoitus järjestelmään lisätä, vaan pyrkimyksenä on saattaa olemassa olevat, mutta järjestelmästä puuttuvat kaksi satelliittimittausasemaa toimintaan. Arvioimme webkäyttöliittymän soveltuvan sisäilmaston mittausjärjestelmän tarpeeseen hyvin kustannustehokkuutensa sekä joustavuutensa ansiosta, joten tarkoituksena on kehittää olemassa olevaa HTML/JavaScript-pohjaista käyttöliittymää edelleen lisäämällä siihen käyttäjää helpottavaa toiminnallisuutta. Valinta 3
myös pienentää projektin toteutukseen liittyviä riskejä, sillä ryhmässä on valmiiksi kokemusta vastaavanlaisesta web-ohjelmoinnista. Käyttöliittymän lisäksi tarkoituksena on kehittää antureilta saatavan datan hallintaa lisäämällä järjestelmään mahdollisesti SQL-pohjainen tietokanta. Mikrokontrollerien ohjelmiston jonotusrutiinin parantaminen on luultavasti niin työläs operaatio, ettei sitä tulla toteuttamaan kevään aikana. Projektin keskeisenä päämääränä on kehittää järjestelmän tuotekonseptia sekä pohtia reaalimaailman käyttötilanteita ja raportoida tuloksesta työn loppuraportissa. Anturiyksiköiden määrää on lisätty kahdella syksyn projektista puuttuneella satelliittianturilla, mutta keskusmittausaseman pölyisyys-/hiukkasanturi otettiin pois järjestelmästä sen epäluotettavuuden takia. Sateliittien löytymisen jälkeen niiden käyttökuntoon saattaminen tapahtui kohtuullisen helposti. Oleellista oli yhdistää mikrokontrollerin oikeat pinnit oikeisiin johtoihin. 3 Toteutuksen laajuus ja työn ositus 3.1 Työn ositus Työ voidaan jakaa seuraaviin osa-alueisiin: Olemassa olevaan järjestelmään tutustuminen Järjestelmän saattaminen toimintakuntoon ja testaaminen Puuttuvien satelliittiantureiden lisääminen Tietokannan lisääminen Käyttöliittymän kehittäminen Uuden järjestelmän testaaminen Uuden järjestelmän dokumentointi 3.2 Suoritusvaatimukset Ryhmän jäsenillä on erilaiset tarpeet kurssin opintopisteiden suhteen, mikä vaatii ylimääräistä suunnittelua työn osittamisen suhteen. Toinen opiskelijoista tarvitsee työstä neljä opintopistettä ja toinen vain kaksi, joten työ jaetaan yhteisesti toteutettavaan sekä toisen opiskelijan itsenäisesti toteuttamaan osaan. Alustavan suunnitelman mukaan projektin ydinosa muodostetaan laitteiston käyttökuntoon saattamisesta, puuttuvien anturiyksiköiden lisäämisestä sekä mittaustietokannan suunnittelusta ja toteutuksesta. Lisäksi projektin dokumentointi, tapaamiset ja kurssiin liittyvät muodollisuudet toteutetaan yhteistyönä. Ylimääräinen työn osuus on määrä muodostaa järjestelmän käyttöliittymän parantamisesta. Työn laajuus ja ositus opintopisteiden suhteen on esitetty taulukossa 1. 4
Taulukko 1: Työn laajuus opintopisteissä. Työ Työn laajuus - Laitteiston käyttökuntoon 2 opintopistettä/opiskelija saattaminen - Toimivien anturiyksiköiden Ari-Heikki Rintaniemi lisääminen järjestelmään Joonas Sundberg - Mittaustietokannan suunnittelu ja toteutus - Projektin dokumentointi - HTML/JavaScript-pohjaisen 2 opintopistettä käyttöliittymän parantaminen uusien toimintojen ja Joonas Sundberg käytettävyyden parantamisen kautta 4 Projektiorganisaatio Projektiryhmän muodostavat Joonas Sundberg ja Ari-Heikki Rintaniemi. Ryhmän jäsenten keskinäisiä projektivastuita ei ole eroteltu muuten kuin erilaisiin opintopistevaatimuksiin liittyen, sillä ryhmän koko on pieni ja koska ryhmän kokemus vastaavanlaisista projekteista on vähäinen. Projektin toteutukseen liittyvät päätökset tehdään yhdessä ryhmäläisten ja projektin ohjaajan kanssa. Projektin ohjaajana toimii Panu Harmo ja projektin toteutusta avustaa Anders Rex. 5 Työskentely ja viestintä Projekti toteutetaan pääasiallisesti TUAS-talon työhuoneessa, jossa myös projektin laitteisto sijaitsee. Ryhmä sopii säännöllisen viikottaisen ajan projektin parissa työskentelylle. Lisäksi projektiin liittyen järjestetään viikottain palaveri projektiryhmän ja ohjaajan välillä, jolloin ryhmä raportoi projektin etenemisen, mahdolliset ongelmat sekä muutokset suunnitelmassa. Projektin virallinen viestintä tapahtuu viikkopalaverien, yhdessä työskentelemisen ja sähköpostiviestinnän muodossa. Viikkopalavereista laaditaan pöytäkirjat. Lisäksi tarkoituksena on perustaa projektiryhmän käyttöön irc-kanava etänä tapahtuvaa työskentelyä varten. Tarvittaessa viestintä voidaan hoitaa myös puhelimitse. 5
6 Dokumentointi ja testaus Projektin kuluessa tuotetaan kurssilla määrätty pakollinen dokumentaatio, johon kuuluvat projektisuunnitelma, väliraportti ja loppuraportti sekä niihin liittyvät esitysmateriaalit. Väliraportti toteutetaan kirjaamalla suunnitelmaan esiin tulleet poikkeamiset kommenttien muodossa. Erityisesti huolehditaan eri työvaiheiden onnistumisen ja aikataulun pitävyyden dokumentoinnista. Lisäksi projektin aikana pidetyistä säännöllisistä viikkopalavereista laaditaan pöytäkirjat. Projektiin liitetään myös olemassa olevan laitteiston, lisättävien komponenttien sekä tietokannan ja käyttöliittymän dokumentaatio käyttöohjeineen. Vaaditut asiakirjat tallennetaan kurssin tarjoamalle wiki-sivulle sekä koko projektin kattava aineisto Automaatio- ja systeemitekniikan laitoksen BSCW-palvelimelle, josta löytyy myös järjestelmään liittyvien aiempien projektien dokumentaatio. Palvelimelle pääsy on ulkopuolisilta rajoitettu ja tarvittaessa aineistoa kannattaa tiedustella Panu Harmolta. Toteutetun järjestelmän toiminta pyritään varmistamaan yksittäisten laitteiden moduulitestauksilla sekä ohjelmiston yksikkötestauksella. Muita testaustyyppejä projektin aikana ovat moduulien liittämiseen liittyvät integraatiotestit sekä projektin lopuksi koko järjestelmälle tehtävä järjestelmätesti. Järjestelmän testaus ja tulokset esitetään tarkemmin projektin loppuraportissa. 7 Ajankäyttö 7.1 Aikataulu Projektin osasuorituksille on kurssin puitteissa määrätty seuraavat takarajat: 2.2 Projektisuunnitelman esittely 23.3 Väliraportin esittely 11.5 Loppuraportin esittely 18.5 Loppuraportin palautus Osasuorituksiin liittyvät dokumentit on palautettava kurssin wiki-sivulle 24 tuntia ennen suoritukseen liittyvää tapahtumaa. 7.2 Työvaiheet Taulukossa 2 on esitetty karkeasti työn ajankäytön suunnitelma viikon tarkkuudella. Työtunteihin on laskettu mukaan projektin hallintaan liittyvät toiminnat, kuten palaverit sekä raporttien esittelytilaisuudet. Työviikot on mitoitettu niin, että varsinaisen työn alettua viikosta käytetään 7 tuntia pro- 6
jektin parissa työskentelemiseen ilman raporttien esitystilaisuuksia. Näin laskettuna projektiin on varattu kaiken kaikkiaan 117 tuntia, mikä on enemmän kuin opintopistevaatimusten teoreettinen 108 tunnin työmäärä. Taulukossa projekti on ositettu osakokonaisuuksiinsa sekä kurssin asettamiin takarajoihin. Dokumentointi on projektin alusta loppuun asti jatkuva prosessi, eikä sitä ole eroteltu taulukon tapahtumissa. Työ pyritään saamaan kokonaisuudessaan valmiiksi loppuraportin esittelyyn mennessä viikolla 19. Ajankäyttöä seurataan projektin edetessä ja mahdollisista muutoksista aikatauluun raportoidaan työn ohjaajalle. Taulukko 2: Projektin viikkoaikataulu. Viikko Tapahtuma Työtunnit 3 Kurssin aloitus, aiheen valinta, 3 + 2 = 5 edellisen projektin dokumentointiin tutustuminen 4 Ensimmäinen viikkopalaveri, 6 laitteistoon tutustuminen, projektisuunnitelman laatiminen 5 Projektisuunnitelman esittely, 3 + 6 = 9 järjestelmään tutustuminen 6-11 Laitteiston toimintakuntoon saattaminen, 42 puuttuvien anturiyksiköiden lisääminen, testaus 12 Väliraportin esitys, käyttöliittymän 3 + 7 = 10 ja tietokannan suunnittelu 13-16 Käyttöliittymän ja tietokannan 28 toteutus 17-18 Järjestelmätestaus, 14 dokumenttien koostaminen 19 Loppuraportin esittely ja palautus 3 Yhteensä 117 Yllä esitetty aikataulu on väliraporttiin mennessä toteutunut hyvin. Laitteistoon liittyvä työ on pääosin saatu päätökseen ja laitteisto toimii yhdessä. Järjestelmään lisättiin kaksi syksyn projektista puuttunutta satelliittianturia, jotka toimivat paristoilla ja sisältävät Vaisalan HUMICAP-anturit lämpötilan ja kosteuden mittaukselle. Keskusmittausasemasta poistettiin huonosti toimiva hiukkasanturi, joten asemassa jäljellä on mittaukset lämpötilalle, kosteudelle, hiilidioksidille ja meluisuudelle. Lisäksi mikrokontrollerin regulaattori otettiin pois käytöstä sen viallisuuden vuoksi ja aseman molemmat mikrokontrollerit saavat virtansa paristoista. Muilta osin asema 7
on ennallaan. Projetin sovellusosuus on aloitettu ja järjestelmään on lisätty SQLite-tietokanta. Järjestelmä toimii tällä hetkellä ThereGate-palvelimessa. Web-käyttöliittymän suunnittelu on hyvällä mallilla ja HTML/PHP/Ajaxteknologioihin perustuvan käyttöliittymän rakentaminen on aloitettu. 8 Riskienhallinta Koska projekti järjestetään osana kurssia, projektille asetetuista takarajoista myöhästyminen ei ole käytännössä mahdollista ilman projektin totaalista epäonnistumista, joten riskivaikutus rajoittuu projektityön laatuun ja ajankäyttöön. Projektityön laatu puolestaan vaikuttaa suoraan projektiryhmän projektista ansaitsemiin opintopisteisiin ja kurssiarvosanaan. Väliraporttiin mennessä voidaan todeta, että projektiaikataulussa on pysytty varsin hyvin. Projektiin liittyvien riskien on katsottu joko lisäävän projektiin käytettyä aikaa (negatiivinen vaikutus) tai vähentävän sitä (positiivinen vaikutus). Riskien negatiivisten vaikutusten toteutumiseen voidaan vaikuttaa riskienhallinnalla. Suunnitelmavaiheessa on tunnistettu seuraavat projektin ajankäyttöön liittyvät riskit, niiden vaikutukset sekä mahdolliset hallintakeinot: 1. Kokemattomuus mikrokontrolleriohjelmoinnista ja ZigBeestä Vaikutus: keskinkertainen; negatiivinen Hallintakeinot: suunnittelu, yhteydenpito edelliseen projektiryhmään ja henkilökuntaan Mikrokontrollerien koodiin ei ole juurikaan tarvinnut kajota. Kokeilujen perusteella kaksi mikrokontrolleria todettiin rikinäisiksi, tämän havaitseminen vei kuitenkin aikansa, sillä vian luultiin olevan tehonsyötössä tai koodissa. ZigBee tuntuu toimivan melko hyvin, mitä nyt välillä jokin satelliitti saattaa hetkeksi kadota. 2. Olemassa olevan järjestelmän kunto Vaikutus: suuri; negatiivinen tai positiivinen Hallintakeinot: suunnittelu, yhteydenpito edelliseen projektiryhmään ja henkilökuntaan Keskusyksikön kunnossa ei ole kehumista, johtoviidakko on melkoinen ja osa johtojen liitoksista varsin mielenkiintoisia. Keskusyksikössä ollut regulaattori poistettiin tarpeettomana, sillä a) se ei toiminut vaan lähinnä ylikuumeni ja b) edellisesti johtuen mikrokontrollereiden teho otetaan paristoista. Työskentely-ympäristö ei ole paras mahdollinen, sillä valaistusta on vähän ja sekin vähä sammuilee itsekseen. Hämmennystä on aiheuttanut jonkin verran se, että järjestelmässä on edellisten ryhmien jäljiltä valaisuudentunnistin, mutta sen koodia ei ole löydetty ts. se ei toimi. 8
3. Tietokannan valinta ja toteutus Vaikutus: suuri; negatiivinen tai positiivinen Hallintakeinot: suunnittelu Andersin ehdottama SQLite vaikuttaa tällä hetkellä olevan varsin hyvä valinta ja Andersin avustuksella se saatiin pyörimään myös ThereGatessa. 4. Käyttöliittymän valinta ja toteutus Vaikutus: pieni; negatiivinen tai positiivinen Hallintakeinot: suunnittelu, yhteydenpito edelliseen projektiryhmään ja henkilökuntaan Käyttöliittymän suunnittelu ja toteutus on hyvässä vauhdissa, eikä tähän liittyen ole tarvinnut turvautua ulkopuoliseen apuun. Toteuttamisen puolesta käyttöliittymävalinta vaikuttaa tällä hetkellä onnistuneelta. 5. Projektiryhmän yhteistyö ja työskentelytapojen tehokkuus Vaikutus: suuri; negatiivinen tai positiivinen Hallintakeinot: suunnittelu, viestintä 6. Eroavat näkemykset kurssin suoritusvaatimuksista henkilökunnan kanssa Vaikutus: suuri; negatiivinen tai positiivinen Hallintakeinot: suunnittelu, viestintä 7. Sairastapaukset ja muut työskentelyä rajoittavat tekijät Viitteet Vaikutus: suuri; negatiivinen Hallintakeinot: viestintä, dokumentointi [1] Sisäilmayhdistys ry. Sisäilmastoluokitus 2008 - Sisäympäristön tavoitearvot, suunnitteluohjeet ja tuotevaatimukset, 2008. 9
Liitteet A Kuvia järjestelmän komponenteista Kuva 1: Anturiyksikkö. 10
Kuva 2: Pieni satelliittianturi. Kuva 3: Mikrokontrolleri ja ZigBee. 11
Kuva 4: Palvelimen ZigBee-vastaanotin. 12