2. Esineiden internet ja 5G-teknologia


Esineiden internetillä tarkoitetaan internet-verkon laajentumista laitteisiin ja koneisiin, joita voidaan ohjata, mitata ja sensoroida internet-verkon yli. Esineiden internetiä sanotaan myös teolliseksi internetiksi (Internet of Things = IoT). Esimerkkejä verkkoon kytketyistä laitteista tulevaisuudessa voivat olla auto, puettava teknologia tai vaikkapa kodin lämmitysjärjestelmä. Tietoturvallisuuden merkitys tulee esineiden internetin myötä kasvamaan. Jotkut laitteet ja järjestelmät halutaan todennäköisesti pitää turvallisuussyistä kokonaan internetin ulkopuolella (esim. pankkiautomaatti tai teollisuusrobotti). Tulevaisuudessa kaikenlaisten sulautettujen järjestelmien määrä jatkaa kasvuaan. Lisäksi yhä useampi laite yhdistetään internettiin. Nykyiset mobiiliverkot eivät kestä jatkuvasti kasvavaa kuormaa, joten verkkojen kapasiteetille ja nopeudelle on nousupaineita. Näihin vastaa 2020-luvulla 5G-teknologia.

Tehtävä 1

Aloita lukemalla tämä artikkeli 5G-teknologiasta. Katso sen jälkeen alla olevat videot

Lisätehtävä: Katso vielä tämä introvideo ja lue läpi artikkelit 1 ja 2

Tehtävä 2

Toteutetaan oma yksinkertainen sulautettu järjestelmä Raspberry Pi:n avulla. Tavoitteenamme on kytkeä LED-valo Raspberry Pi:n GPIO pinniin ja toteuttaa Python-ohjelma, jolla valoa ohjataan. Tarvitset edellisen harjoitustehtävän oheistarvikkeiden lisäksi ledin, vastuksen ja kolme kappaletta female-female-kaapeleita näiden yhdistämiseen.

Vaihe 1: LED-valon testaus

Kytketään ensin johdinpiuhat lediin ja vastukseen seuravasti (huom. led-valon lyhyempi jalka kytketty vastukseen):

Seuraavaksi kytkemme johtimet Rasperry Pi:n pinneihin. Alla olevaan kaaviokuvaan on merkitty kolme pinniä, joita käytämme tässä harjoitustehtävässä

Kytkemme aluksi vastuksen maahan (GND -pinni) ja led-valon 5V jännitepinniin. Kytkentä näyttää seuraavalta (toteuta täsmälleen sama):

HUOM! ÄLÄ KOKEILE OMIA KYTKENTÖJÄ (kun FY6 -kurssi on käyty ymmärrät enemmän näistä kytkennöistä). Jos kaikki meni hyvin, led-valo syttyi palamaan.

Vaihe 2: LED-valon ohjaus

Edellisessä vaiheessa saatiin lamppu syttymään, mutta kyseisellä kytkennällä emme pysty ohjaamaan lamppua. Irrota LED-valo 5V pinnistä ja kytke se GPIO18 pinniin kuten alla olevassa kuvassa

led-valo ei syty palamaan, koska GPIO-pinnit ovat oletusarvoisesti kiinni. GPIO-pinnejä päästään ohjaamaan Pythonkoodilla.

Avataan ensin Python 3 kehitysympäristö IDLE3 pääkäyttäjäoikeuksilla. Tämä tapahtuu avaamalla ensin Terminal (komentokehote) ja syöttämällä komento

sudo idle3 &

Odota että IDLE3 käynnistyy. Avaa uusi editori valitsemall File -> New Window ja kopioi alla oleva koodi editoriin.

  • Kokeile ajaa ohjelma (run -> run module)
  • Laita valo vilkkumaan “randomisti”. Käytä Random-luokkaa
  • Tee reaktioaika-peli (kaksinpeli, jossa pelaajien täytyy klikata valittua näppäintä valon sytyttyä…)
# Ensin importataan GPIO matskut ja aika-luokka
import RPi.GPIO as GPIO 
import time

# Otetaan GPIO käyttöön
GPIO.setmode(GPIO.BCM) 
GPIO.setwarnings(False)

# led -valo on GPIO18 pinnissä
led = 18 
GPIO.setup(led, GPIO.OUT)

kierrokset = 0

while kierrokset < 10
    # kytketään led päälle arvolla 1
    GPIO.output(led, 1)
    # nukutaan sekunti
    time.sleep(1)
    # kytketään led pois päältä arvolla 0
    GPIO.output(led, 0) time.sleep(1) # "Siivotaan" portit sovelluksen päätyttyä GPIO.cleanup()