Feladat: A mellékelt link alapján állítsuk össze a kapcsolást és töltsük fel a szoftvert a mikrovezérlőre.
Link: https://randomnerdtutorials.com/esp8266-dht11dht22
Elöljáróban fontos itt megjegyeznem, hogy a mai napon kezdtem el ismerkednni e feladat lévén a Wemos D1-gyel. Én is tanulom, ezért lehet e bejegyzésben hibás logika, előfordulhat, hogy valamit másképp, egyszerűbben is meg lehet csinálni.
Azt is fontos leszögeznem, hogy saját példányom pont így néz ki, más típusokhoz leírásom nem biztos, hogy minden részletében passzol.

De mi is ez a Wemos D1 mini?
“Az ESP8266 modulra épülő Wemos D1 pro mini lapka egyszerű, olcsó vezeték nélküli kapcsolatra képes IoT eszköz alapját képezi. Nem szükséges komoly programozói tudás a beállításához.”
Nagyszerű, gondoltam elsőre. Mint kiderült, azért ha nem is komoly, de egy pici nem árt.
Kezdésnek nézzük mi a kiindulási alap, azaz eszköz. A wemost is és a vele együtt vásárolt DHT11 hőmérséklet és páratartalommérő szenzort is mindenféle csatlakozókkal adják, mi magunknak kell eldönteni, hogy melyiket szeretnénk használni, illetve akarjuk-e használni. Lehet opció hogy vezetékeket forrasztunk a panelokba – gondolom. De, hogy forrasztanunk kell az biztos.

Én azt a csatlakozósort választottam, amelyiket a lyukakon átdugva felülről is bele lehet dugni egy másik shield tüskésorát, alulról pedig a tüskesort egy breadboardba vagy a DHT szenzor esetén magába a wemosba:
Kész pazarlás a mai ársapkás és rezsicsökkentett világunkban a DHT három szükséges csatlakozási pontjára (sensor kimenet, +, és GND) 2×8 -as csatlakozósort forrasztani, de nem volt szívem szétdarabolni, na meg mindenhez is adják, így maradtak egészben.
Viszont a forrasztással itt lehet spórolni. Egyik oldalon csak a 3,3V -os kimenetet és a másik felén, utolsó RST lábat forrasztottam (ez utóbbit csak azért, hogy tartása legyen), a másik soron pedig a GND, a 4-es kimenetet és szintén hasonló okból a TX kivezetést:
A 4-es kimenet a DHT-n nem opcionális, egyszerűen oda van kivezetve a panelon, így a programozásban majd ezt kell megadni. Ugyanez a shield felülnézetben:
Forrasztásnál a csatlakozósor elég instabil volt, ezért a Wemosnál (ahol mind a 16 tüskét célszerű beforrasztani, pl. ha egy másik projekthez szeretnénk majd felhasználni) egy breadboardon készítetten neki kényelmes, stabil fekvést. Így tuti szép, merőleges lesz a panelra:
![]() |
![]() |
Felülről:
Wemost a breadboardba, DHT-t a wemosba és máris kész a big mac hardverünk, már csak egy USB – microUSB csatlakozó kell, na meg a szoftveres környezet.
Az én DHT11-emre már rátették a 4,7kΩ-os ellenállást (citrom-lila-piros-arany, kapcsolást lásd lentebb), így csak annyit kellett tennem, hogy tüskéit beledugjam a wemos csatlakozóiba felülről, ügyelve hogy a kivezetések ugyanoda kerüljenek a két panelen.
Így gyakorlatilag a összekötésre került:
| WEMOS D1 mini | DHT11 |
| (+)3.3V | (+)3.3V |
| GND | GND |
| D4 | D4 |

Innen a bejegyzésem elején linkelt oldal leírását követve veszem sorra a lépéseket, ezért annak hogyanjára nem térek ki, a részletek ott már le vannak írva. Illetve lesznek dolgok, amiket kénytelen voltam máshogy elkészíteni.
Eltérés rögtön ugye, hogy GPIO helyett én Wemos D1 minit használok, DHT22 szenzor helyett pedig DHT11-et, de ez nem befolyásolja sem a hardveres összekötést, sem különösebben a szoftveres kódot, csak az eszközöket kell más néven definiálni.
Kép forrása: https://randomnerdtutorials.com/
A linkelt oldal leírásában hiba, hogy míg a rajzon a GPIO D1 van összekötve a szenzor kimenetével, addig a példaprogramjukban a DHTPIN 5 -ös bemenet van definiálva. De lesznek itt még majd más nyalánkságok is, ne szaladjunk előre.
A leírásuk alapján először a ESP8266 DHT-könyvtárának telepítését kell elvégezni, kövessük végig a leírást!
![]() |
![]() |
A DHT-könyvtárt én már korábban telepítettem az Arduinóhoz, ezért ezt nem kellett, viszont telepítve volt a Adafruit Unified Sensor könyvtár is, na erre nem emlékszem, hogy én lettem volna..
A webszerver telepítése következik, ehhez is kövessük a leírást. Töltsük le és csomagoljuk ki a ESPAsyncWebServert és az ehhez szükséges ESPAsyncTCP-t. Mindkettőt bemásolhatjuk az Arduino IDE telepítési könyvtárába, ehhez egyrészt rendszergazdai jogosultságot fog kérni:
![]() |
![]() |
Másrészt én ezzel nem mentem sokra, mert hiába másoltam a kicsomagolt és átnevezett mappát az Arduino IDE telepítési könyvtárába, a kód fordítását később elindítva, mindig hibába futott. Képet erről elfelejtettem készíteni, helyette viszont leírom, hogy telepítettem én. Persze az eredeti leírást követve is megpróbálhatjátok, hátha nektek sikerül úgy…
Szóval én a letöltött eredeti zip fájlokat neveztem át első lépésben ESPAsyncWebServer.zip és ESPAsyncTCP.zip -eknek. Majd egymás után mindkettőn kattintva a bennük lévő mappákat rendre: ESPAsyncWebServer és ESPAsyncTCP nevekre.

Majd az Arduino IDE programban a Sketch / Include Library / Add .zip Library… -t választva tallózuk be az elkészített zip fájlokat! (és nem a könyvtárakat). Majd telepítsük azokat. Előbb a ESPAsyncWebServer.zip-et majd a ESPAsyncTCP.zip-et.
Így nálam működik, a leírás alapján viszont nem.
Ezek után telepítenie kell az ESP8266 kiegészítőt az Arduino IDE-be, ez egy külön oldalon van leírva, linkre kattintva odanavigál. Teljesen jó, érthető, abban hibát nem találtam 🙂
Elvileg a célegyenesbe értünk, már csak be kell másolnunk a mintakódot egy új sketchbe, beállítani a wemost, meg a portot, amin csatlakozik a gépünk a wemoshoz.
Elvileg…
A gyakorlat azonban mindig macerásabb. Tegyük hát amit kér az oldalon lévő leírás:
- Másoljuk ki a mintakódot és illeszzük be az IDE-be.
- Csatlakoztassuk gépünket egy USB kábellel a Wemos D1-hez.
- Válasszuk ki a boardot és a portot. – nálam a LOLIN(VEMOS) D1 mini (clone) lett a nyerő
- A feltöltendő kódban javítsuk a javítandókat a leírás alapján (ssid, password – saját wifihálózatunk azonosítója és jelszava)
“Insert your network credentials in the following variables and the code will work straight away.” (Illessze be hálózat hitelesítő adatait a következő változókba, és a kód azonnal működni fog.)
Ha-ha-ha…
Nem fog működni.
Alapból ugye át kellene írni a bemeneti pin azonosítóját a rajz szerint define DHTPIN 5 -ről define DHTPIN 1 -re. Nem is értem, hogy jött az 5? Mindegy. Mivel az én DHT11-em ugye a wemos 4 -es tüskéjéhez csatlakozik a szenzor kimenetével ezért az én esetemben ugye ez: define DHTPIN 4. A szenzor típusát át kell írni DHT11-re: define DHTTYPE DHT11. Próbálkozzunk, csapó1: a kódot lefordítva feltöltöm. Hard reset a wemoson, és … nem jó. A webszerver elindult, mert soros monitort bekapcsolva írja, hogy melyik ip cím lett kiosztva neki, azt a böngészőbe beírva be is jön az oldal, de adatok nélkül, miközben a soros monitoron látom, hogy “Failed to read from DHT sensor!” Ezeket dobálja.
Átnézem újra, hátha valamit elkötöttem, de nagyon nincs mit, mivel egymáson csücsülnek, csak az usb kábell ami hozzá csatlakozik, az meg csak jó, hisz a kódot áttöltötte a webszerver része megy is. Csapó kettő: újratölt, és … nem jó. Lehet nem jó boardot töltöttem be? Végigpróbálom minden szóba jöhetővel, elcseszek vele legalább egy órát. 3,3 v helyett (lábat megszüntetve) 5V tápot adok a DHT-nek, de mindhiába.
Csapó nagyon sok, nem is tudnám már számolni, lehet rossz a DHT? Kaptam az Arduinohoz is, a shieldet leveszem, bekábelezem az Arduinósat, az biztos jó mert már próbáltam. És … nem jó.
Próbálgatom a librarykat, telepítek még három félét, nézegetem különböző tesztkódokkal, adat semmi.
Na, kezdjük az elején, írok gyorsan egy LED-et villogtató kódot, DHT le, LED, ellenállással fel. Kód áttölt, és … semmi. LED meg se nyikkan. Lehet nem jó a Wemos?
Mi a franc lehet, nem jó írtam a kódot, nézem a minta kódot: … pinMode(13, OUTPUT); és nézem az Arduinot:
Majd nézem a kódot ismét és nézem a wemosomat:
Basszus, lehet D4 kell a 4 helyett? define DHTPIN D4 Fordít, áttölt, … hopsz, már villog is a LED. Most komolyan ez szívatott órákon át? GPIO-nál nem kell D? Azt nem tudom, olyanom nincs, Wemosnál viszont biztosan kell. Így nem tudom hogy az eredeti leírás hibás-e, vagy csak a Wemos miatt, de nem is érdekel.
LED leakaszt, DHT shield visszacsücsül Wemosra, webszerveres kód vissza betölt, leellenőriz, feltöl a Wemosra, és … működik! Csak ugy tolja az adatokat a soros monitor, böngésző – ip cím beüt és ott is ott van. Nagyszerű.
Még egy kicsit személyesebbé lehetne tenni, ha már az enyém, meg magyarítsunk is rajta. Kódban kikeresem, átírom, feltöltöm és… :
Hát…. rosszabb lett mint volt. Akkor javítsuk a html kód elejét is:
<!DOCTYPE HTML><html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
helyett:
<!DOCTYPE HTML><html lang="hu">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
Szinte tökéletes 🙂
Utóirat: Arra a véleményre jutottam, hogy erre és a hasonló alapokra hőmérséklet és páratartalom shieldeket rakni nem túl szerencsés. Az egyébként 21 fok körüli hőmérsékletet fél óra elteltével szemrebbenés nélkül 25 fokosnak méri. A breadboardon mellette elhelyezve már sokkal közelebb van a valósághoz a mért értékek.






