Hobby Elektro Elektronické konstrukce
WiFi teploměr s ESP8266

Po dlouhé odmlce, která byla způsobena pracovní vytížeností přcházíme s naprostou peckou. Jedná se o chytrý teploměr, který odesílá naměřená data na webserver, kde se ukládají do databáze a vykreslují se grafy a důležité informace. Jádrem zapojení je wifi modul s integrovaným mikroprocesorem ESP8266 a s pamětí flash 1024KB. Při použití tohoto modulu odpadá nutnost připojit řídící mikroprocesor, protože program běží přímo v "ESPu". Na stránku s měřením zde z Tábora si můžete prohlédnout ZDE

schéma


Prvně si popíšeme trošku čip ESP8266 osazený na modulu ESP-01. Jedná se o 32-bitový mikroprocesor s taktem 80MHz, 96KB RAM a 1024KB pamětí FLASH. Modul ESP-01 obsahuje 2 GPIO vstupy/výstupy, sériovou komunikaci Rx/Tx, CH_PD pin pro nastavení výkonu a napájení. Modul se napájí 3,3V a jeho spotřeba je až 300mA v době připojení k wifi a odeslání příkazů. Pro zapojení stačí připojit modul k napájení. Záporný pól na GND, 3,3V na Vcc, Pin CH_PD připojíme k napájecímu napětí a pin GPIO0 složí pro vstup do programovacího módu, stačí jej propojit se zemí. Sériová linka se používá k nahrání programu nebo ke komunikaci s jiným zařízením. Zapojuje se tak, že výstupní pin Tx jednoho zařízení se připojuje na vstupní pin Rx druhého zařízení, takzvaně do kříže. Pokud máme takto připojený modul k převodníku USB - RS-232 nebo přímo do portu sériové linky, tak jsme schopni do ESPu nahrát program. Po nahrání programu je nutné rozpojit propojku mezi GPIO0 a GND.

V programu je nutné upravit pár základních hodnot. SSID a heslo wifi připojení, na kterou se bude ESP připojovat. Doména - adresa, na kterou bude ESP odesílat naměřená data. V našem případě odesíláme na vlastní server v lokální síti, dříve na placený hosting server, nebo lze využít free hosting přímo od tvůrců TMEP. Další proměnnou je "guid", který určuje jakési ID naměřených hodnot. Využije se tehdy, kdy na jednom serveru máme více měření a potřebujeme je nějak od sebe oddělit. V případě nutnosti lze změnit i port, na který data odesíláme. Dále si můžeme nadefinovat port, na kterém je čidlo připojené, v případě DHT čidel i jeho typ. Poslední hodnotou je četnost odesílaných dat, výchozí hodnota je 10 minut, to bohatě stačí na standardní měření a data nezabírají zbytečné místo v databízi (celkem asi 3,8MB za 1 rok měření).

Vlastní program je velmi jednoduchý. Načtená hodnota hodnota teploty, případně i vlhkosti se vloží do Stringu, který pomocí požadavku HTTP GET se odešle na server, kde se již dál zpracovává. Po odeslání se program zastaví na určenou hodnotu a potom cyklus znovu pokračuje.

Schéma zapojení

Osazení

Plošný spoj je navržen tak, že na jedné straně je vyvedena svorkovnice pro napájení a pro připojení teplotního senzoru. Po delším testováním bylo zjištěno, že se teplotní čidlo nevyplatí připojit přímo do svorkovnice, ale například přes 10cm dlouhý kabel vedle. Z lineárního stabilizátoru a z wifi modulu se dostává přes nožičky čidla ztrátové teplo a měří pak vyšší teplotu. Na svorkovnici napájení je možné připojit stejnosměrné napájecí napětí 4-16V, proudový odběr je maximálně 300mA. V napájecí cestě je jako první filtrační kondenzátor C1 o hodnotě 220uF/16V, jako další je v SMD pouzdře stabilizátor AMS1117 s výstupním napětím 3,3V. Následuje blokovací kodenzátor 100nF v SMD pouzdře 1206.

Na plošném spoji jsou další 2 konektory. Konektor se zámkem k připojení programátoru na nahrávání firmwaru a zkratovací propojka pro spuštění programovacího režimu. Ta musí být před připojením napájecího napětí propojena.

Deska plošných spojů:

schema<

Osazovací plán:

schema


Deska plošných spojů je dostupná jako obrázek, nebo napanelizovaná v Gerberu přímo pro profesionální výrobu. Všechny desky nechávám vyrobit v Číně u firmy JLCPCB. Mají jednotnou cenu pro desky do 10x10cm, tak se snažím vždy využít poslední volné místo k zaplnění tohoto prostoru. Objednávku provedete jednoduše na stránkách www.jlcpcb.com.

Seznam součástek:
C1220uF/16V ele.
C2100nF ker. 1206
R110kOhm 1206
R210kOhm 1206
R310kOhm 1206
IO1AMS1117-3.3
IO2ESP-01 (ESP8266)
K1šroubovací svorkovnice RM=5mm - 2pin
K2konektor se zámkem RM=2,54mm - 3pin
K3šroubovací svorkovnice RM=5mm - 3pin
progzkratovací propojka RM=2,54mm

Reálné fotografie:

foto01
foto02


A teď k samotné instalaci celého systému. K tomu aby nám teploměr fungoval potřebujeme mít samotné zařízení s nahraným programem a místo v síti kde bude zobrazení naměřených hodnot. Je více možností, které využít a všechny jsou i jinak uživatelsky náročné.

První možností je přímo využití stránek TMEP.cz. To je uživatelsky nejsnadnější, protože se stačí na stránkách pouze registrovat, vyplnit pár informací a vše je hotovo. V tomto případě ale bude formát domény "mojeteplota".tmep.cz, kde "mojeteplota" bude název, který uvedeme při registraci. Lze využít i widget pro mobilní telefon, který výrobce poskytuje. Veškeré návody na registraci a nastavení zařízení naleznete na stránkách TMEP.cz.

Další možností je využít vlastního hostingu s doménou, to lze považovat za nejlepší variantu. Stránky můžeme mít pojmenované "mojemereni.cz" ale veškerá správa a nastavení stránek je na nás. Pro fungování měření musí být na hostingu nainstalované PHP a MySQL databáze, což většina poskytovatelů splňuje. Nejprve začneme založením databáze a aplikací dávkového souboru pro přednastavení všech tabulek. Pak v konfiguračním souboru "config.php" uvedme přístup do databáze a máme zde i některé nastavení pro samotný běh zobrazení naměřených hodnot. Soubory pak všechy nahrajeme na hosting a po odeslání naměřených hodnot a adresu se zobrazí v grafech.

Poslední varianta je nejnáročnější na správu a nastavení, ale pokud již doma máme nějaký server (postačí i Raspberry Pi), ušetří nám peníze za využívaný hosting. Veškeré nastavení je stejné jako u příkladu výše, pouze hostingový prostor máme na svém serveru. Pokud máme i veřejnou IP adresu, je možné se na naměřené hodnoty dívat i jinde než na vnitřní síti, případně měření skrýt pod doménové jméno, jako v našem případě. Při odesílání hodnot ve vnitřní síti mezi teploměr -> server je nutné v konfiguračním souboru uvést adresu ve vnitřní síti (např. 192.168.88.20).

Veškeré návody k nastavení a instalaci jsou přibaleny v kompletním zip souboru, současně se soubory pro hosting a programem pro ESP8266.


Instalační soubory:

Program pro ESP8266 - DHT senzory (Arduino IDE)

Program pro ESP8266 - DS18B20 (Arduino IDE)

Instalační soubory pro webserver

Novinky
23. červenec 2018

Zobrazení měřených teplot v internetu.
Číst více

16. červen 2016

Řídící jednotka do koloběžky.
Číst více

Kontakt

V případě jakéhokoli dotazu nás neváhejte kontaktovat, na Vaši otázku se budeme snažit co nejrychleji odpovědět.