Piirileikkeja
14.02.2018
Mikko Hämäläinen

Piirileikki – rauta taipuu tahdonvoimalla

Vaikka läjä antureita mittaamassa moottorin pakokaasuja keskellä Itämerta tuntuu, ainakin itselleni, kohtalaisen kaukaiselta ajatukselta, toi Internet of Things -ilmiö fyysisen raudan rakentamisen lähemmäs rivikoodaajan arkea ja (mikro)piirileikit lienee syytä ottaa tulevaisuudessa tosissaan.

Omalta osaltani kiinnostus elektroniikkaan syttyi uudelleen Arduino-alustan myötä ja piirisarjojen sekä niihin liittyvän kollektiivisen tiedon kehittyessä rautahommat inspiroivat jatkuvasti enemmän. Koska tässäkin puuhassa se ensimmäinen askel on vaikein, koitan tässä kirjoituksessa valaista polun alkupäätä omilla kokemuksillani.

Miten ja miksi

Peruselektroniikkaa voi rakennella ilman mikrokontrollereitakin, mutta silloin rautainen elektroniikkaosaaminen on tarpeen. Vilkkuva ledi vaatii 555-ajastimen, ledin, sekä muutaman vastuksen ja kondensaattorin ja ne tökkii paikalleen nettiohjeilla muutamassa minuutissa internetin ohjeiden avulla. Koodaajalle luontevampi tapa on kuitenki laittaa ledi vilkkumaan mikrokontrollerin ja koodin avulla, jolloin vilkuttelun voi tehdä vaikka internetin yli. Tylsähkön ledin vilkuttamisen sijaan voi myös sytytellä ja sammutella valoja Google Homen, IFTTT:n ja MQTT protokollan kautta tai mitata palaako jääkaapissa valo oven ollessa kiinni.

Arduinosta on mielestäni aika jättänyt parempien piirien tultua markkinoille. Sen teki aikoinaan suosituksi alustan avoimuus ja hyvä dokumentaatio. Omiin tarpeisiini Arduino on kuitenkin turhan rajoitettu, koska sen kytkeminen ulkomaailmaan vaatii ulkoisen kikkareen kytkemisen kiinni piiriin. Kikkareella on hintansa ja kytkemisessä vaivansa.

Törmäsin puolisen vuotta sitten Espressif Systems:sin tekemään ESP8266 Wifi-mikrokontrolleriin. Piiriä voi ohjelmoida Ardinon SDK:lla (ja monella muullakin), siinä on sisäänrakennettu TCP/IP stackki ja yhden moduulin hinta kiinasta tilattuna on muutamia euroja. ESP8266 on siis kuin Arduino steroideilla.

Useampi valmistaja tekee ESP8266:een pohjautuvia moduuleita. Moduuli tuo pakettiin mukaan elämää helpottavia lisäominaisuuksia kuten jänniteregulaattorin ja USB-portin. Itse olen kokeillut Wemosin D1 sarjalaisia ja NodeMCU:n piiriä. Koodin toimivuuden kannalta moduulivalinnalla ei ole hirveästi merkitystä, mutta pinnien lukumäärä ja järjestys vaihtelevat moduulista toiseen. 

Mitä sitten tehtäisiin

Komponenttien tilailu on helppoa mutta hidasta, Kinasta ostavan kannattaa varautua kuukauden toimitusaikaan. Kun rojut ovat saapuneet kotimaan kamaralle, on aika alkaa miettimään mitä niistä sitten voi rakentaa. 

Koska piirissä itsessään on langaton verkko, onnistuu nettiin kytkeytyminen muutamalla koodirivillä. Vähän isommalla vaivalla syntyy webbiserveri, joka ensimmäisellä käynnistyskerralla luo oman verkon ja siihen captive portaalin, jonka kautta voi internetin avatakseen syöttää kotiverkon tiedot. Sen jälkeen piiri tarjoilee mukisematta verkkosivuja – joskin sivujen koodaaminen C:llä ei ihan hirveän herkullista puuhaa ole. Verkon kautta voi myös luonnollisesti ohjata piiriin kytkettyjä laitteita, kuten servomoottoreita tai releitä tai lukea kytkettyjen antureiden arvoja ja julkaista niitä verkkoon.

Mikäli haluaa kiikuttaa projektinsa kotiverkon kantaman ulkopuolelle, voi espiin kytkeä GSM modeemin ja lähetellä tietoa tekstiviesteinä. 

Omat projektini ovat olleet tähän asti lähinnä erilaisia kokeiluita. Tein MQTT-protokollaa käyttävän testin, joka mittaa lämpötilaa halvalla DHT11-lämpötila-anturilla ja lähettää tiedon MQTT-välittäjän kautta kännykkääni. Rakensin virityksen joka sytyttää ja sammuttaa piirillä olevaa lediä kun mölyän makuuhuoneessani olevalle Google Home Mini -pöntölle (kiitos Druidi joululahjasta) ja viimeisimpänä virityksenä ostin kiinasta A6 GSM modeemin ja käskytän sitä sarjaliikenteen ja AT-komentojen avulla lähettämään itselleni tekstiviestejä kolmen minuutin välein. Ihan vain koska voin.

Projekti-ideoita ja inspiraatiota

Jos kolmen euron wifi-enabloitu ja tarvittaessa pattereilla toimiva tietokone ei toimi nörtille inspiraationa, ei sitten mikään. Mutta, kuten IoT:ssä tuntuu monen yrityksen osalta käyneen, konseptia on helpompi ihailla etäältä kuin keksiä mitä sillä itse tekisi.

Kotiprojekteihin voi hakea inspiraatiota Hackadayn hakemistosta, josta löytyy toinen toistaan kunnianhimoisempia ESP8266:seen pohjautuvia projekteja. Myös Github on täynnä esp-projekteja, kirjastoja ja esimerkkikoodia. Mitä tahansa haluat piiriisi kiinnittääkkään, siihen todennäköisesti löytyy jo valmis kirjasto. 

Itse olen miettinyt tekeväni erilaisia kotiautomaatioratkaisuita: etäkäynnistettävä kahvikone, valojen vilkuttelua tai “onko laatikossa postia” -tyyppisiä sovelluksia. Sinäänsä siis ihan samaa kuin mitä muutkin ovat tehneet.  

Meillä Druidilla on yksi kokonainen nurkkaus pyhitetty piirileikeille. Hankimme tänne viime vuonna työkalut, kolvausaseman, läjän erilaisia antureita, GSM-piirejä ja Arduinoja ja workshoppasimme muutamaankin otteeseen työpäivän jälkeen yhdessä erilaisia projekteja. Elektroniikkaharrastuneisuutemme tiimoilta on syntynyt mm. ledeillä toimiva matopeli ja Drupalilla ohjattava robottikäsi. Itse pidin taannoin täällä Druidilla lyhyen perjantaipresiksen ESP8266:ta, jossa demoilin lähinnä WLAN-ominaisuutta ja verkkosivujen tarjoilua suoraan piiriltä.

Mikäli mikropiirit ja ESP8266 kiinnostavat, pingaa vaikka meitä Facebookissa niin voin raapia tänne enemmänkin tutoriaaleja aiheesta 🙂

Kirjoittaja