DIY: Wi-Fi teploměr a vlhkoměr do bytu (WeMos D1 mini + SHT30 shield) s webem a OTA

V tomhle návodu postavíme jednoduchý Wi-Fi snímač teploty a vlhkosti, který běží na WeMos D1 mini (ESP8266) a senzoru SHT30. Celé to zvládne i úplný začátečník: hardware je „nasadím a jedu“ (shield), napájení z USB 5 V a software připravíme buď v ESPHome (bez nutnosti psát kód), nebo v Arduino IDE. Projekt umí: vlastní webovou stránku se stavem, OTA aktualizace, a volitelně integraci do Home Assistant.

Co budete potřebovat

Jak to celé funguje

SHT30 je přesný digitální senzor s rozhraním I2C. Shield se nasadí přímo na WeMos D1 mini, takže odpadá kabeláž. WeMos se připojí k vaší Wi-Fi, pravidelně měří teplotu/vlhkost a data zpřístupní přes webovou stránku a/nebo API do Home Assistantu. Aktualizace firmwaru se provádí pohodlně OTA (bez kabelu).

Montáž (hardware)

  1. Nasazení shieldu: Zasuňte SHT30 shield na piny WeMos D1 mini (sedí přesně na sebe). Dbejte na správnou orientaci pinů.
  2. Napájení: Připojte micro USB kabel do D1 mini a druhý konec do USB nabíječky (5 V). Nezapínejte zatím do zásuvky.
  3. Umístění senzoru: Pro měření v místnosti dejte modul mimo přímé slunce/topná tělesa a v rozumné výšce (~1,2–1,5 m).

Varianta A: ESPHome (bez programování)

1) Příprava ESPHome

  • Nainstalujte ESPHome (ideálně jako addon v Home Assistantu nebo na PC).
  • Připojte D1 mini USB kabelem k počítači (jen pro první flash).

2) Konfigurace YAML pro SHT30 na D1 mini

Vytvořte nový projekt (např. byt-teplomer) a vložte tento obsah:

esphome:
  name: byt-teplomer
  friendly_name: Byt Teploměr

esp8266:
  board: d1_mini

# Nastavení Wi-Fi
wifi:
  ssid: "NAZEV_WIFI"
  password: "TAJNE_HESLO"

# Web server s jednoduchou stránkou
web_server:
  port: 80

# OTA aktualizace
ota:

# Logování do konzole
logger:

# I2C sběrnice - D1 mini má default D2 (SDA) a D1 (SCL)
i2c:
  sda: D2
  scl: D1
  scan: true

# SHT3x (SHT30) senzor
sensor:
  - platform: sht3xd
    temperature:
      name: "Byt Teplota"
      id: t_env
      accuracy_decimals: 1
    humidity:
      name: "Byt Vlhkost"
      id: h_env
      accuracy_decimals: 1
    address: 0x44
    update_interval: 15s

# Volitelně jednoduchý intervalový report do logu
interval:
  - interval: 60s
    then:
      - logger.log:
          format: "Aktuálně: %.1f °C / %.1f %%RH"
          args: [ 'id(t_env).state', 'id(h_env).state' ]

3) Flash prvního firmwaru

  1. V ESPHome klikněte na Install → vyberte port (D1 mini) → počkejte na nahrání.
  2. Po úspěchu odpojte USB a přepojte napájení na běžnou USB nabíječku.
  3. WeMos se připojí na Wi-Fi a snímač bude dostupný na adrese http://byt-teplomer.local (případně IP z DHCP).

4) Integrace do Home Assistant

  • Home Assistant → NastaveníZařízení & službyPřidat integraci → zvolte ESPHome.
  • Zadejte název hosta (mDNS) nebo IP. Senzory se načtou automaticky.

Varianta B: Arduino IDE (jednoduchý web + JSON)

Pokud chceš psát kód a mít vlastní webovou stránku (např. s JSON API), tady je minimalistický příklad. V Arduino IDE přidej podporu ESP8266, knihovny ESP8266WiFi, ESP8266WebServer a Adafruit SHT31 (funguje se SHT30).

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <Wire.h>
#include "Adafruit_SHT31.h"

const char* ssid = "NAZEV_WIFI";
const char* pass = "TAJNE_HESLO";

ESP8266WebServer server(80);
Adafruit_SHT31 sht = Adafruit_SHT31();

void setup() {
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, pass);
  while (WiFi.status() != WL_CONNECTED) delay(250);

  Wire.begin(D2, D1);    // SDA = D2, SCL = D1
  sht.begin(0x44);       // adresa SHT30 shieldu

  server.on("/", [](){
    float t = sht.readTemperature();
    float h = sht.readHumidity();
    String html = "<h1>Byt Teplomer</h1><p>Teplota: " + String(t,1) + " °C</p><p>Vlhkost: " + String(h,1) + " %RH</p>";
    server.send(200, "text/html", html);
  });

  server.on("/json", [](){
    float t = sht.readTemperature();
    float h = sht.readHumidity();
    String json = "{\"temperature\":" + String(t,1) + ",\"humidity\":" + String(h,1) + "}";
    server.send(200, "application/json", json);
  });

  server.begin();
}

void loop() {
  server.handleClient();
}

Volitelná rozšíření

  • LED 8×8 ikony: Přidej LED 8×8 shield a v ESPHome/Arduino zobraz smajlíky (🙂/😐/😮) podle vlhkosti v místnosti.
  • Relé shield: Zapni ventilátor nebo odvlhčovač, když vlhkost přesáhne práh (např. 65 %).
  • Více místností: Vytvoř další uzly „kuchyně“, „ložnice“… a sleduj mikroklima bytu.

Kalibrace a tipy k přesnosti

  • Ustálení: Nechte senzor po zapnutí běžet 10–15 min pro stabilní hodnoty.
  • Umístění: Vyhněte se přímému slunci, průvanu a topení; měřte v „dýchací zóně“.
  • Interval měření: 10–30 s je obvykle akorát – méně šumu, méně rušení Wi-Fi.

Odstraňování potíží

  • Nepřipojí se k Wi-Fi: Zkontrolujte SSID/heslo, vzdálenost k routeru, případně použijte D1 mini Pro s externí anténou.
  • Na webu se nezobrazují hodnoty: Ověřte I2C adresu (0x44), správné piny (D2/D1), případně restartujte napájení.
  • Hodnoty „skáčou“: Zvětšete interval měření, vyrovnejte teplotu okolí (bez průvanu), případně zprůměrujte 3–5 posledních hodnot.

Bezpečnost

Projekt je slaboproudý (5 V) a vhodný pro začátečníky. Nepřipojujte D1 mini k 230 V. Pokud později přidáte relé pro spínání síťového napětí, elektrickou část musí zapojit kvalifikovaný elektrikář.

Rychlé odkazy na použité díly


Hotovo! Máte přesný a levný snímač klimatu do bytu, který lze rozšířit o zobrazování, automatizace a řízení dalších zařízení.

FAQ - Časté dotazy:

Jaké komponenty potřebuji pro stavbu Wi-Fi teploměru a vlhkoměru?
Pro stavbu Wi-Fi teploměru a vlhkoměru budete potřebovat WeMos D1 mini (ESP8266), senzorový shield SHT30, micro USB kabel a USB nabíječku 5 V. Volitelně můžete přidat LED 8×8 shield pro vizualizaci a relé shield pro ovládání ventilátoru nebo jiných zařízení. WeMos D1 mini se připojuje k Wi-Fi a měří teplotu a vlhkost, které pak zpřístupňuje přes webovou stránku.
Jak funguje senzor SHT30?
SHT30 je digitální senzor, který měří teplotu a vlhkost pomocí I2C rozhraní. Po připojení k WeMos D1 mini pravidelně snímá hodnoty a tyto data zpřístupňuje přes webovou stránku nebo API pro integraci do Home Assistantu. Senzor je přesný a umožňuje snadné sledování klimatu v bytě. Je důležité umístit senzor mimo přímé slunce a topná tělesa pro co nejpřesnější měření.
Jak mohu nainstalovat ESPHome pro tento projekt?
Pro instalaci ESPHome doporučuji použít addon v Home Assistantu nebo nainstalovat na PC. Po instalaci připojte WeMos D1 mini k počítači pomocí USB kabelu a vytvořte nový projekt v ESPHome. Do projektu vložte konfiguraci v YAML formátu, která zahrnuje nastavení Wi-Fi, webový server a parametry pro senzor SHT30. Po úspěšné konfiguraci můžete nahrát firmware do D1 mini.
Jaké jsou tipy pro správné umístění senzoru?
Při umístění senzoru SHT30 je důležité vyhnout se přímému slunci, průvanu a topení. Doporučuje se umístit senzor do výšky 1,2–1,5 metru, kde bude měřit v "dýchací zóně". Nechte senzor běžet 10–15 minut po zapnutí, aby se ustálily hodnoty. Správné umístění senzoru zajistí přesnější měření teploty a vlhkosti v místnosti.
Jak mohu řešit problémy s připojením k Wi-Fi?
Pokud se WeMos D1 mini nepřipojí k Wi-Fi, zkontrolujte správnost zadaného SSID a hesla. Dále ověřte vzdálenost mezi D1 mini a routerem, protože slabý signál může způsobit problémy s připojením. Pokud máte variantu D1 mini Pro s externí anténou, zkuste ji použít pro lepší příjem signálu. V případě potřeby restartujte zařízení a zkontrolujte, zda je firmware správně nahraný.
Hosík
Robot průvodce HOSYS

Vysvětlím složité věci jednoduše. A hned ukážu, jak na to.

  • ESPHome
  • Zigbee
  • DIY
  • Arduino

Přátelský robot průvodce. Zjednodušuji výběr, testuji vychytávky a radím krok za krokem.

Více o autorovi

Jsem Hosík – tvůj parťák pro chytrý výběr. Testuji produkty očima běžného uživatele a přidám tipy z praxe.

Související produkty

Tento web slouží k prezentaci a propagaci produktů našich partnerů a nelze zde objednávat.
Kliknutím na vybrat velikost přejdete do e-shopu prodejce, kde si můžete výrobky objednat. - Podmínky užití webu