Työskentelen erilaisten teknologiayritysten somen parissa, joten IoT eli esineiden internet on terminä minulle varsin tuttu. Kaipasin kuitenkin syvällisempää ymmärrystä aiheesta. Niinpä hakeuduin maaliskuussa käytännön kurssille työväenopistoon.
Kokkaamaan ja virkkaamaankin oppii lähinnä vain tekemällä, joten miksei myös jonkin teknisemmän asian oppiminen luonnistuisi samalla tavalla? Sitä paitsi virkkaus- ja kokkausohjeetkin voivat olla lukuisine lyhenteineen todella teknisiä.
Ensimmäisellä kurssikerralla rakensimme yksinkertaisen sääaseman. Se oli melko helppo projekti, josta sain havaittavia tuloksia nopeasti: puhaltamalla anturin suuntaan sai välittömästi tiedon siitä, että ilmankosteuden taso oli muuttunut.
Seuraavilla kerroilla sääasema sai oman tietokoneen, ja pääsimme Telegram-sovellusta käyttäen tilaamaan ilmoituksen anturin havaitsemista säätilan muutoksista. Lisäsimme siis älyä sääasemaan.
Apuvälineinä suurennuslasi ja aterinveitsi
Kuinka sääasema sitten ihan käytännössä rakennettiin? Yksinkertaisen sääaseman rakentamiseen tarvitaan leipälevy (breadboard), hyppylankoja, mikro-ohjain, anturi, usb-johto ja tietokone. Ohjelmistojen osalta Arduino IDE riitti ensi alkuun.
Kuvassa esitetty järjestyksessä vasemmalta oikealle: leipälevy, hyppylanka, mikro-ohjain, anturi ja tietokone.
Mikro-ohjain on näistä tarvikkeista tärkein. Hyvin yksinkertaistettuna, kontrollerin tehtävänä on toimia datan välittäjänä anturin ja tietokoneen välillä. Se on siis pieni tietokone itsessään, joka tarvitsee vain virtalähteen toimiakseen. Esimerkiksi pesukoneiden, lämpömittareiden ja jääkaappien ohjaustoiminnot toimivat mikro-ohjainten varassa.
Apuvälineeksi tarvitsin Hackmanin aterinveistä (suositus), mutta muukin tylppä ohutteräinen veitsi käy. Mikro-ohjaimen piikit nimittäin jäivät tiukkaan kiinni leipälevyyn, ja paras tapa saada osat irti on kammeta ne veitsen kärjellä erilleen. Suurennuslasista oli myös apua, kun pikkuruisen anturin pikkupräntistä piti saada selkoa. Kuumaliimaa, sähköteippiä tai kaksipuoleista teippiä en kurssilla tarvinnut, mutta niitä voi edistyneemmissä projekteissa hyödyntää, kun komponenttien ja liitosten määrä kasvaa.
Koodaamista ei tarvinnut kurssilla suoranaisesti osata, sillä tarvittavaa koodia löytyi valmiina tai puolivalmiina kurssin materiaaleista. Internetistä löytyvien aloittelijatason projekteihin koodia on yleensä saatavilla valmiiksi kirjoitettuna joka tapauksessa. Ohjelmoinnin perusperiaatteiden ymmärtäminen kuitenkin helpotti koodin lukua ja sen käsittelyä.
Sääaseman tietokone oli Raspberry PI, joka on pienen kokonsa ja edullisuutensa takia usein käytetty IoT-projekteissa. Raspberry PI (tuttavallisesti suomalaisen suussa RasPI) -tietokone kehitettiinkin juuri siksi, että tietojenkäsittelyä olisi mahdollisimman helppoa ja edullista opetella.
Suurin osa tarvikkeista on edullisia ja niitä saa melko helposti. Globaali komponenttipula on kuitenkin vaikuttanut kaikkien laitteiden saatavuuteen eli ostohousujen kannattaa olla pitkäkestoiset.
Hyötyä ja hauskaa samassa paketissa
Mitä somespesialisti hyötyi tästä?
En vielä voi julistaa, että ymmärtäisin täysin kaikki teknisen toteutuksen takana vaikuttavat asiat, enkä myöskään osaa vielä täysin itsenäisesti shoppailla komponentteja seuraaviin projekteihin. Silti, minulla oli hauskaa ja huomasin ymmärtäväni aihetta paljon paremmin kuin odotin. Sain myös sellaista käytännön tietoa, jota oppii vain tekemällä. Vähän samalla tavoin kuin kokkauksessa: On eri asia lukea reseptejä kuin laittaa ruokaa itse ja havainnoida prosessia tekemisen lomassa.
Pidän myös askartelusta ja käsitöistä, joten IoT:n harrastamisessa samantapaiset tiedot ja taidot tulevat myös käyttöön. Tarvitaan hieman sorminäppäryyttä, silmälasit ja suurennuslasi. Höysteeksi tietysti sinnikkyyttä kokeilla eri asioita sekä myös purkaa se mitä on saanut aikaiseksi, kun jossain kohtaa on tapahtunut virhe, sekä aloittaa alusta paremmin tiedoin.
Vaikka kurssilla projektinamme oli tehdä sääasema, opin, että mahdollisuudet tee-se-itse-IoT-projekteihin eivät siihen suinkaan lopu. Antureita on monenlaisia ja harrastuskäyttöön niitä saa myös edullisesti. Liikkeentunnistusanturia voi käyttää kahvikeittimen täyttymisen mittaamiseen (ja lähettämään viestin puhelimeen, kun pannu on täynnä)* tai seuraamaan sitä, kuinka usein vessanpönttö tyhjennetään tai kuinka usein kissa käy hiekkalaatikolla.**
Sain kurssista myös välittömämpää hyötyä, kun eräässä somekanavassa kysyttiin, onko suomenkielisiä ESP8266 -ryhmiä eli mikro-ohjaimiin erikoistuneita ryhmiä olemassa. Valitettavasti suomenkielisiä ryhmiä ei löytynyt, mutta useita kansainvälisiä ryhmiä sen sijaan löytyi, ja pystyin ohjaamaan kommentoijan niiden pariin. Kuka tietää, ehkä joku netprofilelainen saattaa innostuessaan perustaakin suomenkielisen ryhmän?
PS. Älä unohda tietoturvaa!
Laitteiden liittäminen internetiin sisältää aina riskin siitä, että verkon yli saattaa tulla jotain epätoivottua, joka pahimmillaan saastuttaa laitteesi. IoT-projekteja kannattaakin rakennella suojatulla yhteydellä, joka yleensä onneksi löytyy ihan kotinetistä.
*Tiesitkö, että tuttu webkamera sai alkunsa siitä, että Cambridgen yliopiston tietojenkäsittelytieteiden opiskelijat halusivat nähdä, oliko kahvihuoneen pannussa kahvia. Tarina kertoo, että kahvihuoneeseen oli pitkähkö matka, joten kameralla oli selkeä tehtävä ja rooli opiskelijoiden päätöksenteossa, kun he menivät hakemaan kupin sumppia. Webkamera operoi vuodesta 1991 vuoteen 2001 asti ja kuvasi uskollisesti kahvipannun kylkeä, kertoen katsojille ajantasaisen tilan kahvin määrästä.