Kahvikutsu napin painalluksella – Skillwell toi IoT:n taukohuoneisiin

Julkisiin tiloihin on ilmestynyt asioiden internetiä eli IoT:tä vähän sinne sun tänne. Yleisestä wc:stä voi löytyä nappi, jota painamalla henkilökunta tai siivousfirma saa pyynnön tuoda lisää puhdasta käsipyyhettä. Sinunkin toimistossa saattaa olla painike, jonka painallus tekee automaattisen tilauksen, kun tulostuspaperi, pesuaine tai kahvi on päässyt loppumaan.

Skillwell päätti päivittää myös Jyväskylän uudenkarhean Crazy Townin ajan hermoille hankkimalla yhteisiin keittiötiloihin kahvikutsupainikkeen.


Miten se toimii?

Kahvipainikkeen toimintaperiaate on yksinkertainen. Kun joku on keittänyt kahvia, siitä voi kertoa muille nappia painamalla. Painallus lähettää viestin pikaviestintäsovellus Slackiin, jossa kahvibotille on perustettu oma kanava.

Kahvikutsun pamahtaessa kanavalle, voi jokainen puntaroida oman kahvihampaansa kolotuksen astetta. Mikäli kofeiinin tarve lähentelee huippuaan, on syytä suunnata yhteiseen kahvihetkeen.

 


Miten se toimii konepellin alla?

Hypätäänpä sitten tekniikan puolelle. Kyseessä on siis AWS:n IoT-painike, johon saa ohjelmoitua kolme eri toimintoa. Lyhyt painallus, tuplaklikkaus sekä pitkä painallus. Näihin toimintoihin voidaan liittää haluttua toimintalogiikkaa.

Käytännössä homma toimii niin, että IoT-painike rekisteröidään AWS:n IoT Core -palveluun, ja painikkeelle luodaan omat sertifikaatit, jotka sallivat keskustelun AWS:n palveluiden kanssa. Painike liitetään lähiverkkoon WiFi:n kautta ja sertifikaatit lisätään painikkeelle. Kun keskustelu AWS:n pilven kanssa on saatu tulille, toimii IoT-painikkeen painallus herätteenä lambda-funktiolle.

Meidän tapauksessamme Slack-keskusteluyhteisöön luotiin uusi applikaatio, jolle lisätään sisääntuleva webhook. Eli kun Slack-yhteisölle tulee tietty kutsu, tapahtuu tietty asia. Halusimme korostaa yhteisöllisyyttä ja pyytää porukkaa yhteiselle kahvisessiolle kuuman kupposen ääreen. Kun nämä toiminnallisuudet nidotaan yhteen, toimii IoT-painikkeen painallus herätteenä (trigger) lambda-funktiolle, joka lähettää viestin Slack-palvelulle, joka julkaisee Slack-keskustelukanavalla halutun viestin kahvin saatavuudesta.

Yksinkertaista, eikö?