Nörtti-isän kasvatusratkaisu pleikkaripärinään

Joskus on erityisen kiva nukkua. Erityisesti aamulla. Ja erityisesti vielä silloin, kun on lomalla. Nukkumisesta ei välttämättä tule mitään, jos jälkikasvu päättää vetää innostuneen kimakan riehumisrallin Minecraft-alttarin edessä aamuisin. Sen sijaan että kiukkuinen isikarhu mönkisi murisemaan jälkikasvua hiljaiseksi, ajattelin automatisoida prosessin. Oma osaaminen ei ihan riittänyt, joten kyselin twitteristä näkemyksiä. Juho Lehtisen ajatus tuntuikin heti toteuttamiskelpoiselta:

Sitten vain googlettelemaan ja päätä raapimaan. Tavoitteena on tehdä kokonaisuus, joka varoittaa visuaalisesti jos melutaso nousee liian korkealle ja tarvittaessa katkaisee virran etäpistorasiasta jos melutaso ei palaudu järkevälle tasolle. Järjestelmän pitää myös saada laitettua päälle/pois kännykästä. Ja olisi hyvä, jos ei joudu kolvailemaan, koska olen todella hyvä johtamaan sähköä.

Yhden illan suunnittelun jälkeen päädyin seuraavanlaiseen kokonaisuuteen:

Netatmo on noista kallein yksittäinen elementti, ja Fibaron älypistorasian hintakin oli kohtuu suolainen. Budjettitietoinen kolvailija saattaa saada rakennettua vastaavanlaisen kokonaisuuden varmasti halvemmalla, jos keskittyy edukkaampiin komponentteihin.

Ohessa ohje kokonaisuuden rakentamiseksi.

1. Perusjutut

Raspberryn asentaminen ja konffaus vei määrällisesti eniten aikaa, mutta oli myöskin hyvin tyydyttävää. En halunnut asentaa raspiin (kyllä, se on Raspberry Pi:n lempinimi) erillistä näyttöä ja näppistä, vaan halusin hallinnoida sitä pelkän komentorivin kautta. 3B+ sisältää valmiin wifi-piirin, joten erillistä wifi-donglea ei tarvita. Tarvitset raspin lisäksi koneen jossa voit myös kirjoittaa muistikortille (OS X:llä voit käyttää Etcheriä).

Hae uusin Raspbian käyttöjärjestelmä. Minulla oli kortille esiasennettuna NOOBS, mikä oli virhe. Tuhlasin kuitenkin turhan paljon aikaa sähläämiseen, kun yritin päästä raspiin sisälle SSH:lla ja ei vaan ottanut onnistuakseen. Mieluummin asentaa oikean käyttiksen niin pääsee saman tien sukeltamaan linux-maailman syvään päätyyn. Raspberryn sivuilla on selkeät ohjeet asennukseen (ja tässä hyvä ohje ns. headless-moodissa asentamiseen).

Asentaessa on hyvä muistaa laittaa ssh päälle (ohje, kohta 3) ja asettaa wifi-tunnukset kuntoon. Näin asennuksen jälkeen raspi menee suoraan wifi-verkkoon ja pääset ssh:lla sisään:

$ ssh pi@raspberrypi.local

Sitten pääsee konfiguroimaan raspia komennolla:

$ sudo raspi-config

Vaihda ensimmäiseksi salasanasi. Säädä kuntoon myös aikavyöhyke ja kieliasetukset (mahdolliset lokalisaatioon liittyvät virheilmoitukset pystyy fiksaamaan helposti googlettamalla).

2. Äänitason mittaus

Nyt kun raspi osaa mennä verkkoon, asennetaan Netatmo. Minulla oli nurkissa ajelehtimassa Netatmon vanha sääasema, jossa on erillinen sisä- ja ulkoasema. Onneksi sisäasema tallentaa äänitasotietoa, sillä pikaisesti googlettamalla äänen voimakkuuden monitorointi ei olisi ollut ihan yksinkertaista. Netatmosta pystyy hakemaan dataa rajapinnan kautta, mutta se vaatii rekisteröimisen Netatmon sivuilla (ilmaista). Asenna sitten Netatmon wrapperi Pythonille:

$ pip install lnetatmo

Db-taso saadaan nyt haettua Netatmon rajapinnasta pythonilla:

Netatmon rajapinta ei valitettavasti anna reaaliaikaista dataa, vaan tieto tulee 5 minuutin intervalleilla. Tähän käyttötarkoitukseen se on ihan riittävä, mutta reaaliaikaisempien sovellusten kanssa Netatmo ei ole oikea valinta.

3. Etäpistorasian hallinta

Juho Lehtisen suosituksesta ostin Fibaron etähallittavan pistorasian. Pistorasia käyttää Z-wave -teknologiaa. Pistorasian lisäksi tarvitaan Z-wave -hubi, jonka olisi voinut hankkia erillisenä USB-donglenakin. Päädyin kuitenkin laajentamaan raspia ostamalla siihen z-wave -hallinnointipiirin. Se mahtui kivuttomasti läpinäkyvään koteloon.

Itse pistorasian ja z-wave -piirin asennus sujuivat ongelmitta. Enemmän päänvaivaa tuotti z-wave ohjelmiston ja serverin asentaminen raspille. Ohjelmiston asennus onnistui ohjeiden mukaan ja sitten piti vähän fiksata (ohje). Tämän jälkeen Z-wave Smart Home hubi löytyy selaimella raspin osoitteesta, portista 8083. Kirjaudu sisään ja liitä Fibaron etäpistorasia hubiin.

Z-wave Smart Home rajapinnan dokumentaatio oli vähän raskasta kahlattavaa. Loppujen lopuksi ainoa tapa selvittää millä pistorasian saa päälle/pois oli kurkkia millaisia komentoja Z-Wave Smart Home hallintapaneeli javascriptillä hubille lähettää (Chrome developer tools auki ja kliksuttelemaan nappeja expert -moodissa). Kun autentikaation ja komentourlin sai kaivettua, pistorasian laittaminen päälle/pois oli melko yksinkertaista:

4. Rasperry Pi:n valjastaminen mölyvahdiksi

Alkuperäinen ajatukseni oli, että pleikkarin virta katkeaisi varoittamatta, mutta tarkemmin ajatellen siitä olisi saattanut saada luisen nyrkin aamuherätykseksi naamatauluun. Niinpä täytyi viritellä jonkinlainen varoitusmekanismi. Vaihtoehtoina olisi ollut etsiä joku ulkoinen ledisysteemi ja liittää se raspiin. Sen sijaan olin laiska ja otin raspin omat ledit hyötykäyttöön (raspissa on punainen ja vihreä ledi). Molempia voi hallinnoida suoraan komentoriviltä:

En kuitenkaan halunnut, että järjestelmä on koko ajan aktiivinen. Silloin kun MINÄ pelaan niin volyymia pitää tietenkin olla riittävästi. 😉 Sitä varten tein erikseen mekanismin, jolla järjestelmän voi ”virittää”:

Kun järjestelmä on viritetty, vihreä ledi syttyy palamaan. Kun viritys on poistettu, molemmat ledit ovat pimeinä ja pistorasiasta tulee virtaa normaalisti. Virittäminen onnistuu toki SSH:n ylikin, mutta tulevaisuudessa tähän olisi varmaan kiva hankkia joku fyysinen kytkin. Sitä odotellessa, asensin puhelimeen applikaation, jolla voi ajaa helposti SSH-makroja raspille. Virittäminen onnistuu siis puhelimella suhteellisen vaivattomasti.

Lopusi loin monitorointiskriptin, joka tarkistaa onko järjestelmä viritetty, ja jos on, tarkistaa melutason. Jos melutaso on hyväksyttävällä tasolla, ei tapahdu mitään. Jos melutaso on liian korkea, ensin vilkutetaan punaisia ledejä viisi minuuttia. Jos tänä aikana melutaso nousee vielä yli sallitun rajan, ledi menee punaiseksi ja pistorasialle lähtee sulkemiskomento.

Monitorointiskripti ajetaan minuutin välein cronilla:

$ */1 * * * * sudo python /home/pi/Documents/skriptit/monitor.py

Sitten vaan virta irti, raspi paikoilleen ja laitteet seinään. Kokonaisuus toimii hämmentävän hyvin ainakin arkitestailussa. Seuraavaksi täytyy etsiä hyväksyttävät melutasot ja hankkia raspiin mekaaninen kytkin.

Saas tosin nähdä kauanko pikkumiehiltä kestää tajuta, että koko homman voi kiertää laittamalla pleikkarin johdon vapaaseen pistorasiaan…

Tekoälyopisto — hyytävän laaja kokoelma tekoälyä käsitteleviä linkkejä, kirjoja ja resursseja

Tekoäly (Artificial Intelligence) tulee olemaan ihmiskunnan tärkein keksintö. Keinoälystä kiinnostuneita varten olen koonnut tälle sivulle tärkeimmät resurssit, joiden avulla pääset kiinni mahdollisimman nopeasti tekoälykehityksen kelkkaan.

Kirjat

Linkit

Merkittävät AI-intoilijat

Mielenkiintoiset AI-firmat ja seurattavat startupit

  • Amy Your AI powered personal assistant for scheduling meetings.
  • Angel.ai NLP as a platform (same company is behind GoButler).
  • Api.ai Conversational UX Platform.
  • Arria Automated journalism platform.
  • AtomNet Drug design with convolutional neural networks.
  • BigML — machine learning made easy.
  • Clara Clara is a Virtual employee.
  • Cleo An A.I. assistant for your money.
  • ConversicaVirtual sales assistant that fosters real conversations to discover your most qualified sales opportunities.
  • Deep Instinct Deep learning in cybersecurity.
  • Dextro Dextro makes videos discoverable, searchable, and curatable using machine learning.
  • Expertmaker Intelligent Automation & Optimization — Acquired by eBay.
  • Festo A Bionic Kangaroo.
  • Franka “I am the first robot that builds itself.”
  • GoButler A personal travel agent.
  • Googlen itseajavat autot
  • Grok Solutions Company behind the open source NuPIC project.
  • Howdy.ai Meet Howdy — a friendly, trainable bot that helps Slack teams with work.
  • Jibo The World’s First Social Robot for the Home.
  • LeadCrunch High precision B2B leads using artificial intelligence.
  • Lola Virtual travel agent
  • MindMeld Platform for language understanding.
  • Neokami AI based cyber security.
  • OnlyBoth Automated, AI enhanced benchmarking service.
  • Pepper First personal and emotional humanoid robot.
  • Second Inc Personal assistant.
  • TaylorBot A.I. powered travel assistant.
  • The Grid AI websites that design themselves
  • TinMan AI Builder AI Builder V3.0 is a powerful integrated development environment for the visual design, real-time simulation, testing and deployment of autonomous and semi-autonomous systems.
  • Vicarious They are trying to build unified algorithmic architecture.
  • Wipro Holmes Artificial Intelligence Platform.
  • Wit.ai Natural Language for Developers.

Ohjelmointi

Organisaatiot

Uutissivustot ja foorumit

Tekoäly ei vie työpaikkaasi. Se vie työtehtäväsi.

Jokaisella ihmisillä on potentiaali olla jotain suurta. Kukaan ei osaa arvioida, mistä seuraava Einstein, Hawking tai Tesla putkahtaa ulos. Jokaisessa sukupolvessa on omat suurhenkilönsä, joiden yksittäinen panos on kääntänyt koko historian suunnan. Haluamme ajatella, että kehitys tapahtuu jonkun joukon yhteisen vaivannäön ansiosta. Todellisuudessa kuitenkin vain hyvin pieni promille meistä ikinä osoittautuu koko ihmiskunnan kehityksen kannalta arvokkaammaksi kuin ruumiinsa luovuttamat ravinteet hautuumaalla.

Olisi tietysti kauhean kätevää, jos voisi ennustaa kenestä tulee seuraava superkeksijä tai maailmanrauhan rakentaja. Homman juju piilee kuitenkin siinä, että etukäteen on mahdotonta tietää, kuka kuuluu siihen häviävän pieneen tärkeiden ihmisten joukkoon. Jos halutaan optimoida suurhenkilöiden putkahtelu geenialtaasta, ainoa looginen johtopäätös on siis kasvattaa tasaisesti koko ihmiskunnan potentiaalia suurhenkilöiden tuottamiseen.

Tähänhän kotimainen koulutusjärjestelmämmekin perustuu: yritetään mahdollisimman tehokkaasti kaataa perustietoa koko väestön päähän, ja sitten pyöritellään peukaloita ja toivotaan, että mahdollisimman monesta peruspertsasta kehkeytyy vähintään siedettävä veronmaksaja ja parhaimmillaan tulevaisuutta muuttava superkeksijä.

Mitä sinä tekisit tunnin mittaisen työpäivän jälkeen?

Tekoäly ja robotisaatio tulevat kiihdyttämään ihmiskunnan teknologista kehitystä ennen näkemättömällä vauhdilla. Samalla kehitys vie mukanaan työtehtävät, jotka ovat jo aikansa eläneet ja joutavatkin kuolla pois. Tämä kehitys vapauttaa enemmän ja enemmän ihmiskunnan käyttämättömästä potentiaalista tulevaisuuden käyttöön.

On sitten jokaisen oma asia, miten tämän vapautuneen potentiaalin käyttää: joku harrastaa enemmän, joku toinen lukee ja tekee enemmän. Suurin osa ihmisistä toki vain istuu entistä enemmän telkun tai koneen äärellä ja lihoo muodottomaksi läskipalleroksi. Kokonaiskuvassa kuitenkin tulevaisuuden potentiaalisilla suurhenkilöillä on mahdollisuus tehdä jotain seuraavaa suurta ja merkityksellistä, kun täytyy käyttää vähemmän ja vähemmän aikaa arjen hankaluuksista selviämiseen.

Tämä on tekoälykehityksen suurin siunaus yhteiskunnalle.

Django & dumbbells: toimarin paras kesäloma

Vietin lomani jälleen parhaimmalla mahdollisimmalla tavalla: päivät perheen kanssa tai salilla, illat koneen äärellä uusia asioita opetellen. Tällä kertaa kaivauduin vähän syvemmälle pythonin ja djangon maailmaan. Python on erityisesti tiedemaailmassa ja keinoälysovelluksissa suosittu ohjelmointikieli, ja django on taas pythonin päälle rakennettu framework, jolla voi rakennella kaikenlaisia mielenkiintoisia verkkopalveluita. Iltapuhteina syntyi rss-syötteiden lukemiseen tarkoitettu palvelu, blogforest.io.

Blogforest

Elämässäni on ollut pitkään tyhjiö Googlen suljettua Google Reader-palvelunsa. Erilaisia korvaavia palveluita on, mutta niissä kaikissa on joko liikaa hilavitkuttimia tai mainoksia, jotta olisin varsinaisesti ihastunut niihin. Kaipasin jotain simppeliä ja yksinkertaista. Haluan tuoreimmat linkit valitsemistani blogien RSS-syötteistä ja sillä hyvä. Ja jos maailmalta ei löydy mieleistä, täytyy tehdä oma.

Kaupallistettavaksi palvelusta tuskin on, koska tein siitä työkalun vain itseäni varten. Palveluun voi kuitenkin rekisteröityä ja sitä voi vapaasti käyttää. Rekisteröi tunnus, lisää blogeja, ja palvelu käy kymmenen minuutin välein hakemassa uudet artikkelilinkit rss-syötteistä. Toivottavasti siitä on hyötyä muillekin kuin minulle!