Sensorit & DIY

Tee se itse

Halvemmat rakennelmat, valmiit kitit, esimerkkiostoslistat (BOM) ja polku tekoälyyn. Ei keksittyjä AliExpress-SKU:ita tai hintoja — vain roolit, määrät ja hakusanat.

Elektroniikka ja DIY omalla vastuulla. Vältä verkkojännitteitä jos et ole varma; pidä anturit eristettyinä kastelusta.

Esimerkkiostoslistat (BOM) · Mitä mitataan mihin · Halvempi hankinta

Esimerkkiostoslistat (BOM)

Esimerkkiostoslista, ei tuotesuositus. Ei AliExpress-SKU:ita eikä hintoja — vain osien roolit, määrät, miksi, hakusanat ja vinkit.

Sähköturvallisuus: verkkojännite (230 V) vain jos osaat; suosi 5 V / 3,3 V ja eristettyjä releitä. Ulko- ja kupolikäytössä IP-luokitus ja kuivat liitokset. Kalibroi anturit — raaka-ADC ei ole prosenttia.

Kotikasvatus

ESP32 (tai vastaava) + kapasitiivinen maakosteus + DHT/BME lämpö-kosteus + valinnainen kasvuvalorele. Sisäkäyttöön: teho, kotelo, kaapelit.

  • Mikrokontrolleri (ESP32 DevKit)
    1
    Wi-Fi-solmu: lukee anturit ja lähettää MQTT/HTTP.
    ESP32 DevKit C USB-C 30pin
    3,3 V logiikka. Vältä 5 V signaalia suoraan GPIO:hon.
  • Kapasitiivinen maakosteusanturi
    1–2
    Kastelun ajoitus ruukuissa/laatikoissa ilman arvailua.
    capacitive soil moisture sensor v2.0
    Kalibroi kuiva/märkä. Älä upota elektroniikkapäätä; resistiivinen haarukka syöpyy.
  • Ilma: lämpö + kosteus (DHT22 tai BME280)
    1
    Kasvuympäristö ja home-/kuivuusriski sisällä.
    BME280 3.3V I2C | DHT22 AM2302
    BME tarkempi; DHT riittää alkuun. Pidä anturi pois suorasta kastelusta.
  • Kasvuvalon rele (valinnainen)
    0–1
    Ajastettu LED-valaistus ilman manuaalista kytkintä.
    relay module 3.3V optocoupler 1 channel
    Verkkojännite vain eristetyllä releellä / valmiilla LED-driverilla. Jos epävarma, käytä pistorasia-ajastinta.
  • Virtalähde USB 5 V
    1
    Vakaa teho ESP32:lle ja antureille.
    USB-C 5V 2A power supply
    Älä vedä kaikkea heikosta USB-hubista. Pitkä kaapeli → jännitehäviö.
  • Kotelo / projektirasia
    1
    Suojaa elektroniikka pölyltä ja vahingoilta.
    electronics project box IP54
    Reiät kaapeleille; pidä liitokset kuivina. Sisällä IP54 riittää usein.
  • Johdot + kokeilualusta
    1 setti
    Nopeat kytkennät ennen juottamista.
    Dupont jumper wire M-F breadboard
    Merkitse 3,3 V / GND / data. Irrota virta ennen muutoksia.
  • Valoanturi lux (valinnainen)
    0–1
    Tarkistaa riittääkö ikkuna/LED.
    BH1750 light intensity sensor
    Lux ≠ PAR; suuntaa-antava sisällä.

Kasvimaa (ulkona)

Ulkokasvimaalle: maakosteus, ulkolämpöanturi, valinnainen tippuajastimen ohjaus, säänkestävä kotelo.

  • Mikrokontrolleri / solmu (ESP32)
    1
    Paikallinen mittaus ja Wi-Fi/MQTT-yhteys.
    ESP32 DevKit waterproof enclosure kit
    Sijoita elektroniikka kuivaan koteloon; anturit ulos kaapeleilla.
  • Maakosteusanturi (ulkokäyttö)
    1–3
    Rivien kuivuminen ennen kuin lehdet nuutuvat.
    capacitive soil moisture waterproof probe
    Kalibroi omassa maassa. Useampi piste > yksi “keskiarvo”.
  • Ulkolämpöanturi (vedenkestävä)
    1
    Yöpakkasvaroitus ja kastelun ajoitus.
    DS18B20 waterproof temperature probe 1m
    1-Wire: pull-up ~4,7 kΩ. Tiivistä kaapelin läpivienti.
  • Tippukastelun ohjausliitäntä (valinnainen)
    0–1
    Ajastettu venttiili/pumppu kuivina jaksoina.
    solenoid valve 12V garden relay MOSFET
    Käytä matalajänniteventtiiliä + erillistä teholähdettä. Älä kytke 230 V suoraan GPIO:hon.
  • Säänkestävä kotelo
    1
    Sade, kaste ja UV tuhoavat avoimen piirin.
    IP65 junction box cable gland
    IP65+ suositeltava. Silikoni / läpivientitiivisteet; paineentasausreikä estää kondenssia.
  • Kaapelit & läpiviennit
    tarpeen mukaan
    Pitkät juoksut riville ilman jännitehäviötä.
    cable gland M16 silicone sealant outdoor wire
    Jätä palvelusilmukka; merkitse päät. Maadoitus/ylijännite jos pitkä antenni/kaapeli.
  • Sääasema / sade (valinnainen)
    0–1
    Jätä kastelu väliin sateen jälkeen.
    rain gauge tipping bucket I2C weather
    Ei pakollinen heti — silmämääräinen sade + kosteusanturi riittää alkuun.

Kupoli / kasvihuone

Ilmasto ensin: lämpö+kosteus, maakosteus, tuuletin/rele venttiin. Edistyneenä CO₂ tai PAR.

  • Mikrokontrolleri (ESP32)
    1
    Ohjaa mittaukset ja tuuletuksen logiikan.
    ESP32 DevKit C 3.3V
    Pidä kortti pois suorasta auringosta ja kosteasta maasta.
  • Ilmasto: lämpö + RH
    1–2
    Ylikuumeneminen ja liian korkea RH → tautiriski.
    BME280 3.3V | SHT30 SHT31 I2C
    Sijoita anturi kasvien korkeudelle, ei katon kuumimpaan nurkkaan. Suojaa roiskeilta.
  • Maakosteusanturi
    1–3
    Vyöhykekastelu ilman arvailua.
    capacitive soil moisture sensor
    Kalibroi kasvualustalle (turve vs. multa eroaa).
  • Tuuletin + rele / MOSFET
    1
    Poistaa kosteutta ja tasaisee lämpöä.
    DC fan 12V PWM MOSFET module relay 3.3V
    Sovita jännite tuulettimeen. Verkkokäyttöinen puhallin → ammattilaisasennus / valmis ohjain.
  • Kotelo kosteaan tilaan
    1
    Kupolissa kondenssi on arkea.
    IP65 enclosure DIN rail electronics
    Kondensisuoja; pidä I2C-anturi kotelon ulkopuolella lyhyellä kaapelilla.
  • CO₂-anturi (edistynyt, valinnainen)
    0–1
    Suljetun tilan ilmanvaihdon hienosäätö.
    MH-Z19 CO2 sensor UART NDIR
    Vaatii lämmitystä/kalibrointia; ei välttämätön harrastekupolissa.
  • PAR / quantum (edistynyt, valinnainen)
    0–1
    Kasvuvalon ja varjostuksen vertailu.
    PAR quantum sensor analog I2C grow
    Kallis suhteessa hyötyyn — lux-anturi riittää usein suuntaa-antavasti.

Pelto / scouting-kit

Monisyvyyskosteus, maalämpö, logger/MQTT-gateway, aurinko/akku korkealla tasolla, kamera valinnainen. Ilmakartoitus → XAG-työnkulku peltoalueella.

  • Monisyvyyskosteus (konsepti)
    2+ pistettä
    Pintamaa vs. juuristo — kastelu- ja kuivuuspäätökset.
    soil moisture probe multi depth profile sensor
    Kaksi kapasitiivista eri syvyydessä on DIY-alku; pro-profiilianturi on oma kategoriansa.
  • Maalämpöanturi
    1–2
    Kylvön ja kasvun ajoitus kylmässä keväässä.
    DS18B20 waterproof soil temperature
    Sijoita juuriston syvyyteen; merkitse syvyys lokiin.
  • Logger / MQTT-gateway
    1
    Kerää aikaleimatut arvot pellolta sisäverkkoon/pilveen.
    ESP32 MQTT gateway LoRa soil sensor node
    Aloita MQTT + CSV. Pitkät matkat → LoRa/muu radio (korkea taso).
  • Aurinko + akku (korkea taso)
    0–1 setti
    Verkkovirtaa ei ole lohkolla.
    solar panel 6V 12V charge controller LiFePO4
    Mitoita kulutus (deep sleep!). Älä improvoi litiumturvallisuutta — valmis latauspiiri.
  • Sää / sade (valinnainen)
    0–1
    Yhdistä lohkotarkastuksiin: milloin ajaa, milloin odottaa.
    weather station rain wind DIY MQTT
    Julkinen säälähde + oma kosteus voi riittää alkuun.
  • Scouting-kamera (valinnainen)
    0–1
    Raja ja stressi näkyvät kuvasta; ei korvaa käyntiä.
    IP camera outdoor RTSP local storage
    Suosi paikallista tallennusta; mieti tietosuoja. Drone/ilmakuva → XAG-polku erikseen.

Ilmakartoitus ja drone-scouting: katso pelto-osion XAG-työnkulku vaiheittain. XAG-työnkulku · XAG-opas

Mitä mitataan mihin

Valitse mittarit sen mukaan, missä kasvatat. Koti ja kupoli tarvitsevat usein enemmän ilmaa ja valoa; pelto enemmän maata ja syvyyttä.

Maankosteus

Kastelun ajoitus. Kapasitiivinen anturi kestää yleensä paremmin kuin resistiivinen “haarukka”.

Koti · Kupoli · Pelto

Maalämpö

Juuren aktiivisuus ja itäminen. DS18B20-tyyppinen vedenkestävä anturi on yleinen DIY-kategoria.

Koti · Kupoli · Pelto

Ilmankosteus

Taudin riski kupolissa ja kasvihuoneessa. BME280 / SHT-tyyppiset yhdistelmäanturit.

Koti · Kupoli

Ilman lämpö

Ilmasto ja tuuletuksen tarve. Usein samassa piirissä kosteuden kanssa.

Koti · Kupoli

Valaistus / lux

Sisäkasvatuksen LED-tarkistus. BH1750-tyyppinen lux-anturi riittää usein.

Koti · Kupoli

Sade / syvyyskosteus

Pellolla monisyvyinen kosteus ja sateen seuranta auttavat ajoituksessa — ei pakollista heti.

Pelto

Valmiit vs tee-itse

Osta kit, jos haluat nopeasti tuloksia. Rakenna itse, jos haluat oppia ja säätää.

Valmis kit

Kun tarvitset heti näytön, sovelluksen tai Home Assistant -yhteensopivuuden ilman juottamista. Hyvä aloitus kotiin.

ESP32 / Arduino + anturit

Tyypillinen stack: ESP32/Arduino, kapasitiivinen maankosteus, DS18B20 (lämpö), ehkä BME280. Kalibroi — raaka-ADC ei ole “prosenttia”.

Kategorioita (ei SKU:ita): capacitive soil moisture probe, waterproof temperature probe, ESP32 dev board, 3.3V logic level.

Halvempi hankinta

AliExpress ja vastaavat: hae kategorioilla, vertaa arvosteluja, varaudu odotukseen ja kalibrointiin.

Mitä hakea

Käytä englanninkielisiä hakusanoja (yllä chippeinä). Vältä “exact price” -lupauksia — hinnat vaihtelevat.

ESP32 soil moisturecapacitive soil sensorDS18B20 waterproofBME280 humidityBH1750 light sensor

Oma aurinkoanturi: ESP32 + maankosteus

Rakenna edullinen, aurinkopaneelilla toimiva maankosteusanturi, joka lähettää lukemat suoraan SproutMindAI:n Anturit-sivulle. Laite herää 10 minuutin välein, mittaa, lähettää ja nukkuu (deep sleep).

OsaMääräHinta (noin)Huom
ESP32-kehityskortti (esim. FireBeetle ESP32 tai LOLIN D32, pieni lepovirta)16–15 €Valitse kortti, jossa on pieni lepovirta ja mieluiten akkuliitin.
Kapasitiivinen maankosteusanturi v1.2/v2.01–32–5 €/kplEi ruostu kuten resistiivinen. Suojaa elektroniikka lakalla tai kutistesukalla.
18650 Li-ion -akku (suojattu)15–10 €Säilytä lämpimässä talvella, alle 0 °C lataus ei ole turvallista.
Latausmoduuli TP4056 (suojauksella) tai CN3791 (MPPT)11–6 €CN3791 hyödyntää paneelin paremmin pilvisellä säällä.
Aurinkopaneeli 6 V, 1–2 W15–12 €Suuntaa etelään, kallistus n. 45–60°.
3,3 V LDO, pieni lepovirta (HT7333 / MCP1700)1~1 €Tarvitaan, jos kortin oma regulaattori kuluttaa paljon unessa.
Vastukset 2 × 100 kΩ2<1 €Akkujännitteen mittaukseen (jakaja GPIO35:een).
IP65-kytkentärasia + läpivientiholkit15–10 €Tuuletusreikä alapuolelle kosteuden poistoon.

Hinnat ovat suuntaa-antavia (verkkokaupat ja AliExpress 2026) ja vaihtelevat. Yhteensä noin 25–55 €. Valmis vaihtoehto: Ecowitt GW1100 + WH51 (noin 20 $ + 18 $, shop.ecowitt.com).

  1. Kytke anturin AOUT → GPIO34, VCC → GPIO25 (anturi saa virtaa vain mittauksen ajan) ja GND → GND.
  2. Kytke akkujännite jakajan (100 k + 100 k) keskipisteestä GPIO35:een.
  3. Paneeli → latausmoduulin IN, akku → BAT, moduulin OUT → LDO → ESP32:n 3V3.
  4. Luo Anturit-sivulla uusi laite (Oma ESP32-anturi) ja kopioi osoite koodin PLANTCARE_URL-kohtaan.
  5. Kalibroi: lue arvo anturin ollessa ilmassa (SOIL_DRY) ja vesilasissa (SOIL_WET).
  6. Lataa koodi Arduino IDE:llä (ESP32-korttipaketti 2.x tai uudempi).
Arduino-koodi (ESP32)
// SproutMindAI DIY sensor: ESP32 + capacitive soil moisture sensor + solar
// Posts JSON to SproutMindAI every 10 min, deep sleep in between.
#include <WiFi.h>
#include <HTTPClient.h>

const char* WIFI_SSID = "YOUR_WIFI";
const char* WIFI_PASS = "YOUR_PASSWORD";
// Copy from Anturit -> Add device -> DIY (keep it secret):
const char* PLANTCARE_URL =
  "http://192.168.1.10:3000/api/sensors/json/PASTE_TOKEN_HERE";

const int SOIL_PIN = 34;        // ADC1 pin (works while Wi-Fi is on)
const int SOIL_POWER_PIN = 25;  // powers the sensor only while measuring
const int BATT_PIN = 35;        // battery via 100k/100k divider
const int SOIL_DRY = 3000;      // calibrate: sensor in air
const int SOIL_WET = 1300;      // calibrate: sensor in a glass of water
const uint64_t SLEEP_MIN = 10;

int readSoilPercent() {
  digitalWrite(SOIL_POWER_PIN, HIGH);
  delay(300);
  long sum = 0;
  for (int i = 0; i < 10; i++) { sum += analogRead(SOIL_PIN); delay(20); }
  digitalWrite(SOIL_POWER_PIN, LOW);
  int pct = map(sum / 10, SOIL_DRY, SOIL_WET, 0, 100);
  return constrain(pct, 0, 100);
}

float readBatteryVolts() {
  return analogReadMilliVolts(BATT_PIN) * 2 / 1000.0;  // 1:2 divider
}

void setup() {
  pinMode(SOIL_POWER_PIN, OUTPUT);
  analogSetAttenuation(ADC_11db);
  int soil = readSoilPercent();
  float batt = readBatteryVolts();

  WiFi.mode(WIFI_STA);
  WiFi.begin(WIFI_SSID, WIFI_PASS);
  for (int i = 0; i < 40 && WiFi.status() != WL_CONNECTED; i++) delay(250);

  if (WiFi.status() == WL_CONNECTED) {
    HTTPClient http;
    http.begin(PLANTCARE_URL);
    http.addHeader("Content-Type", "application/json");
    String body = String("{\"device\":\"ESP32-solar\",\"soil_moisture\":[") + soil +
                  "],\"battery_v\":" + String(batt, 2) + "}";
    http.POST(body);  // 200 = stored
    http.end();
  }
  WiFi.disconnect(true);
  esp_sleep_enable_timer_wakeup(SLEEP_MIN * 60ULL * 1000000ULL);
  esp_deep_sleep_start();
}

void loop() {}

JSON-muoto

POST /api/sensors/json/<token>. Kentät: soil_moisture (luku tai lista %), soil_temp, temp (°C), humidity (%), battery_v, solar_v. Voit testata curlilla:

curl -X POST -H "Content-Type: application/json" \
  -d '{"soil_moisture":[34],"temp":18.2,"battery_v":3.95}' \
  http://192.168.1.10:3000/api/sensors/json/<token>

Litiumakku: käytä suojattua kennoa ja latausmoduulia, älä jätä akkua suoraan auringonpaisteeseen. Siirry Anturit-sivulle

Tekoälyyn integrointi

AI tarvitsee siistit aikaleimat ja kalibroidut arvot. Aloita lokituksesta — malli tulee myöhemmin.

  1. Mittaus — anturi → mikrokontrolleri (ESP32).
  2. Vienti — MQTT tai HTTP → Home Assistant / Node-RED / oma Next API myöhemmin.
  3. Loki — CSV tai tietokanta: aika, lohko, mittari, arvo, yksikkö.
  4. Malli — vasta kun data on puhdasta: kasteluehdotukset, poikkeamat.

Yksinkertainen arkkitehtuuri

Anturi → ESP32 → MQTT/HTTP → HA / Node-RED / API
                ↓
         CSV / loki (timestamp + arvo)
                ↓
         myöhemmin: malli / hälytys

Ilman kalibrointia ja aikaleimoja “AI” arvaa väärin. Aloita rehellisestä mittauksesta.

Pelto-osio · Lohkoni