Speciál: Stavíme čidlo teploty a vlhkosti

Čidel teploty a vlhkosti je celá řada, některé jsou levnější, jiná dražší. Každý výrobce má svůj vzhled a svůj způsob připojení. Co když ale budeme chtít mít v každé místnosti čidlo teploty a vlhkosti a těch místností máme třeba 5? U některých výrobců se toto řešení může vyšplhat klidně i k hodnotě 7 tisíc korun.

Výroba vlastního řešení zde tedy má smysl, protože kompletní čidlo lze sehnat už do hodnoty 100kč. Bude to chtít ale trochu našeho úsilí a práce. Představíme si oblíbenou desku ESP8266 a připojíme si k ní čidlo DHT11.

Tyto dvě desky se dají koupit na spoustě českých webů za celkem vysoké ceny – komplet na jednom radši nejmenovaném webu vyjde na více než 250kč za oba kusy a k tomu ještě doprava. Nicméně na ebay/aliexpressu se dají sehnat obě pod hodnotu 100kč a s dopravou až z číny jsme okolo hodnoty 100kč. Pokud jich tedy zakoupíme více, včetně dopravy jsme pod hranicí 100kč/kus.

Budeme tedy předpokládat, že toto čidlo máte již doma na stole a pustíme se do jeho zapojení a flashování na firmware HAA Raven Systems/Tasmota – výběr je jen na vás. Budeme tedy potřebovat vždy .bin soubor pro flashování. Soubory pro flashování zde ale uvádět nebudu, jak u Tasmoty, tak u HAA jsou dostupné na Githubu v jejich posledních verzích.

V případě Tastmoty jde o soubor tasmota.bin, v případě HAA jde o soubor fullhaaboot.bin. K flashování budeme používat nástroj esptool.py – jak nainstalovat určitě někdy někde uvedu, nicméně na webu je návodu hodně. Dnes se tedy zaměříme pouze na zapojení a flashnutí.

Zapojíme desku ESP8266 přes Arduino Uno (ano, pro rejpálky, nepoužívám originální desku Arduino UNO ale desku Keyestudio UNO, která je téměř identická ale stojí desetinu) viz následující zapojení. Je důležité zapojit desku do 3v3 pinu Arduina, jinak desku EPS poškodíme. Zároveň ale není potřeba připojovat EN konektor. Flashnutí funguje i bez něj. Uvádím jen pro případ, že by jste neměli dostatek kablíku na propojení.

Zároveň nezapomeňte propojit GND a reset na arduinu a piny pro TX a RX se opravdu zapojují TX->TX a RX->RX. Arduino nám v tomto zapojení bude fungovat pouze a jen jako převodník. Stejnou službu udělá jakýkoliv 3v3 USB—>UART převodník.

Pokud tedy máme zapojeno, můžeme začít flashovat. Jako první provedeme příkaz:

esptool.py --port /dev/cu.usbmodem14101 flash_id

Příkaz otestuje komunikaci. Pokud je něco špatně, vyhodí to následující okno:

Pokud vše proběhne v pořádku, vypíše se obdobné okno, kde nás zajímá hodnota paměti, kterou budeme používat v dalším příkazu. V našem případu jde o velikost 1MB.

Následujícím příkazem tedy již můžeme flashovat. První je pro HAA, druhý pro Tasmotu:

esptool.py -p /dev/cu.usbmodem14101 --baud 115200 write_flash -fs 1MB -fm dout -ff 40m 0x0 fullhaaboot.bin
esptool.py -p /dev/cu.usbmodem14101 --baud 115200 write_flash -fs 1MB -fm dout -ff 40m 0x0 tasmota.bin

Během flashování budou vidět procenta jak proces probíhá.

Pokud vše dopadlo dobře, uvidíte následující obrazovku.

Nyní nastal čas odpojit ESP8266 od Arduina a připojit ho na desku DHT11 a přes tu spustit 3v3 napájení – opět klidně můžeme použít Arduino. Když se vše podaří, uvidíme při vyhledávání WiFi sítí novou WiFi s názvem: HAA-XXXXXX kde XXXXXX je posledních 6 znaků z MAC adresy ESPčka.

Připojíme se tedy k této WiFi síti – je bez hesla. Síť má DHCP v rozsahu 192.168.4.x. Do prohlížeče tedy zadáme adresu: http://192.168.4.1:4567 tímto otevřeme nastavení čidla.

Do MEPLHAA scriptu zkopírujeme následující kód.

{ "c":{ "sn":"ESP01-1", "n":"ESP01-1" }, "a":[ { "t":24, "g":2, "n":1 } ] }

Co jednotlivé části kódu znamenají jsem detailně rozepsal na konci článku. Pro DHT11 čidlo, resp pro tuto sestavu je ale kód tento.

Pro Tasmotu musíme jít do nastavení a v typu zvolit „Generic“, uložit a pak vložit šablonu, tam kód vypadá takto:

{"NAME":"ESP01S DHT11","GPIO":[255,255,1,255,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}

Pro Tasmotu je celé nastavení hodně odlišné – je potřeba k jejímu ovládání používat HA (HomeAssistant) nebo HB (HomeBridge). My ale primárně používáme Apple HomeKit, takže dál budu pokračovat už jen v HAA.

Pokud vše proběhne v pořádku, nové čidlo se připojí do naší WiFi sítě. Bude tedy vidět v DHCP rozsahu na routeru. Otevřeme tedy na iPhone aplikaci Domácnost a naskenujeme tento kód.

Případně se může stát, že příslušenství aplikace najde automaticky. V takovém případě na něj jen klikněte.

Potvrďte, že se jedná o necertifikované zařízení, které chcete přidat.

Zadejte tento kód a přidejte.

Může se stát, že na první pokus se zařízení nepovede přidat. Občas se to děje. Odpojte tedy od čidla napájení a znovu jej připojte a zahajte znovu proces párování.

Během chvilky, co se snaží připojit se čidlo začne zobrazovat. Vyberte umístění čidla, do které místnosti jste jej přidali.

Čidlo si nějak pojmenujte.

Nyní se zobrazí informace o novém čidlu.

Vše nyní už jen potvrďte.

Nyní už vidíte nové čidlo v místnosti, do které jste jej přidali.

V tuto chvíli je vše hotové a připravené k použití. Nyní ale ještě odpočim k MEPLHAA Scriptu. Aby jsme si vysvětlili jeho jednotlivé části.

Informace v MEPLHAA scriptu

Čídlo teploty a vlhkosti DHT11 jsme si přidali podle následujícího kódu, co se zadával:

{ "c":{ "sn":"ESP01-1", "n":"ESP01-1" }, "a":[ { "t":24, "g":2, "n":1 } ] }

Pojďme si ale jeho kusy rozvést. První část v poli „c“ se věnovat nebudeme, ta je více než jasná. Nás bude zajímat pole s označením „a“.

První hodnotou je „t“. Tato hodnota v případě čidla teploty a vlhkosti podle HAA Githubu může nabývat těchto tří hodnot:

Type Service Type
22 Temperature Sensor
23 Humidity Sensor
24 Temperature & Humidity Sensors

Pokud by jste tedy chtěli z čidla použít pouze senzor teploty či pouze senzor vlhkosti, místo 24 změníte typ na 22 či 23.

Označení „g“:2 nám udává, na kterém z pinů je DHT senzor připojen. V našem případě jde o pin s označením GPIO2. Když se podíváme na oficiální specifikaci desky, dozvíme se informace z následující tabulky:

GPIO # Component
GPIO00 User
GPIO01 User
GPIO02 DHT11
GPIO03 User
GPIO04 None
GPIO05 None
GPIO09 None
GPIO10 None
GPIO12 None
GPIO13 None
GPIO14 None
GPIO15 None
GPIO16 None
FLAG None

Poslední hodnotou je pak „n“:1 – ta nám udává přesný typ, opět podle HAA Githubu, o jaký přesný typ čidla se jedná. Na desce máme umístěn senzor DHT11, pokud by jsme měli DHT22, použili bychom „n“:2 a tak podobně dále, opět viz následující tabulka:

Key Type Device Type Support Description
„n“ 1 22, 23 & 24 DHT11 Temperature and humidity sensor

2 22, 23 & 24 DHT22 Type 1 (default) Temperature & humidity sensor

3 22 DS18B20 Temperature sensor

4 22, 23 & 24 Si7021 1-Wire version Temperature and humidity sensor

5 22 ADC NTC Thermistor

6 22 ADC PTC Thermistor

7 22 Raw ADC NTC Thermistor

8 22 Raw ADC PTC Thermistor

9 23 Raw ADC Humidity Sensor

10 23 Raw ADC Humidity Sensor (Inverted logic)
Na konec bych rád upozornil na jednu docela zásadní věc. Tou je samotné čidlo DHT11. Toto čidlo má celkem velkou nepřesnost, co se týče měření teploty. Tato hodnota je ±2 stupně a co se týče přesnosti jako vlhkoměru, má nepřesnost ±5%
Další na co bych rád upozornil, ale zjistil jsem až po chvíli testování této sestavy je problém se zahřívající se deskou ESP8266, díky které jsou hodnoty čidla přibližně o 2-3 stupně zkreslené. Ukazuje tedy teplotu v místnosti vyšší, než jaká je reálná.

Úvod do Apple HomeKitu

V tomto díle si řekneme nějaký úvod do domácího centra a zjistíme, co je jeho základem a co jej celé řídí.

Kompatibilní zařízení

V tomto díle si řekneme něco o kompatibilitě zařízení a jak jednoznačně poznat, že nově koupené zařízení bude bez problému s aplikací Domácnost fungovat.

Organizace Domácnosti

Organizace domácnosti je velmi důležitá pro náš přehled a usnadní nám orientaci v nově připojených chytrých zařízeních.

Připojení prvního kompatibilního zařízení

V tomto článku si připojíme spínač světla v obýváku. Vše bude velmi snadné a použijeme na to průvodce.

Vytváříme první automatizaci

V tomto díle se budeme věnovat vytvoření automatizací. Zkusíme si vytvořit automatizaci, která každý všední den pustí hudbu a rozsvítí v ložnici.

Přidáváme členy do naší Domácnosti

Být sám je nuda a ve dvou se to vždy líp táhne. Přidáme si tedy do naší domácnosti další uživatele, aby jsme jí nemuseli ovládat sami.

Speciál: Instalujeme HomeBridge přes Docker do Synology NASu

V tomto díle si zprovozníme HomeBridge jako kontejner v Dockeru na Synology serveru. Tato kombinace je pro spuštění velice jednoduchá a její nastavení a spuštění je otázkou pár minut.

Speciál: Instalujeme Hoobs přes Docker do Synology NASu

V tomto díle budeme spouštět systém Hoobs přes virtualizační nástroj Docker v Synology NASu

Speciál: Přidáváme nepodporované kamery Ubiquity

Budeme nastavovat nekompatibilní kamery. Jde o kamery od společnosti UniFi, které jsou starší a s Homekitem nemají nic společného. Přes to je ale dokážeme díky Homebridge v aplikaci Domácnost zobrazit a dokonce je nahrávat na iCloud.

Speciál: Přidáváme virtuální vypínač

V tomto díle budeme vytvářet virtuální vypínač, kterým budeme ovládat několik světel najednou. Budeme používat rozšíření skrze HomeBridge.