• Ei tuloksia

Latenssimittauksen tulokset

Päätelaitteelta lähetetyn verkko- ja sovelluspalvelimen sekä MQTT-välittäjän kautta vas-taanotetun viestin mitatuksi latenssiksi saatiin 369 ms:ia. Testialustan tarkkuudeksi on

51

ilmoitettu 5,2 ms:ia ± 1,8 ms:in toleranssilla, joten keskimääräisen viiveen voidaan olettaa olevan välillä 362…376 ms. Taulukossa 5.1 on nähtävissä mittalukemat.

Taulukko 5.1 Latenssimittauksen tulokset

Selite Luku Yksikkö

Mittausten lkm 2783 kpl

Keskiarvo (aritmeettinen) 369,95 ms

Keskiarvo (geometrinen) 369,87 ms

Minimi 353 ms

Maksimi 513 ms

Keskihajonta 8 ms

Keskihajonnan keskivirhe ± 0,15

Mediaani 368 ms

Moodi 368 ms

Moodi ja mediaani ovat hyvin lähellä keskiarvoa, joten latenssin voidaan sanoa olleen mit-tausjärjestelyjen aikaan melko vakio. Vain muutamissa yksittäisissä mittauksissa viive kas-voi yli 500 ms:in, mistä korkeampi keskihajonta johtuu. Näin suuret poikkeamat ovat saat-taneet johtua TCP/IP-verkon arkkitehtuurista ja ohjelmien suoritussyklien vaihtelusta. Pi-simmilläänkin viive oli vielä kohtuullinen ja aikaisempaan tutkimukseen verrattuna melkein neljä kertaa lyhyempi.

Kuvassa 5.1 on esitetty mittaustulosten jakauma sekä jakauman sovitus log-normaalija-kaumaan. Kuvasta on nähtävissä, että suurimmassa osassa testilähetyksiä latenssi oli välillä 360…380 ms ja harvoissa yksittäisissä tapauksissa yli 400 ms:ia.

52

Kuva 5.1 Latenssimittaustulosten jakauma ja sovitus log-normaalijakaumaan

Jos oletetaan, että tässäkin mittausjärjestelyssä MQTT:n aiheuttama viive olisi sama kuin Kovalchukin julkaisussa eli 317 ms, niin päätelaitteen ja sovelluspalvelimen välinen viive olisi noin 50 ms:n luokkaa. Tässä järjestelmässä ei tällä lukemalla tosin ole merkitystä, koska data vastaanotetaan aina MQTT:n kautta, mutta parannus on silti ulkopuoliseen kolmannen osapuolen verkkopalvelimeen verrattuna huomattava. Tämän mittaustuloksen perusteella voidaankin suositella aikakriittisissä sovelluksissa käytettävän keskitettyä ja paikallista verkkoratkaisua. Myös hypoteesi voidaan todeta oikeaksi.

Pienemmän latenssin lisäksi paikallinen palvelin toimii kohteissa, joissa internet-yhteyttä ei ole saatavilla. Ulkopuolisen verkkopalvelimen tapauksessa verkon kaikkien yhdyskäytävien pitää olla jatkuvasti yhdistettynä ulkoverkkoon. Paikalliseen palvelimeen yhdyskäytävät voivat olla yhdistettynä sisäverkon kautta. Tätä dataa palvelin voi tallentaa ja käsitellä ilman jatkuvaa yhteyttä ulkoverkkoon. Tarvittaessa palvelin voi tietyllä aikavälillä lähettää dataa visualisoitavaksi. Lisäksi paikallisen palvelimen tapauksessa verkon tietoturva on täysin omassa hallinnassa. Vaikka LoRaWAN-versio 1.1 lisäsi tietoturvaa erillisellä liityntäpalve-limella, ei siitä ole hyötyä, ellei se ja sovelluspalvelin ole omassa hallinnassa. Ainakaan jos halutaan olla täysin varmoja, etteivät avaimet päädy ulkopuolisille tahoille.

53

Vaikka mittaukset toteutettiin valmiiksi käännetyllä LoRa Gateway OS -jakelulla ja sen tu-kemalla rauta-alustalla, ei päätelaite siltikään toiminut moitteettomasti. Lähetyssekvenssi piti useamman kerran käynnistää uudestaan, koska päätelaite ei enää lähettänyt dataa verk-koon. Ongelma näytti jäävän päätelaitteen puolelle, koska palvelinpuolella ei tarvinnut suo-rittaa uudelleenkäynnistyksiä. Kävi kuitenkin ilmi, ettei samoilla päätelaitteilla ja keskitti-mellä ole vastaavia ongelmia aikaisemmissa testeissä ollut. On siis mahdollista, että ongelma olikin palvelinpuolella. LoRaWAN-verkossa verkkopalvelimella on kuitenkin merkittävä rooli.

LoRa Server -projekti on vielä suhteellisen alussa ja siihen lisätään toiminnallisuuksia koko ajan. Työn kirjoittamisen aikaan LoRa Gateway OS -jakelusta on julkaistu vain test-versi-oita, joten täysin vakaata toimintaa ei ole syytä odottaakaan. LoRaWAN-standardissa on määritelty yhteensopivuus taaksepäin, mutta käytännön toteutukset voivat vaihdella. Työssä käytetyt päätelaitteet tukevat vain versiota 1.0, joten jatkotutkimuksen kannalta olisi mielen-kiintoista nähdä onko version 1.1 päätelaitteiden toiminnassa eroa.

54

6 YHTEENVETO

Tämän työn tavoitteena oli suunnitella ja toteuttaa LoRaWAN-verkkotuen lisääminen WRM-laitteeseen. LoRaWAN on LPWAN-teknologia, joka soveltuu pienitehoiseen langat-tomaan tiedonsiirtoon. WRM 247+ on Wapice Oy:n kehittämä mittaamiseen ja etähallintaan tarkoitettu IoT-laite, jonka käyttöliittymänä toimii pilvipalvelu IoT-Ticket. Työn tavoitteeksi asetettiin WRM-laitteessa pyörivä LoRaWAN-verkko, johon liittynyt päätelaite lähettää da-taa visualisoitavaksi IoT-Ticketiin. Työn LoRa-ohjelmistoksi valittiin LoRa Server -pro-jekti, koska se oli avoin, siinä oli tuki versiolle 1.1 ja siihen oli saatavilla valmiit Yocto-reseptit. Yhdyskäytävän toiminnallisuutta varten valittiin keskitin, joka oli valmiiksi saata-villa, ja jota valittu LoRa-ohjelmisto tuki.

Työn alussa eteneminen oli nopeaa ja näytti, että työ saataisiin valmiiksi jopa ennen määrä-aikaa. Useiden peräkkäisten haasteiden jälkeen aikataulusta kuitenkin jäätiin, eikä lopulta alkuperäiseen tavoitteeseen päästy. Työn tuloksena syntyi kuitenkin selvitystyö niistä haas-teista, joita tullaan kohtaamaan, jos tuotannossa olevaan WRM-laitteeseen halutaan lisätä kokonaisvaltainen LoRaWAN-verkko. Lisäksi esitettiin useita kohtia mahdollisille jatkotut-kimuksille. Työssä tutkittiin myös muita ratkaisuvaihtoehtoja, joissa osa tai kaikki verkon komponenteista on siirretty laitteen ulkopuolelle.

Lisäksi työssä toteutettiin flash-muistista riippumaton kehitysympäristö WRM-laitteen Li-nux-kehitykseen, sekä päivitettiin käyttöjärjestelmä uusimpaan Yocto-versioon. Päivityk-sessä ei otettu huomioon laitteen kaikkia toiminnallisuuksia tai mukautettuja ajureita eli suo-raan sitä ei voi tuotantoversiossa käyttää.

Työn lopussa suoritetussa mittauksessa selvitettiin, onko aikaisemmin mitatun päätelaitteen ja ulkopuolisen toimijan verkkopalvelimen välisessä tiedonsiirron latenssissa eroa paikalli-sesti toteutettuun verkkopalvelimeen. Hypoteesina päätelaitteen ja paikallisen palvelimen välillä latenssi olisi pienempi. Hypoteesi osoittautui oikeaksi ja latenssi oli jopa huomatta-vasti pienempi, vaikka MQTT:n viive oli mittauksessa mukana. Latenssimittauksen tuloksen perusteella onkin suositeltavaa käyttää keskitettyä ja paikallista verkkoratkaisua aikakriitti-sissä sovelluksissa.

55

LÄHDELUETTELO

Base64encode.org. 2019. www-sivu. <https://www.base64encode.org/> Luettu 1.6.2019

Butun, I., Pereira, N., Gidlund, M. 2018. Analysis of LoRaWAN V1.1 Security. Saatavissa:

<http://doi.acm.org/10.1145/3213299.3213304/>

Digita. 2019. www-sivu. <https://www.digita.fi/yrityksille/iot/> Luettu 17.3.2019

Eldefrawy, M., Butun, I., Pereira, N., Gidlund, M. 2019. Formal security analysis of Lo-RaWAN. Saatavissa: <http://www.sciencedirect.com/science/arti-cle/pii/S1389128618306145/>

Freescale Semiconductor. 2015. Introduction to Device Trees. Saatavissa:

<https://www.nxp.com/docs/en/application-note/AN5125.pdf/>

Gay, W. 2018. Advanced Raspberry Pi: Raspbian Linux and GPIO Integration. 2 painos.

Apress, Berkeley, CA. ISBN 978-1-4842-3948-3

Hirvonen, L. 2018. LPWA evaluation platform. YAMK-opinnäytetyö. Metropolia Ammat-tikorkeakoulu. Saatavissa: <http://urn.fi/URN:NBN:fi:amk-201805107483/>

Kovalchuk, O. 2018. Impact of MQTT Based Sensor Network Architecture on Delivery De-lay Time. Saatavissa: <https://arxiv.org/abs/1812.03296/>

Lammi, T. 2018. Feasibility of Application Containers in Embedded Real-Time Linux. Dip-lomityö. Tampereen teknillinen yliopisto. Saatavissa: <http://urn.fi/URN:NBN:fi:tty-201809052269/>

Linux Foundation. 2019. Yocto Project Overview and Concepts Manual. Saatavissa:

<https://www.yoctoproject.org/docs/2.6.1/overview-manual/overview-manual.html/> Lu-ettu 31.3.2019

56

Lora Alliance Technical Committee. 2018. LoRaWAN 1.1 Regional Parameters. Saatavissa:

<https://lora-alliance.org/sites/default/files/2018-04/lorawantm_regional_parame-ters_v1.1rb_-_final.pdf/>

Lora Alliance Technical Committee. 2017a. LoRaWAN 1.1 Specification. Saatavissa:

<https://lora-alliance.org/sites/default/files/2018-04/lorawantm_specification_-v1.1.pdf/>

Lora Alliance Technical Committee. 2017b. LoRaWAN Backend Interfaces Specification 1.0. Saatavissa: < https://lora-alliance.org/sites/default/files/2018-04/lorawantm-backend-interfaces-v1.0.pdf/>

Lora Alliance Technical Committee. 2017c. LoRaWAN Security - Full end–to–end encryp-tion for IoT applicaencryp-tion providers. Saatavissa: <https://lora-alliance.org/sites/default/fi-les/2018-04/lora_alliance_security_whitepaper.pdf/>

Loraserver.io. 2019. www-sivu. <https://www.loraserver.io/> Luettu 17.3.2019

Lorawan-server. 2019. www-sivu. <https://gotthardp.github.io/lorawan-server/> Luettu 17.3.2019

Microchip Technology Inc. 2019. RN2483 LoRa Technology Mote. Saatavissa:

<https://www.microchip.com/DevelopmentTools/ProductDetails/dm164138/> Luettu 31.3.2019

MQTT.FX. 2019. www-sivu. <https://mqttfx.jensd.de/index.php/references/> Luettu 1.6.2019.

Mundt, T., Gladisch, A., Rietschel, S., Bauer, J., Goltz, J., Wiedenmann, S. 2018. General Security Considerations of LoRaWAN Version 1.1 Infrastructures. Saatavissa:

<http://doi.acm.org/10.1145/3265863.3265882/>

57

OASIS Open. 2014. MQTT Version 3.1.1 - OASIS Standard. Saatavissa: <http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.pdf/>

Ojala, R. 2017. MQTT IoT-protokolla : Toiminta ja toteutus. AMK-opinnäytetyö. Jyväsky-län ammattikorkeakoulu. Saatavissa: <https://www.theseus.fi/bitstream/han-dle/10024/139798/Ojala_Rami.pdf/>

Patchwork - Kernel.Org. 2018. www-sivu. ARM: Fix Thumb-2 syscall return for binutils 2.29+. <https://patchwork.kernel.org/patch/10514315/> Luettu 6.6.2019

Patchwork - Kernel.Org. 2015. www-sivu. Warn loudly if instantiated from DT as "spidev".

<https://patchwork.kernel.org/patch/6113191/> Luettu 2.6.2019

Rethink Research. 2015. www-sivu. <https://rethinkresearch.biz/articles/semtech-announ-ces-stmicro-lora-licensing-deal-microchip-launches-11-module/> Luettu 31.3.2019

Semtech. 2019a. www-sivu. Semtech LoRa Gateways. <https://www.semtech.com/pro-ducts/wireless-rf/lora-gateways/> Luettu 17.3.2019

Semtech. 2019b. www-sivu. Semtech LoRa Transceivers. <https://www.semtech.com/pro-ducts/wireless-rf/lora-transceivers/> Luettu 17.3.2019

Semtech. 2017. Semtech SX1301 Datasheet. Saatavissa: <https://www.sem-tech.com/uploads/documents/sx1301.pdf/> Luettu 17.3.2019

Semtech Basic Station. 2019. www-sivu. The LoRaWAN Gateway Software.

<https://github.com/lorabasics/basicstation/> Luettu 17.3.2019

Semtech Corporation. 2015. LoRa Modulation Basics. Saatavissa: <https://www.sem-tech.com/uploads/documents/an1200.22.pdf/> Luettu 3.2.2019

Semtech Lora-Net. 2019. www-sivu. <https://github.com/Lora-net/> Luettu 17.3.2019

58

Simmonds, C. 2015. Mastering Embedded Linux Programming - Harness the Power of Linux to Create Versatile and Robust Embedded Solutions. Packt Publishing. ISBN 978-1-78439-253-6

The Things Network. 2019. www-sivu. <https://www.thethingsnetwork.org/community/>

Luettu 17.3.2019

Wapice. 2018. www-sivu. <https://www.iot-ticket.com/> Luettu 17.3.2019

Yang, X., Karampatzakis, E., Doerr, C., Kuipers, F. 2018. Security Vulnerabilities in Lo-RaWAN. Saatavissa: <https://doi-org.ezproxy.cc.lut.fi/10.1109/IoTDI.2018.00022/>

Yocto Project. 2019. www-sivu. Saatavissa: <https://layers.openembedded.org/> Luettu 18.4.2019