Projekti: Temppi, lämpö- ja kosteusmittari graafeilla

Posted by

Lämpötila vaikuttaa moneen asiaan kasvihuoneessa ja sen mittaaminen on ollut itselleni perinteisillä mittareilla hieman hankalaa. Halusin nähdä useammasta sensorista dataa hieman pidemmältä ajalta ja kaupallisia ratkaisuja ei tähän tarpeeseen juurikaan ole – ainakaan yhdessä paketissa. Rakennetaan sellainen!

Tarvikkeet

Home Assistant asennettuna ja konfiguroituna. Projekti käyttää hyödyksi Home Assistant ohjelmiston ESPHome -lisäosaa. https://www.home-assistant.io/

ESP32 mikrokontrolleri. Käytän itse edullista Seeed Studio XIAO ESP32C3 versiota, jossa valmiina wifi. ESP32 on suosittu ja tehokas mikrokontrolleri, joka on kehitetty ja valmistettu Espressif Systems -yrityksen toimesta. Se tarjoaa laajan valikoiman toimintoja ja on hyvä valinta monenlaisiin sovelluksiin, erityisesti IoT (Internet of Things) -projekteihin. https://www.seeedstudio.com/Seeed-XIAO-ESP32C3-p-5431.html

DHT22 lämpötila ja kosteusanturi. DHT22 pystyy mittaamaan lämpötiloja välillä -40°C ja +80°C ±0.5°C tarkkuudella, ja ilmankosteutta 0-100% RH ±2-5% RH tarkkuudella. Sensorin kyky mitata sekä lämpötilaa että kosteutta yhdellä komponentilla yksinkertaistaa järjestelmän suunnittelua ja vähentää ulkoisten komponenttien tarvetta. https://esphome.io/components/sensor/dht.html

DS18B20 4kpl digitaalinen lämpötila-anturi. Käyttää 1-wire teknologiaa joka suoraviivaistaa kytkentöjä ja mahdollista helpohkon laajentamisen. DS18B20 tarjoaa ±0.5°C tarkkuuden välillä -55°C ja +125°C, mikä on riittävän tarkka. Jokaisella DS18B20-sensorilla on ainutlaatuinen 64-bittinen sarjanumero, jonka avulla useita sensoreita voi käyttää samalla dataväylällä ilman osoitekonflikteja. Tämä tekee sensoriverkkojen rakentamisesta yksinkertaista. https://esphome.io/components/sensor/dallas.html

4,7kΩ vastus liittyy DS18B20 toimintaan pitäen sen korkeassa tilassa (HIGH) kun väylä ei ole aktiivisessa käytössä, estäen näin väärät lukemat.

Kotelon johon saa mikrokontrollerin suojaan. Käytän tässä IP55 kytkentärasiaa, jonka sai helposti Motonetista.

Tarvikkeita kuten kuumaliimaa, tinaa, kolvi, kutistesukkia, johtoa, nippusiteitä ja muuta ”sälää”.

Rakentaminen

Aloitin rakentamalla kolmesta DS18B20 anturista nätin nipun. Anturin käyttäessä 1-wire teknologiaa voi kaikki niputtaa ”väri väriin”. Antureihin liitin hieman paksumpaa johtoa jota sattui saamaan Puuilosta metritavarana. Käytin noin 30cm, antureiden 1m johto riittää itselleni hyvin.

DS18B20 anturin liittäminen mikrokontrolleriin
DS18B20 anturin johtojen niputtaminen

Seuraavaksi juotin vastuksen kiinni XIAO ESP32C3 GPIO2 pinnistä 3V pinniin, jonka kyseinen anturi tarvitsee toimiakseen.

Juotin DHT22 anturiin kiinni muutaman metrin pituisen johdon ja suojasin kutistesukalla liitäntöjä sen verran mitä pystyin. Anturille ajattelin tulevaisuudessa 3D tulostaa pienen kotelon, mutta se vaatisi ensin kyseisen tulostimen hankkimisen.

DHT22 anturiin liitetty johto
DHT22 anturiin liitetty johto

Seuraavaksi tein sopivat reiät hankkimaani koteloon ja työnsin johdot niistä läpi. Hankin lisäksi usb johdolle, joka syöttää myös virtaa laitteeseen vedonpoistajan. Muihin johtoihin laitoin nippusiteen sisäpuolelle vedonpoistajaksi ja viimeistelin kuumaliimalla. Tämä estää ettei kotelon sisään mene kosteutta. Mikrokontrolleri on tärkeää pysyä kuivana!

Juotettuani anturin mikrokontrolleriin olikin Tempiksi ristimäni IoT laite valmiina Home Assistanttiin konfiguroitavaksi. Lisäsin lopuksi osaan antureista pienet renkulat kutistesukkaa, joka helpottaa jatkossa antureiden tunnistusta.

Valmis IoT lämpötilamittari
Valmis IoT lämpötilamittari kansi auki

Konfigurointi

En käy prosessia tässä postauksessa kokonaisuudessaan läpi eli Home Assistant ja ESPHome tulisi olla asennettuna valmiiksi. Lisäksi olin jo alustanut mikrokontrollerin, joka mahdollisti suoraan wifin yli koodin päivittämisen. Antureiden lisääminen on hyvin yksinkertainen prosessi. Alustetaan ”dallas hub”, jonka jälkeen lokista näkee anturin yksilöllisen osoitteen.

Anturin osoite lokissa
Anturin osoite lokissa

Koodi saadaan täydennettyä näillä tiedoilla ja lopuksi näyttää tältä. Tässä kohtaa on hyvä huomata miksi lisäsin värilliset renkulat lopuksi antureihin. Oikean anturin selvittäminen on helppoa laittamalla yksi anturi kerrallaan lämpimään veteen ja nimeämällä anturi sitten sen mukaiseksi.

dallas:
  - pin: GPIO2

sensor:

  - platform: dht
    pin: GPIO3
    model: DHT22
    temperature:
      name: "DHT kasvihuone lämpötila"
    humidity:
      name: "Kasvihuone kosteus"
    update_interval: 60s

  - platform: dallas
    address: 0x89000000175dca28
    name: "Kasvihuone RED"
  - platform: dallas
    address: 0x0900000017443628
    name: "Kasvihuone BLACK"
  - platform: dallas
    address: 0xa800000017982128
    name: "Kasvihuone YELLOW"		

Käyttö

Home Assistantiin on helppo tehdä erilaisia näkymiä sensoreista. Graafit näyttää vakiona 2 viikkoa historiaa ja niitä järjestelemällä on helppoa saada esimerkiksi ulkolämpötilan, kasvihuoneen ja mullan lämpötilat samaan näkymään. Lisäksi DHT22 sisältää yhden lämpötila-anturin, joten laitteessa on neljä erillistä anturia! Tulen muutaman anturin asettamaan eri syyvyyksille kasvihuoneeseen, jotta voin tarkkailla kasvualustan lämpötilaa.

Home Assistant graafi lämpötilasta
Home Assistant graafi

Lisäksi Home Assistantissa voi tehdä paljon eri automaatioita ja yhdistellä huomattavan määrän eri IoT laitteita. Googlen älykaiutin on helppo kytkeä automaatioihin ja alla esimerkki mitä sillä voi halutessaan tehdä. Lämmityskaudella siihen on kytketty muutamia varoituksia jos jostain syystä lämmittimet tai termostaatit rikkoutuisivat.

Home Assistant ilmoitus

Leave a Reply

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *