11.07.2015 Views

Jere Knuuttila TerveTaas – kotiautomaatiota hyödyntävä kotona ...

Jere Knuuttila TerveTaas – kotiautomaatiota hyödyntävä kotona ...

Jere Knuuttila TerveTaas – kotiautomaatiota hyödyntävä kotona ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

LogLog-olio hoitaa järjestelmän lokitiedoston avaamisen ja sinne kirjoittamisen. Muutluokat lähettävät tapahtumatiedot tälle oliolle, joka kirjoittaa ne lokiin. Kaikkilokitiedostoon kirjoitettavat tapahtumat tulostetaan myös konsoli-ikkunaan.Lokitiedostoon kirjoitetaan jokaisen tapahtuman kohdalle päiväys ja kellonaika.Lokitiedostosta voidaan jälkeenpäin selvittää ohjelman toimintaa ja se auttaaerityisesti vikatilanteissa.MySQLHandlerTämä olio hoitaa tietokantaan kirjoittamisen. Kun ensimmäinen UDP-paketti Linetkeskusyksiköltäon vastaanotettu, tietokannasta tarkistetaan onko kaikkikonfiguraatiotiedostossa mainitut Linet-ryhmät mainittu tietokannassa. Mikäli ryhmiäpuuttuu, ne päivitetään tietokantaan. Ensimmäisen vastaanotetun paketin tiedotkirjataan aina tietokantaan. Tämän jälkeen jokainen vastaanotettu paketti käsitellään jaryhmien tiloja verrataan edellisen paketin arvoihin. Mikäli jokin arvoista onmuuttunut, uusi arvo talletetaan tietokantaan. Liikeantureiden tilatieto on laskuri, jokaasetetaan liikettä havaittaessa ennalta määriteltyyn kokonaislukuarvoon ja jostavähennetään yksi joka sekunti. Jokaisen laskurin arvon tallentaminen ei ole tarpeen,joten liikeantureiden osalta tietokantaan talletetaan merkintä vain kun liikettä onhavaittu ja kun laskurin aika on kulunut.LogicLogic-luokka on abstrakti luokka, joten siitä ei voida luoda oliota. Luokka määritteleekuitenkin sen jälkeläisille yhteisiä ominaisuuksia, kuten muuttujia ja metodeja. Erilähteistä tulevat komennot käsitellään tämän luokan metodissa. Komentoja voi tullaKotiValppaaseen yhteyttä ottaneelta asiakassovellukselta, kuten KotiValpasYhteys taikappaleessa 3.2.6 esitellyn WAP-palvelimen käynnistämältä PHP-komentotiedostolta.Komentoja voi tulla myös konsolilta tai tekstiviestillä.Logic-luokan metodit toimivat tiedon välittäjänä ja prosessoijana ohjelmiston eri osienvälillä ja se vaikka se ei ole varsinainen Java-kielen rajapinta, se määritteleesamanlaisia asioita.LogicTKK ja LogicToimivakotiNämä kaksi luokkaa perivät Logic-luokan eli ovat sen lapsia. LogicTKK sisältääAutomaatiotekniikan laboratorion järjestelmässä käytettyjä päättelyitä,LogicToimivakoti puolestaan Toimivan kodin vastaavia. Näiden luokkien oliotkäsittelevät vastaanotetut UDP-paketit ja tarvittaessa lähettävät hälytysviestin.Oliot palauttavat kysyttäessä listan kaikista määritellyistä Linet-ryhmistä ja niidentiloista tai listan vain ohjattavista ryhmistä. Ne hoitavat myös tilojen ohjauksetvastaanotettujen komentojen perusteella.ClientSocketServer ja ClientSocketServerThreadClientSocketServer-olio on palvelinsäie, joka odottaa yhteydenottoja määritellyssäpistukkeessa. Kun asiakas ottaa yhteyden, olio luo ClientSocketServerThread-olion javälittää yhteyden hoitamisen sille. Tämä asiakaskohtainen olio kuunteleeasiakasohjelman lähettämiä viestejä ja välittää niitä järjestelmälle. Asiakas voi pyytääettä kaikki järjestelmässä tapahtuvat hälytykset tai kaikki tapahtumatiedot lähetetään52

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!