lauantai 11. helmikuuta 2017

Halpa "IoT" lämpötilaseuranta (ESP8266 + Onewire)

Hauska, turha ja edullinen projekti - Lämpötilaseuranta nettisivulle!
Hacklabin IoT-iltaman innoittamana tuli rakenneltua kotiin muutama lämpötilasensori jotka päivittävät käyräntynkää nettisivuilleni. Tässä pieni howto Suomeksi.

Allekirjoittaneen anturidataa :).


Esim. ulkolämpötila, saunan lämpötilä, jääkaapin? Ihan mistä nyt haluaa sitä dataa lukea :).

Tarvikkeet: 
- nodemcu ESP8266 (ebay klik
- OneWire sensori (ebay klik
- 4.7kOhm vastus
- USB-Kaapeli (josta kulkee myös data), tietokone, usb-virtalähde ja piuhaa..

Softapuoli:
- Kun tarvikkeet on hankittu, asenna ensimmäisenä Arduino IDE
- Käynnistä ohjelma ja avaa Preferences-ikkuna
- Lisää osoite http://arduino.esp8266.com/stable/package_esp8266com_index.json
Additional Board Manager URLs-kenttään.
- Avaa "Boards Manager" Tools-valikosta, Board menu -> install esp8266 platform.
- Valitse ESP8266 boards-valikosta (esimerkin tapauksessa NodeMCU 1.0 (ESP-12E Module))

Nyt liittäessä USB-kaapeli alempiaan levyyn (ohjelmointilevy, ylemmän levyn USB on pelkkään sähkönsyöttöön), pitäisi tietokoneesi olla kykeneväinen keskustelemaan espin kanssa (näkyy COM-porttina).

Tee tunnus ja kanava thingspeak.comiin. Sieltä saat API-avaimen jonka avulla espi lähettää datan palvelimelle joka piirtää siitä käppyrän..

Koodi: http://oh6gzt.fi/temp/koodi.txt

Siinäpä tuo ohjelmapuoli, kun asetukset on laitettu kuntoon (api-key, field, wifi-asetukset), voidaan koodi kääntää ja upata espiin (nuoli oikealle kuvake Arduino IDE:n työkalupalkissa)

Sitten HW-puoli eli ESP+1-Wire jne.

Hardware tarvikkeet


Sensori kyketään perinteisen one-wire kytkennän mukaan

Anturin kytkentä

Kytkennän toteutuksen saa tehdä miten tykkää mutta esimerkkinä jos käyttää GPIO14-pinniä datan tuontiin ESPille, mahtuu tuo 4.7K vastus mukavasti GPIO- ja VCC-pinnien väliin levylle.

Vastus juotettuna levylle ja johtolähtö anturille.
Siinäpä tuo alkaisi olemaankin, kannattaa toki sitten olosuhteiden mukaan suojata niin tuo ESPi kuin anturikin, alla muutama esimerkki omista kötöstyksistä. Hauskoja värkkäilyhetkiä!

ESP koteloituna (eh, kuumaliimaa)

Anturi suojattuna kutistesukalla
Thingspeak on vain yksi tapa piirrellä käppyrää tiedoista. Tulevaisuudessa olisi ajatus katsella saisiko Munin-noden tekemään datatilastoa mittauksista, jolloin olisi mahdollisuus seurata paljon pitemmällä aikavälillä, Thingspeakissa kun on omat rajoitteensa..

Thingspeakin sivuilta pystyy kyllä valitsemaan montako mittaustulosta taulukossa näkyy mutta muuta historia ei ole selattavissa. Mittausdataa voi kurkistella Thingspeakin kautta tai upottaa datatauolukon vaikka omalle nettisivuilleen..

Kurkkaa tästä minun sensoreidin dataa (jos käytössä): http://oh6gzt.fi/temp/