GESTAPO

Antti Krats

Anna Kämäräinen

Kai Lahti

Kari Perttula

Tietotekniikan cum laude -työprojekti

Sovellussuunnitelma

01.13.02

JYVÄSKYLÄN YLIOPISTO

TIETOTEKNIIKAN LAITOS

  1. Tiivistelmä

Gestapo-ryhmä toteuttaa Jyväskylän yliopiston informaatioteknologian tiedekunnalle hälytys- ja seurantajärjestelmä. Dokumentissa kuvataan toteutettavan sovelluksen vaatimuksia, käyttötapauksia, käyttöliittymää ja luokkakaavioita.

GESTAPO-projekti

Projektiryhmä: Antti Krats

Anna Kämäräinen

Kai Lahti

Kari Perttula

Visuaalinen konsultti: Laura Kuurne

Tilaaja: Informaatioteknologian tiedekunta

Jukka Järvinen

Sauli Takkinen

Vastaava ohjaaja: Jukka-Pekka Santanen

Tekninen ohjaaja: Juha Lamberg

Työtila: Agora, C225.3

Laitteet: Neljä PC-tietokonetta, joissa käyttöjärjestelmänä Windows 2000. Erilaisia kameroita ja antureita.

Ohjelmistonkehitystyökalut: Delphi 6

Suunnittelutyökalut: Excel, Argo/UML

SISÄLTÖ
   

  1. Johdanto

Gestapo-projekti on Jyväskylän yliopiston tietotekniikan laitoksen syksyn 2001 cum laude -työprojekti. Se toteuttaa informaatioteknologian tiedekunnalle valvonta- ja hälytysjärjestelmän, johon kuuluu laitteina kameroita sekä mm. liikettä, kosteutta ja lämpötilaa tarkkailevia antureita. Järjestelmä hälyttää määriteltyjen hälytysrajojen rikkoutuessa sähköposteilla, tekstiviestillä sekä paikallisella hälytyslaitteella.

Sovelluksen minimivaatimuksiksi määriteltiin ensimmäisessä projektipalaverissa 20.9.2001:

Järjestelmälle asetettuja vaatimuksia ja projektin tavoitteita ei määritelty tarkasti, vaan jätettiin tilaa luovalle suunnittelulle. Tärkeinä ominaisuuksina pidettiin laajennettavuutta ja laitteistoriippumattomuutta.

Siirtomedian osalta ei tehty päätöksiä, mutta liikuteltavuutta pidettiin suotavana. Käyttömahdollisuuksia mietittiin ainakin USB-, infrapuna, radiolinkki ja sarjaporttiliitäntöjen osalta.

Luvussa 3 kuvataan järjestelmän arkkitehtuuria. Järjestelmä on jaettu ohjelmiston osalta viiteen komponenttiin, jotka esitellään luvussa 4. Luvussa 5 käsitellään käyttötapauskuvaukset. Luvussa 6 käydään läpi hallintosovelluksen käyttöliittymää, ja luvussa 7 kuvataan järjestelmän rakennetta luokkakaavioiden avulla. Luvun 8 toteutusjärjestys kuvaa toteutettavien osien prioriteettijärjestystä siten, että listan loppupäässä olevia toimintoja ei voi käyttää, jos alkupäähän määriteltyjä ei ole toteutettu.

Termit ja lyhenteet

Seuraavassa luettelossa on esitelty dokumentissa esiintyviä termejä ja lyhenteitä:

Hallintosovelluksella (engl. Configuration Unit, lyh. CU) suoritetaan järjestelmän konfigurointi, sekä sen toiminnan seuranta.

Hälytysyksikkö (engl. Alarm Unit, lyh. AU) on toteutettavan järjestelmän osa, joka vastaa tekstiviesti- tai sähköpostihälytysten lähettämisestä.

Konfigurointitiedoston avulla seuranta- ja hälytysyksikölle kerrotaan sen toimintaa säätelevät parametrit.

Lokitiedostostoihin tallennetaan seurantayksiköiden mittaamat tulokset sekä kameroilla otetut still-kuvat.

Seurantayksikkö (engl. Surveillance Unit, lyh. SU) on järjestelmän osa, joka vastaa kameroiden ja antureiden ohjauksesta.

Tallennusyksikkö Tallennusyksikkö (engl. Data Unit, lyh. DU) koostuu konfigurointitietojen tietokannasta ja lokitiedostoista.

Järjestelmän kuvaus

Luvussa kuvataan järjestelmän arkkitehtuuria sen rakenteen ja eri yksiköiden toimintojen avulla.

  1. Arkkitehtuuri

Järjestelmä koostuu seuraavista erillisistä osajärjestelmistä: seuranta-, hälytys-, ja tallennusyksiköstä sekä hallintosovelluksesta. Näillä ei välttämättä tarkoiteta erillisiä koneita, vaan sovellukset ja laitteet voivat sijaita yhdessäkin koneessa. Käytännössä sovellukset ja laitteet kuitenkin sijoitetaan hajautetusti kuvan 1 mukaisesti.

Kuva 1. Järjestelmän arkkitehtuuri.

  1. Seurantayksikkö

Seurantayksikkö sijoitetaan valvottavaan paikkaan tai sen läheisyyteen. Yksikköön sisältyy mikrotietokoneen ohella antureita ja kameroita, joiden antama informaatio välitetään eteenpäin tallennusyksikölle.

Hälytyksen sattuessa ilmoitus hälytysrajojen rikkoutumisesta välitetään tallennusyksikölle, joka välittää sen edelleen hälytysyksikölle. Hälytysyksikkö prosessoi saadun informaation ja tarvittaessa aktivoi seurantayksikön häytyslaitteen (esim. äänihälytys). Seurantayksikkö välittää tapahtuman tiedot tallennusyksikölle, joka tallentaa sen lokiin.

Seurantayksikön konfiguraatiotiedosto surveillanceunit1.ini sijaitsee tallennusyksikössä. Konfiguraatiotiedoston muoto on seuraava:

[CAMERA]

camera_number=0 Kameran numero (0-9).

framerate=50 Päivitysnopeus millisekunteina.

image_size=320*240 Kuvan koko.

image_color_format=8bit Värien määrä (8bit,16bit,24bit).

Quality=high Kuvanlaatu(high,medium,low).

mirror=off Kuvan peilaus.

flip=off Kuvan kääntäminen ylösalaisin.

negative=off Värit negatiiviseksi.

[JOYSTICK]

joystick_number=0 Joystick-portin numero (0-1).

x-axel_on/off=on Käytetäänkö x-akselia.

x-axel_factor=3000 X-akselin kalibrointikerroin.

x-axel_low_limit=15000 X-akselin hälytyksen alaraja.

x-axel_high_limit=55000 X-akselin hälytyksen yläraja.

Y-axel_on/off=off Käytetäänkö y-akselia.

y_axel_factor=0 Y-akselin kalibrointikerroin.

y_axel_low_limit=0 Y-akselin hälytyksen alaraja.

y_axel_high_limit=0 Y-akselin hälytyksen yläraja.

[COMPORT]

com1_on/off=on Käytetäänkö ensimmäistä com-porttia.

CTS=on Tarkkaillaanko pinniä CTS.

DSR=on Tarkkaillaanko pinniä DSR.

Ring=off Tarkkaillaanko pinniä Ring indicator.

RLSD=off Tarkkaillaanko pinniä RLSD.

[DATAUNIT]

dataunitip=130.234.167.158 Tallennusyksikön ip-osoite.

dataunitport=10079 Tallennusyksikön portti, jota käytetään.

  1. Hälytysyksikkö

Seurantayksiköt välittävät ilmoituksen hälytysrajojen rikkoutumisesta hälytysyksikölle tallennusyksikön kautta. Jos hälytysyksikkö saa lyhyen ajan sisällä monta hälytyskäskyä samasta asiasta, voi hälytysyksikkö lähettää ensimmäisen hälytyksen tai koostetun hälytyksen määritellyn hälytyslogiikan mukaisesti. Näin estetään useiden tekstiviestien ja sähköpostien lähteminen. Hälytysyksikkö välittää tiedon tehdyistä hälytyksistä tallennusyksikön kautta lokiin.

Hälytysyksikön konfiguraatiotiedosto alarmunit.ini sijaitsee tallennusyksikössä. Konfiguraatiotiedoston muoto on seuraava:

[SMS]

wwwalarmaddress=www.alarm.com Tekstiviestipalvelun osoite.

firealarmnumber=112,+358503610983 Palohälytyksen numerot.

systemalarmnumber=+358503610983 Järjestelmähälytyksen numero.

burglaralarmnumber=10022,+358503610983 Murtohälytyksen numerot.

moisturealarmnumber=+358503610983 Kosteushälytyksen numero.

alarmtimelimit=5 Hälytysväli.

[EMAIL]

firealarmaddress=palomies@palokunta.fi, Palohälytyksen

sautakki@jyu.fi sähköpostiosoitteet.

systemalarmaddress=sautakki@jyu.fi Järjestelmähälytyksen sähköpostiosoite.

burglaralarmaddress=konstaapeli@poliisi.fi, Murtohälytyksen

sautakki@jyu.fi sähköpostiosoitteet.

moisturealarmaddress=sautakki@jyu.fi, Kosteushälytyksen

huoltomies@lvi.fi sähköpostiosoitteet.

alarmtimelimit=1 Hälytysväli.

[DATAUNIT]

dataunitip=130.234.167.174 Tallennusyksikön

dataunitport=10079 Tallennusyksikön portti.

  1. Tallennusyksikkö

Tallennusyksikkö tallentaa seurantayksiköiden antureiden ja kameroiden välittämän datan lokiin. Tallennusyksiköltä kysytään myös seurantayksiköiden, hälytysyksiköiden ja konsoleiden asetustiedot. Tallennusyksikkö käsittelee loki- ja konfiguraatiotiedostoja.
  1. Hallintosovellus

Hallintosovellus voidaan asentaa mihin tahansa yksikköön tai erilliseen työasemaan. Sovelluksella otetaan yhteys tallennusyksikköön, jonka tietoja voidaan tutkia, sekä seurantayksiköiden ja hälytysyksikön asetuksia muuttaa.

Jokaista seurantayksikköä pystytään tarkkailemaan yksittäisesti. Reaaliaikaisia tietoja voidaan seurata suoraan kustakin seurantayksiköstä. Hallintosovelluksen käyttöliittymän ikkunoita on hahmoteltu luvussa 6.

  1. Vaatimukset

Järjestelmää suunniteltaessa päädyttiin seuraaviin komponentteihin: DeviceController, SurveillanceController, DataController, AlertController ja Communication.

DeviceController- ja SurveillanceController-komponentit sijaitsevat seurantayksikössä. DeviceController hallitsee mikrotietokoneeseen liitettyjä laitteita ja SurveillanceController toimii yksikön päättävänä osana.

AlertController-komponentti kuuluu hälytysyksikköön ja se hoitaa hälytysten lähettämisen tekstiviestillä ja sähköpostilla.

DataController-komponentti sijaitsee tallennusyksikössä. Konfiguraatiot ja seurantadata kulkevat DataController-komponentin kautta konfiguraatiotiedostoihin ja lokiin.

Communication-komponentti kuuluu kaikkiin yksiköihin ja mahdollistaa yksiköiden välisen kommunikoinnin.

Seuraavissa luvuissa käsitellään komponenttien toiminnalliset ja tekniset vaatimukset sekä rajoitteet.

  1. DeviceController-komponentti

DeviceController-komponentti kontrolloi seurantayksikön portteihin liitettyjä laitteita. Komponentti osaa myös suorittaa äänihälytyksen porttiin liitetyllä hälytinlaitteella.

Teknisten vaatimusten osalta järjestelmässä käytettäviä liitäntöjä ovat ainakin sarja-, rinnakkais- ja peliportit. Niihin voidaan kytkeä kameroita, märkä/kuiva-, lämpötila- ja liiketunnistimia, sekä erilaisia on/off-periaatteella toimivia antureita.

Kameroiden valmistajan ajurit on oltava asennettuina. Kuvan siirtämisessä sovellukseen käytetään Video for Windows -ohjelmakirjastoa. Kameroiden liittämiseen käytetään pääasiassa USB-liitäntää.

Rajoitteiden osalta yhteen sarjaporttiin voidaan kytkeä viisi on/off-anturia. Liitettävien antureiden maksimimäärä on siis kymmenen, sillä tietokoneessa on kaksi sarjaporttia.

Peliporttiin voidaan liittää kaksi peliohjainta, jolloin saadaan mitattua yhteensä neljää akselia eli neljää analogista arvoa. Näistä liittimistä voidaan selvittää esimerkiksi lämpötila-anturin lämpötila. Peliportti tunnistaa lisäksi neljä on/off-kytkintä.

USB-väylää käytetään kameroiden liittämiseen, mutta sillä on useita rajoituksia. Kaapelin pituus on standardin mukaan rajoitettu neljään metriin. Tämä pakottaa kameran olemaan lähellä seurantayksikköä. USB:n siirtokapasiteetin raja on 12 Mbps, joka vähentää liitettävien kameroiden määrän neljään. Näin taataan jokaiselle kameralle kohtuullinen kuvanlaatu ja päivitysnopeus.

  1. SurveillanceController-komponentti

SurveillanceController-komponentti toimii järjestelmän hallinnointiosana. Komponentti päättää hälytysten välittämisestä hälytinyksikölle, lokiin tallentamisesta sekä porttien ja kameroiden ohjaamisesta.

SurveillanceController-komponentin tulee osata käsitellä muita seurantayksikön komponentteja, välittää niille tietoja ja ottaa tietoja vastaan.

  1. DataController-komponentti

DataController-komponentti tallentaa seurantayksiköiltä saadut tiedot yhteen tai useampaan lokitiedostoon. Komponentti pystyy antamaan jonkin tietyn anturin arvon ja kaiken datan, joka siihen liittyy. Komponentti ei ota kantaa tallentamaansa tietoon.

Tallennettavan data sisältää monenlaista tietoa sekä tekstinä että kuvina. DataController -komponentti pitää tämän annetun datan sidoksissa toisiinsa. Komponentin toimintaa rajoittaa kiintolevytila.

  1. AlertController-komponentti

AlertController-komponentti käynnistää tarvittaessa paikallisen äänihälytyksen, sekä lähettää hälytyksen käyttäjälle sähköpostina- tai GSM-tekstiviestinä. Jos komponentti saa useita hälytyskäskyjä, se lähettää hälytyksen määritellyn hälytyslogiikan mukaisesti. Komponentti kuittaa hälytykset takaisin SurveillanceControllerille.

Äänihälytys välitetään DeviceControllerille. GSM-tekstiviesti lähetetään joko WWW-palvelun kautta tai tarkoitukseen varatulla GSM-puhelimella datasuite-ohjelmiston avulla.

  1. Communication-komponentti

Communication-komponentti välittää annetun tiedon ennalta asetetulle kohteelle. Komponentti myös tarkkailee tulevaa tietoliikennettä.

Komponentti tutkii annettuja portteja. Komponentti välittää annettuja tietoja, jotka voivat olla kuvia tai tekstiä. Yhteyksiä voi olla vain yksi kerrallaan ja uutta yhteyttä ei voida aloittaa ennen kuin edellinen on saatu loppuun.

  1. Käyttötapaukset

Lukuihin on hahmoteltu järjestelmän käyttötapauksia. Niiden perusteella voidaan jatkossa piirtää sekvenssikaavioita sekä suunnitella käyttöliittymää.
  1. Asetusten vaihto

Lyhennelmä: Käyttäjä vaihtaa tietyn seurantayksikön asetuksia.

Suorittajat: Ylläpitäjä

Esiehdot: Hallintosovellus, tallennusyksikkö ja vähintään yksi seurantayksikkö on toimintavalmiudessa.

Kuvaus: Käyttäjä avaa hallintosovelluksesta listauksen järjestelmässä olevista seurantayksiköistä [Poikkeus 1: Lokitiedostosta ei saada tietoja]. Valitsemalla seurantayksikön käyttäjä näkee kaikki yksikköön liittyvät tiedot. Käyttäjä muuttaa yksikön asetuksia. Käyttäjä voi vahvistaa muutokset Apply-painikkeella. Vahvistuksen jälkeen tiedot tallennetaan lokiin [Poikkeus 2: Tiedonsiirto ei onnistu] ja konfiguraatiotiedostoon [Poikkeus 3: Tallennus ei onnistu]. Tallennusyksikkö lähettää tiedot edelleen muutoksien kohteena olevalle seurantayksikölle [Poikkeus 4: Lähetys ei onnistu]. Saatuaan tiedot seurantayksikkö ottaa ne käyttöön.

Poikkeukset:

  1. Lokitiedosto on korruptoitunut tai sitä ei ole olemassa. Hallintosovellus antaa virheilmoituksen.
  2. Tiedonsiirto ei onnistu. Yhteys tallennusyksikköön on katkennut. Hallintosovellus antaa käyttäjälle virheilmoituksen.
  3. Tallennus ei onnistu. Kiintolevy on täyttynyt, konfiguraatiotiedosto on korruptoitunut tai sitä ei ole määritelty. Hallintosovellus antaa käyttäjälle virheilmoituksen.
  4. Asetuksien lähetys ei onnistu. Yhteys yksikköön, jonka asetuksia muutettiin, on katkennut. Hallintosovellus antaa käyttäjälle virheilmoituksen.
Jälkitilanne: Seurantayksikkö toimii uusien asetusten mukaan.
  1. Reaaliaikainen tietojen katselu

Lyhennelmä: Käyttäjä selaa kameroiden ja antureiden viimeisimpiä tietoja.

Suorittaja: Ylläpitäjä

Esiehdot: Hallintosovellus on avattu ja vähintään yksi seurantayksikkö on toimintavalmiudessa.

Kuvaus:

Käyttäjä valitsee hallintosovelluksesta olevalla puumaisella rakenteella seurantayksikön ja tämän alta haluamansa laitteen [Poikkeus 1: Laitteita tai seurantayksikköjä ei löydy].Hallintosovellus muodostaa suoran yhteyden valittuun seurantayksikköön [Poikkeus 2: Yhteyttä seurantayksikköön ei saada]. Tämän jälkeen käyttäjällä on edessään viimeisimmät kyseisen laitteen tiedot [Poikkeus 3: Seurantayksikkö ei anna tietoja].

Poikkeukset:

  1. Laitteita tai seurantayksikköjä ei löydy. Konfiguraatiotiedostoissa ei ole määritelty yhtäkään seurantayksikköä tai laitetta. Puurakenteeseen ei ilmesty mitään.
  2. Yhteyttä seurantayksikköön ei saada. Ongelma seurantayksikössä tai verkkoliikenteessä. Hallintosovellus antaa käyttäjälle virheilmoituksen.
  3. Seurantayksikkö ei anna tietoja. Yhteys seurantayksikköön on katkennut. Hallintosovellus antaa käyttäjälle virheilmoituksen.
Jälkitilanne: Käyttäjä on saanut selville yksittäisten laitteiden uusimmat tiedot.
  1. Loki tietojen katselu

Lyhennelmä: Käyttäjä selaa kameroiden ja antureiden vanhoja tietoja lokista.

Suorittajat: Ylläpitäjä

Esiehdot: Vanhoja tietoja on lokitiedostoissa ja hallintosovellus on avattu.

Kuvaus:

Käyttäjä valitsee hallintosovelluksessa olevalla puumaisella rakenteella haluamansa seurantayksikön ja tämän alta haluamansa laitteen [Poikkeus 1: Laitteita tai seurantayksikköjä ei löydy]. Tämän jälkeen käyttäjä valitsee Search From Log -välilehden, johon syötetyillä kriteereillä tiedot etsitään lokista [Poikkeus 2: Lokitiedostosta ei saada tietoja].

Poikkeukset:

  1. Laitteita tai seurantayksikköjä ei löydy. Konfiguraatiotiedostoissa ei ole määritelty yhtäkään seurantayksikköä tai laitetta. Puurakenteeseen ei ilmesty mitään.
  2. Tallennusyksikön lokitiedosto on korruptoitunut tai ei saada muodostettua yhteyttä tallennusyksikköön. Hallintosovellus antaa käyttäjälle virheilmoituksen. Lokitiedostossa ei välttämättä ole vielä kyseisestä laitteesta tietoja. Ilmoitetaan tästä käyttäjälle käyttöliittymässä.
Jälkitilanne: Käyttäjä on saanut selville yksittäisen laitteen loki tiedot.
  1. Seurantayksikön hälytysviesti

Lyhennelmä: Seurantayksikkö muodostaa hälytysviestin asetetut rajat ylittävästä tapahtumasta.

Suorittajat: Seurantayksikkö

Esiehdot: Seurantayksikön anturit ovat toiminnassa ja niille on asetettu rajat.

Kuvaus:

Seurantayksikkö tallentaa antureiden tietoja ja kameroiden kuvia tallennusyksikön konfiguraatiotiedostossa olevien asetusten mukaan [Poikkeus 1: Tallennus ei onnistu]. Seurantayksikkö vertaa antureilta saatuja arvoja asetettuihin rajoihin. Jos rajat ylittyvät, seurantayksikkö välittää hälytyksen tallennusyksikön kautta hälytysyksikölle [Poikkeus 2: Hälytyksen välitys ei onnistu]. Määritellyn hälytyslogiikan mukaisesti hälytysyksikkö lähettää tarvittaessa sen sähköpostina, tekstiviestinä ja/tai laitehälytyksen hälytyksen vastaanottajalle. Äänihälytys suoritetaan konfiguraatiotiedostossa määritellyssä yksikössä.

Poikkeukset:

  1. Tallennus ei onnistu. Tallennusyksikön lokitiedosto on korruptoitunut tai ei saada muodostettua yhteyttä tallennusyksikköön. Seurantayksikkö tallentaa virheen paikalliseen lokitiedostoon ja hälyttää, kun yhteys tallennusyksikköön palautuu.
  2. Hälytyksen välitys ei onnistu. Yhteys hälytysyksikköön on katkennut. Seurantayksikkö tallentaa virheen lokitiedostoonsa.
Jälkitilanne: Hälytys on lähetetty ja lokiin on tallennettu tiedot hälytyksestä.
  1. Käyttöliittymä

Luvussa kuvataan käyttöliittymän toimintoja ja ulkoasua. Alaluvuissa kuvattujen toimintojen lisäksi sovellus sisältää käyttöohjeet, jotka löytyvät Help-komentovalikosta. Ohjeissa kuvataan sovelluksen käyttöä ja mahdollisia ongelmatilanteita.
  1. Reaaliaikaisten tietojen katselu

Käyttöliittymän pääikkunan vasempaan laitaan sijoitetusta puusta valitaan käsiteltävä hälytys- tai seurantayksikkö hiiren vasemmalla painikkeella (katso kuva 2). Oikealle sijoitettujen välilehtien tiedot muuttuvat valitun yksikön mukaan. Alalaidan vieritysikkunasta voi selata viimeisimpiä hälytyksiä.

Kuva 2. Käyttöliittymän pääikkunassa reaaliaikaisten tietojen tarkastelu.

Real-time values -välilehdeltä näkyvät tuoreimmat kameroiden kuvat sekä antureilta kerätyt arvot. Kameroiden kuvat erotellaan tunnisteilla (CameraID). Antureilta saadut arvot on kerätty Sensor values -otsikon alle. Lämpötilat ilmoitetaan Celsius-asteina. Märkä/kuiva-anturin (Moisture Sensor) osalta näkyy punainen huutomerkki, mikäli anturi on märkä. Huutomerkki on vihreä, jos anturi on kuiva.

Tiedot päivittyvät Surveillance Settings -lehdellä määriteltyjen tietojen mukaan. Tarvittaessa tiedot voi päivittää painamalla Refresh-painiketta.

  1. Tallennettujen tietojen selaus

Vanhoja tietoja voi etsiä lokitiedostosta Search From Log -välilehdellä (katso kuva 3). Tiedot haetaan päivämäärän ja kellonajan avulla. Mikäli haluaa katsoa vain hälytyksiä, merkitään Alarms Only -valinta.

Kuva 3. Vanhojen tietojen katselu lokitiedostosta

Kamerat erotetaan toisistaan tunnisteilla. Kuvien alle sijoitettu päivämäärä ja kellonaika ilmaisevat kuvien ottoajankohdan. Kuvat on otettu yhtä aikaa, mutta eri kameroilla. Haun jälkeen kuvat alkavat pyöriä automaattisesti eteenpäin. Kuvat voi pysäyttää tarvittaessa lehdelle sijoitetuilla painikkeilla.

  1. Seurantayksikön laitteiden konfigurointi

Seurantayksikön toiminta tietoja muutetaan Surveillance Settings - lehdellä (kuvassa 4). Video capture interval määrittelee, kuinka monta kuvaa minuutissa seurantayksikön kamerat ottavat. Temperature measurement interval määrittelee, kuinka usein lämpötila-antureilta pyydetään dataa. Moisture measurement interval on märkä/kuiva-anturin mittaustiheys.

Kuva 4. Seurantayksikön toiminnan konfigurointi.

Tiedot tallennetaan painamalla Save new settings -painiketta. Katumapäälle tullessa painetaan Cancel -painiketta, jolloin käytössä olevat arvot palautuvat ruutuihin muokattujen tilalle.

  1. Seurantayksikön hälytysrajojen konfigurointi

Eri seurantayksiköillä voi olla erilaisia hälytysrajoja (katso kuva 5). Alarm limits - otsikon alla kuvassa näkyy kahdelle lämpötila-anturille määritellyt hälytysrajat. Esimerkiksi anturin 1 (Sensor 1) tapauksessa järjestelmä lähettää varoituksen, jos lämpötila on 15 – 5 oC tai 35 – 50 oC. Varsinainen hälytys lähetetään, jos lämpötila laskee alle 5 oC:een tai nousee yli 50:een asteeseen.

Kuva 5. Hälytysrajojen konfigurointi

Seurantayksikölle on mahdollista määritellä erilaisia hälytyksiä. Alarm Settings - otsikon alla olevaan taulukkoon on määritelty kellon ajan perusteella kaksi erilaista hälytystä. Kaikki taulukkoon merkityt hälytysrajat ovat yhtä aikaa käytössä.Jokaiselle riville määritellään erikseen alkamisajankohta, päättymisaika ja hälytyksen vakavuus (Priority). Prioriteetit määritellään Alarm Unit Configuration -välilehdellä.

Uusi rivi lisätään taulukkoon Create New Alarm Options -painikkeella. Avautuvaan lomakkeeseen täytetään tarpeelliset kohdat. Rivejä voi poistaa taulukosta valitsemalla ne hiirellä ja painamalla delete - painiketta.

  1. Hälytysyksikön konfigurointi

Hälytysyksikön konfigurointitiedot koostuvat kahdesta osasta: hälytyksen vakavuudesta ja lähetysten kohteesta (katso kuva 6).

Priorities-taulukkoon määritellään, mitä hälytyksen ilmetessä tapahtuu. Repeat interval määrittelee ajan, jonka jälkeen tarvittaessa hälytetään uudelleen. Esimerkiksi korkean lämpötilan takia lähetettyä hälytystä ei uusita, jos lämpötila on laskenut riittävän alas. Jokaiselle prioriteetille määritellään käytettävät hälytysmuodot: tekstiviesti, sähköposti ja paikallinen hälytyslaite. Taulukossa On tarkoittaa, että kyseistä hälytysmuotoa käytetään. Off tarkoittaa, että sitä ei käytetä.

Alarm target -taulukkoon määritellään kohde, johon hälytys lähetetään. Eri antureiden aiheuttamille hälytyksille voidaan määritellä oma kohde. Kaikissa hälytyksissä voidaan käyttää kuitenkin samaa puhelinnumeroa ja sähköpostiosoitetta.

Kuva 6. Hälytysyksikön konfigurointi

Luokkakaaviot

Tässä luvussa esitellään järjestelmän luokkakaavioita.

Kuva 7 esittää seurantayksikössä olevaa luokkajakoa. TSurveillanceController on yksikön hallitseva osa. TCommunication välittää tiedot toisille yksiköille. TDeviceController hallitsee mikrotietokoneeseen liitettyjä laitteita.

Kuva 7. Seurantayksikkö (SU).

Kuvassa 8 on esitetty hälytysyksikön toteutus luokkakaaviona. TAlertController hoitaa hälytysten välittämisen. Jos TAlertControllerille tulee useita hälytyksiä, osaa luokka tehdä niistä koostetun hälytyksen. TLocalAlert ohjaa seurantayksikön paikallista hälytyslaitetta. TGSMAlert lähettää hälytyksen tekstiviestinä ja TEMail sähköpostina.

Kuva 8. Hälytysyksikkö (AU).

Kuvassa 9 on esitetty tallennusyksikön luokkarakenne. TDataController hoitaa konfiguraatio- ja lokitiedostojen käsittelyn. Käyttöliittymällä päästään muuttamaan ja katsomaan konfiguraatio- ja lokitiedostojen sisältöä TDataControllerin kautta.

Kuva 9. Tallennusyksikkö (DU).

  1. Muuttujien nimeämiskäytäntö ja koodin kommentointi

Ohjelmien muuttujien nimeämisessä käytetään pääpiirteissään unkarilaista notaatiota. Seuraavassa listassa on esimerkkejä ko. mukaisesta muuttujien nimeämiskäytännöstä:

Tyyppi Etuliite Nimi

----------------------------------------

int n nNumber

char sz szType

string s sName

double d dPrice

BOOL b bDone

long l lHours

luokka T TEMail

pointer p pPointer

Delphin omien komponenttien kanssa käytetään Delphille ominaista nimeämistapaa, esimerksiksi ButtonSend. Ohjelmakoodi kommentoidaan funktioittain. Tiedostoon alkuun merkitään tekijä, päivämäärä sekä lyhyt kuvaus sen toiminnasta, ja jokaisen funktion yläpuolelle kuvataan funktion toiminta.

  1. Totetusjärjestys

Järjestelmän ohjelmien ja toimintojen toteutusjärjestys on kuvattu alla olevassa listassa. Projektin minimitavoitteena voidaan pitää listan toteutusta käyttöliittymään asti.

- TComport

- TCamera

- TCameras

- TJoystick

- TJoysticks

- TDevicecontroller

- TCommunication

- TSurveillanceController

- TDataController

- Hälytys

- TEMail

- TAlertController

- Hälytys sähköpostilla

- TGSMAlert

- Hälytys tekstiviestillä

- TSoundAlert

- Hälytys paikallisesti

- Käyttöliitymä

- Konfiguraatioiden asetus/vaihto

- Loki-historian selailu

- Reaaliaikainen seuranta

- Hälytysilmoitus käyttöliittymään

- Hälytyksen kuittaus tekstiviestillä