ePistoke : Laitteen etähallinta internetissä
Vilhunen, Tuomo (2013)
Vilhunen, Tuomo
Tampereen ammattikorkeakoulu
2013
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201305189398
https://urn.fi/URN:NBN:fi:amk-201305189398
Tiivistelmä
Työn tarkoituksena oli luoda internetin kautta etähallittava laite. Etähallittavaksi laitteeksi valittiin jatkojohto, mikä mahdollisti useiden eri asetusten hallinnoinnin. Hallittaviksi asetuksiksi valittiin pistorasioiden tila (päälle/ajastus/pois), virtarajoitus ja ajastukset. Virtarajoituksessa pistorasian virran ylittäessä raja-arvon pistorasia kytkeytyy pois päältä, ja ajastuksessa laitteen pistorasioiden tilan voi ajastaa kymmenen minuutin ajanjaksoissa koko viikon ajan. Laitteen nimeksi tuli ePistoke.
ePistoke on yhteydessä internetiin WLAN-modulin avulla. Valittu moduli, RN-131, tukee useita TCP/IP-protokollapinon protokollia, mikä helpottaa tiedonsiirtoa. Moduli purkaa ja kapseloi TCP-kehykset, jolloin mikrokontrollerille välittyy vain tieto-osuus kehyksistä. WLAN-moduli on liitetty mikrokontrolleriin UART:n avulla.
Asetusten vaihtamista varten laitteelle kehitettiin oma protokolla. Protokolla koostuu viidestä osiosta: aloitusmerkki, dataosuuden koko, toiminto ja pistorasian numero, data sekä tarkiste. Käskymuotoisissa paketeissa protokollan kehys salataan xor-salauksella poislukien osiot aloitusmerkki ja dataosuuden koko niiden määrittäessä, onko salaus käytössä ja kuinka pitkä paketti on kyseessä. Käskymuotoisten pakettien lisäksi protokolla tukee etsintäpaketteja, joilla on tarkoitus etsiä ePistoke-laitteita lähiverkosta. Tämän tyyppiset paketit eivät ole koskaan salattuja. Salauksen tarkoitus on estää ulkopuolisten pääsy vaihtamaan laitteen asetuksia. Käyttämällä salauksessa väärää avainta tarkiste ei täsmää paketin kanssa, jolloin paketti hylätään.
Oman protokollan lisäksi ePistoke tukee HTTP-protokollaa asetusten näyttämistä varten. Tällöin ei tarvita web-palvelinta, vaan internetselaimen sivun osoitteeksi kirjoitetaan ePistokkeen IP-osoitteen. Laitteen kehittämisen kannalta HTTP-tukea tulisi laajentaa asetusten vaihtamiseen. Tämä mahdollistaisi paremmin laitteen käyttämistä eri ympäristöissä.
ePistokkeen hallintaan käytettiin internetsivuja, mikä mahdollisti laitteiston riippumattomuuden. Samalla sivut kuitenkin vaativat web-palvelimen kotiympäristöön. Palvelinta pidettiin oleellisena myös työn tarkoituksen kannalta, sillä laitteen tuli olla etähallittava kodin ulkopuolelta. Internetsivut toteutettiin PHP:llä. Laitteen ohjaamista varten sivuille luotiin valmis olio, jota voidaan helposti käyttää muissa projekteissa hyödyksi. Oliolle luotiin valmiita funktioita, joilla laitetta ohjattiin.
ePistoke on yhteydessä internetiin WLAN-modulin avulla. Valittu moduli, RN-131, tukee useita TCP/IP-protokollapinon protokollia, mikä helpottaa tiedonsiirtoa. Moduli purkaa ja kapseloi TCP-kehykset, jolloin mikrokontrollerille välittyy vain tieto-osuus kehyksistä. WLAN-moduli on liitetty mikrokontrolleriin UART:n avulla.
Asetusten vaihtamista varten laitteelle kehitettiin oma protokolla. Protokolla koostuu viidestä osiosta: aloitusmerkki, dataosuuden koko, toiminto ja pistorasian numero, data sekä tarkiste. Käskymuotoisissa paketeissa protokollan kehys salataan xor-salauksella poislukien osiot aloitusmerkki ja dataosuuden koko niiden määrittäessä, onko salaus käytössä ja kuinka pitkä paketti on kyseessä. Käskymuotoisten pakettien lisäksi protokolla tukee etsintäpaketteja, joilla on tarkoitus etsiä ePistoke-laitteita lähiverkosta. Tämän tyyppiset paketit eivät ole koskaan salattuja. Salauksen tarkoitus on estää ulkopuolisten pääsy vaihtamaan laitteen asetuksia. Käyttämällä salauksessa väärää avainta tarkiste ei täsmää paketin kanssa, jolloin paketti hylätään.
Oman protokollan lisäksi ePistoke tukee HTTP-protokollaa asetusten näyttämistä varten. Tällöin ei tarvita web-palvelinta, vaan internetselaimen sivun osoitteeksi kirjoitetaan ePistokkeen IP-osoitteen. Laitteen kehittämisen kannalta HTTP-tukea tulisi laajentaa asetusten vaihtamiseen. Tämä mahdollistaisi paremmin laitteen käyttämistä eri ympäristöissä.
ePistokkeen hallintaan käytettiin internetsivuja, mikä mahdollisti laitteiston riippumattomuuden. Samalla sivut kuitenkin vaativat web-palvelimen kotiympäristöön. Palvelinta pidettiin oleellisena myös työn tarkoituksen kannalta, sillä laitteen tuli olla etähallittava kodin ulkopuolelta. Internetsivut toteutettiin PHP:llä. Laitteen ohjaamista varten sivuille luotiin valmis olio, jota voidaan helposti käyttää muissa projekteissa hyödyksi. Oliolle luotiin valmiita funktioita, joilla laitetta ohjattiin.