TKI-ympäristö kehittämisen tukena

Digitaalisten kaksosten TKI-ympäristö on osa digitaalisten kaksosten kokeiluympäristöä

Digitaalisten kaksosten TKI-ympäristö tukee yhteiskehittämistä, jossa hankkeen toimijat yhteistyössä hyödyntävät ratkaisuita todettujen tarpeiden mukaisesti. TKI-ympäristön luomisessa käytetyt ohjelmistokomponentit julkaistaan avoimilla lisensseillä hankkeen aikana. Niiden avulla aiheesta kiinnostuneet voivat itse ottaa käyttöönsä tarvitsemiaan komponentteja.

Keskeisessä roolissa TKI-ympäristössä ovat Docker Compose -työkalulla toteutetut palvelukoosteet, joista voidaan käynnistää kooste palveluista tai yksittäisiä palveluita. Seuraava kuva esittelee TKI-ympäristön arkkitehtuurin kuten se hankkeessa toteutettiin, mutta muut toimijat voivat ottaa TKI-ympäristön käyttöön omien tarpeidensa mukaisesti.

TKI-ympäristön arkkitehtuurin yleiskuvaus

Seuraavissa nostoissa käydään läpi arkkitehtuurikuvan eri osa-alueet. Arkkitehtuurikuvan suunnatut viivat merkitsevät tiedon kulkua eri toimijoiden välillä.

Esimerkkikohteita

Mallinnuksen tasot

Digitaalinen kaksonen, eli Digital Twin (DT), on kirjallisuudessa jaoteltu kolmeen eri tasoon riippuen digikaksosten automaatiosta. Nämä tasot ovat lyhyesti digitaalisia 1) malleja, 2) varjoja, sekä 3) kaksosia.

Hankkeessa luotua MapFormer-sovellusta hyödynnetään kolmen erilaisen digitaalisen kaksosen mallinnuksen esittämisessä käyttöliittymän muodossa. Havainnollistavien esimerkkikohteiden pääpiirteet osuvat edellä mainittuihin digitaalisen kaksosen tasoihin seuraavasti:

  1. Digitaalinen malli: Katuvalaistuksen DT
    Tiedonsiirto on manuaalista molempiin suuntiin
  2. Digitaalinen varjo: Kiinteistötekniikan DT
    Tiedonsiirto on automaattista vähintään yhteen suuntaan
  3. Digitaalinen kaksonen: Varastotilanteen DT
    Tiedonsiirto on automaattista molempiin suuntiin

Organisaatio voi valita tason, jolla mallinnettava digitaalinen kaksonen parhaiten kuvantaa todellista ilmentymää sekä tukee tarvittavaa käyttötarkoitusta

Sensoriverkko

Sensoriverkko on linkki fyysisen ja mallinnetun maailman välillä.

TKI-ympäristön sensoriverkossa voidaan hyödyntää monia erilaisia laitteita tai vaikkapa kolmannen osapuolen lähdeaineistoja. Sensoriverkon laajimpana esimerkkinä toimii Kiinteistötekniikan DT, missä seurattiin useista lähteistä saatavia mitattavia suureita. Esimerkkikohteen datakeräykseen käytetyt sensorit ja mittalaitteet olivat seuraavia:

  • Lämpötila (Shelly H&T ja H&T Gen3)
  • Kosteus (Shelly H&T ja H&T Gen3)
  • Energiankulutus ja hetkellinen teho (Shelly Pro EM-50 ja Pro 3 EM (400))

Lisäksi hyödynsimme kolmansien osapuolien rajapintoja mittauksien lukemisessa. Näitä olivat:

  • Ilmatieteenlaitoksen rajapinta lämpötilatiedon lukemiseen
  • AqvaIO LeakLook -rajapintaa kuuman ja kylmän käyttöveden kulutuksen seurantaan

Datalähteet

TKI-ympäristön esimerkkikohteiden lähtötietoja hyödynnetään mahdollisimman monipuolisesti halutun lopputuloksen saavuttamiseksi. Lähtökohtana oli yhdistää paikkatieto jonkin kohteen tai laitteen muihin tietoihin. Lähtötietoja kerättiin myös esimerkiksi erilaisista taulukkolaskentatiedostoista, mitkä oli muodostettu kohdeorganisaation toimesta.

Digitaalisten kaksosten datalähteiden tyypit voidaan jakaa manuaaliseen ja automaattiseen tiedonsiirtoon kykeneviksi. Seuraavassa on listattu muutamia piirteitä, joiden avulla voidaan päätellä minkälaista tiedonsiirtomuotoa on mahdollista käyttää:

  • Manuaalinen tiedonsiirto
    Tiedostot kuten tekstit ja laskentataulukot, tuonti ja vienti (export & import)
  • Automaattinen tiedonsiirto
    Rajapinnat, kyselyt, tietokannat

Pääsääntöisesti automaattiseen tiedonsiirtoon tarvitaan kehitystyötä ensimmäisien tuontien yhteydessä. Manuaalisen tiedonsiirron tueksi on toki mahdollista tehdä erilaisia skriptejä helpottamaan siirtotyötä, mutta on normaalia, että (ylimääräistä) työtä kertyy jokaisella tiedonsiirtokerralla.

Digitaalisen kaksosen TKI-ympäristö

TKI-infrastruktuuri

Digitaalisen kaksosten TKI-ympäristön taustajärjestelmänä toimii kokoelma erilaisia hyväksi havaittuja palveluita. Nämä ohjelmistot ja palvelut, eli ohjelmistopaketti, mahdollistavat sensoridatan tallentamisen ja noutamisen. Koko taustajärjestelmä on lisäksi mahdollista käynnistää Docker-kontteina Docker Compose -työkalun avulla.

Docker ja Docker Compose -työkalujen mahdollistaa erittäin hyvän siirrettävyyden sekä konfiguroitavuuden palveluita asennettaessa. Käytännössä tarvitaan muutamien määrityksien muokkauksia:

  • .env -tiedoston määritys
  • Docker volumes -pysyväislevyjen luonti
  • Liitettävien palveluiden asetusten määritys ja varmistus
  • tarvittavien salaisuuksien (kuten salasanojen) määritys

MapFormer-sovellus

MapFormer-sovellus on hankkeessa luotu käyttöliittymäkokonaisuus, jolla voidaan näyttää ja tarkastella toteutettujen digitaalisten kaksosten tietoja. Sovelluksen nimi, MapFormer, muodostuu osista Map ja Form, eli vapaasti käännettynä ”kartanmuodostaja”. Nimen taustalla on sovelluksen alkuperäinen tarkoitus, mikä oli visualisoida erilaista tietoa kartalle paikannettuna.

MapFormer-sovellusta kehitettiin aluksi yksittäisen pilotin verkkosivustoksi, mutta hankkeen edetessä huomattiin, että eri piloteissa käytettyjä rakenteita voitiin näyttää sovelluksen runkoa hyödyntäen ja uudelleenkäyttäen. MapFormer-sovellus rakentuu Next.js ja React-sovelluskehyksien päälle.

MapFormer-sovellusta käytetään osana digitaalisen kaksosen TKI-ympäristöä. MapFormer-sovellus keskustelee TKI-ympäristön toisen ohjelmistopaketin, TKI-infrastruktuurin kanssa. TKI-infrastruktuuri on kokoelma työkaluja ja tietokantasovelluksia, joiden avulla rakentuu hankkeen pilottien käyttämä tietovaranto.

TKI-ympäristön tekninen aineisto

Digitaalisen kaksosen mallinnus ja määritelmät TKI-ympäristössä

Digitaalisten kaksosten TKI-ympäristöä hyödyntävät ja mallinnetut esimerkit koostuvat sijaintitiedosta (Site). Sijaintitiedot rakentuvat edelleen tarvittavasta määrästä käyttäjää kiinnostavia kohteita (POI, Point of Interest).

Sijaintitieto, eli Site, sisältää yksinkertaisen karttatason esittämiseen tarvittavat tiedot. Listauksen lihavoidut attribuutit ovat pakollisia, kun taas kursivoidut ovat vaadittuja vain mikäli ylätason attribuutti esiintyy:

  • tunniste (id)
  • nimi (name)
  • kuvaus (description)
  • valinnat (options)
    • paikannetiedot (location)
      • lat
      • lon
    • kartan tarkennusetäisyys (zoom)
    • kartan peittokuva (overlay)
      • peittokuvan osoite (url)
      • peittokuvan asemointitiedot (bounds)

Kiinnostavat kohteet, eli POIt, sisältävät enemmän variaatiota mallinteiden välillä. Jokaisessa kiinnostavassa kohteessa on kuitenkin tunnistettu seuraavat vakiotiedot, eli ne ovat aina vaadittuja attribuutteja:

  • tunniste (id)
  • nimi (name)
  • kuvaus (description)
  • kuvaava suure (unit)
  • valinnat (options)
    • paikannetiedot (location)
      • lat
      • lon

Kiinnostavat kohteet on määritelty siten, että järjestelmä sallii niiden valinnaisiin tietoihin (options) sovelluskohtaisia määritteitä. Digitaalisen kaksosen mallinnuksen taso tai monimuotoisuus ei välttämättä riipu siitä, miten paljon sovelluskohtaisia määritteitä kohteeseen liittyy. Erilaiset asiakaslähtöiset tarpeet osaltaan määrittelevät ylimääräisten kenttien määrän.

TKI-ympäristön tekninen dokumentaatio

TKI-infrastruktuuri rakentuu seuraavista komponenteista (suluissa on maininta tarkentavasta Docker-kontin nimestä ja versionumerosta):

  • caddy (2-alpine): HTTP(S) verkkopalvelin, jolla voidaan reitittää pyynnöt julkisesta verkosta tiettyihin Docker-kontteihin
  • eclipse-mosquitto (2): MQTT-palvelu sensoritiedon vastaanottamiseen
  • TICK Stack (Telegraf, InfluxDB, Chronograf & Kapacitor)
    • telegraf (alpine): Kommunikointiin ja tiedonsiirtoon MQTT- sekä InfluxDB-palveluiden välille
    • influxdb (2-alpine): Aikasarjatietokanta datapisteiden tallentamiseen ja noutamiseen
    • chronograf (1.10-alpine): Käyttöliittymä aikasarjatietokannan datapisteiden kyselyyn ja hallintaan
    • kapacitor (alpine): Erilaisten muutosten seurantaan, muun muassa hälytysten luomiseen käytetty palvelu
  • grafana (grafana-oss:10.4.2): Monipuolinen käyttöliittymä aikasarjatietokannan datapisteiden esitykseen

Edellä mainituista palveluista telegraf-komponentti on sellainen, joita kannattaa määritellä useampi instanssi, esimerkiksi yksi jokaista erilaista tietolähdettä kohden. Muissa tapauksissa yleensä yksi (ja vain yksi) instanssi on tarpeen. Telegraf on samalla myös yksi tärkeimmistä komponenteista jolla dataa ja tietoa tallennetaan tietokantaan. MQTT-komponentti on käyttökelpoinen muun muassa kaksisuuntaisen kommunikoinnin mahdollistajana.

MapFormer-sovelluksen dokumentaatio

MapFormer-sovellusta hyödyntävät mallinnetut digitaalisten kaksosten sovellusesimerkit määrittävät seuraavasti omat sovelluskohtaiset valinnat (options):

  1. Katuvalaistuksen DT
    • Listaus kohteen kuvista (imageURL)
    • Valaisimen suuntaus (direction)
    • Valaisimen tehokkuusluokka (wattage)
    • Kohteen tunniste alkuperäisessä järjestelmässä (oldID)
  2. Kiinteistötekniikan DT
    • Lisätietoja sisältävän tietonäkymän linkki (influxUrl)
    • Automaattiseen tiedonsiirtoon käytettävät asetukset (mqtt)
  3. Varastotilanteen DT
    • Automaattiseen tiedonsiirtoon käytettävät asetukset (mqtt)