maanantai 16. toukokuuta 2016

Kesäprojekti: Wifi-sääasema

Tämän vuoden aikana minulle on rantautunut Kiinasta erinäisiä nyssäköitä, jotka sisältävät  elektronisia komponentteja. Vihdoinkin keksin niistä jonkun järkevän projektin, joka ei ole liian monimutkainen, mutta kuitenkin tarpeeksi haastava:

My Internet of Things - thing: Wifi-sääasema

Internet of Things (IoT) on yksi tämän päivän isoimpia ja ärsyttävimpiä muotisanoja. Sillä tarkoitetaan kaiken mahdollisen yhdistämistä internetiin; älytaloja, -jääkaappeja, -leivänpaahtimia, -termostaatteja, -leluja, -kissanruokakuppeja ja niin edelleen. Henkilökohtaisesti en näe mitään syytä miksi joku haluaisi leivänpaahtimensa nettiin, mutta ilmeisesti markkinatalous on päättänyt, että siihen ollaan menossa. Mutta mikäpäs siinä toisaalta, lisää töitä tulevaisuuden minulle.

Projektin tavoite

Tarkoituksena on tehdä esteettisesti ihastuttava laatikko, joka näyttää ajankohtaisen sääennusteen esim. animaationa tai kuvana sisäänrakennetulta näytöltä, jonka virkaa ajaa 8 x 8 pikselin RGB LED-matriisi. Laatikko on pähkinäpuuta ja näyttö tulee sumennetun pleksimuovin taakse.

Laatikko, LED-matriisi ja sinällään aika randomi FTDI USB to Serial konvertteri, jolla ohjelmoidaan ESP8266 -wifimoduulia, jota en tähän hätään löytänyt. Miksi niitten täytyy olla niin pieniä?

Projektin sydämenä toimii ESP8266 -wifimoduuli, joita saa ebaystä muutamalla dollarilla. Erillistä mikrokontrolleria ei näillä näkymin tarvita, sillä joku hieno henkilö on kirjoittanut Arduino-IDE:stä version, jolla voi ajaa koodia suoraan moduulin omalla prosessorilla. 

Ehkäpä isoin kysymysmerkki tällä hetkellä on varsinaisen säädatan hankkiminen. Ei sillä etteikö sitä olisi, vaan nimenomaan päinvastoin. Pikaisen googlettelun seurauksena eri palveluita ja protokollia on pilvin pimein. Päätin kuitenkin avainlippulogo silmissä lähteä tutkimaan ensimmäisenä ilmatieteen laitoksen tarjoamaa ohjelmointirajapintaa (FMI Open Data WFS services). Datan määrä ko. palvelussa on vallan päätähuimaava, mutta luultavasti homma toimisi siten, että teen palvelimelleni skriptin, joka kyselee sääpalvelusta ennustetiedot esim viiden minuutin välein, ja kirjoittaa valitut tiedot järkevämpään formaattiin toiseen tiedostoon. Sääasema kävisi sopivin väliajoin katsomassa tiedoston sisällön ja muuttaisi toimintaansa sen mukaan (esim. sateen ollessa todennäköistä, vaihtaa näytölle sadeanimaation).

Ajattelin lisätä vielä painonapin tai kaksi, joista saa esim. kellonajan, päivämäärän ja/tai lämpötilan ruudulle. Tietynlaisen haasteen asettaa myös huima 8x8 pikselin resoluutio, mutta hei, onneksi skrollaus on keksitty jo 80-luvulla. Tai varmaan aiemminkin.

Ei kommentteja:

Lähetä kommentti