ESPEasy firmware pre moduly ESP
How Can We Help?
Firmware ESP Easy je vhodný na doplnenie rôznych periférii , senzorov a aktorov pripojených k Loxone cez Wifi. Konfigurácia ESP Easy je založená výlučne na webe, takže akonáhle máte nahraný firmvér, nepotrebujete okrem bežného webového prehliadača žiadny iný nástroj.
HARDWARE
Podporovaný HW nájdete tu https://www.letscontrolit.com/wiki/index.php?title=ESP_Hardware
Osobne používam WEMOS D1 mini za 2€, alebo NodeMCU ktorá je väčšia. Skúšal som dosku WROOM ta mi nefungovala.
Odporúčam kúpiť dosku, ktorá ma prevodník USB to serial , aby ste sa nemuseli trápiť s externým prevodníkom.
FLASCH FW
1. Stiahneme si FW z odkazu https://github.com/letscontrolit/ESPEasy
2. Pripojíme dosku pomocou USB, mal by sa nám nainštalovať ovládač. V správcovi zariadení nám pribudne COM port.
3. sú 2 možnosti SW, ktorým sa dá FW flaschnuť.
A) ESP easy Flascher
tu treba vybrať COM port na, ktorom je doska pripojená a verziu FW.
Do väčšiny dosiek môžete použiť verziu
ESP_Easy_mega_20200516_normal_ESP8266_4M1M.bin resp. novšie vydanie
Môžete požiť verziu TEST, v tej je viac možnosti senzorov, ktoré neboli zaradené do verzie normal.
Alebo ak použijete iný HW Sonoff, Shelly tak vyberiete príslušný FW.
Mne niekedy nevedel Flacher nájsť COM port na ktorom bola doska preto používam druhu možnosť.
B) FlashESP8266
Pred spustením si prekopírujte zo zložky BIN súbory, ktoré chcete nahrať do zložky kde je FlashESP8266, čiže o úroveň vyššie.
Po spustení FlashESP8266 vyberte COM port a FW, ktorý chcete nahrať.
4. Po nahratí FW treba odpojiť dosku od USB a znovu pripojiť.
5. ESP vytvori WIFI sieť z názvom ESPxxxx , ku ktorej sa treba pripojiť. Heslo je configesp
6. V web prehliadači zadáte IP 192.168.4.1 a otvori sa prostredie ESPEasy
7. Na záložke Config nastavíme UnitName, UnitNumber (ak budeme používať viac ESP).
Ďalej SSID, WPA Key vašej WIFI kde sa ma ESP pripájať. IP, GW, masku, DNS.
Teraz ESP odpojíme od napájania a znovu pripojíme.
Po chvíľke by sa malo pripojiť k vašej WIFI a do web prehliadača dáme IP, ktorú sme zadali pre zariadenie.
8. V záložke Controllers pridáme controler (použil som Generic UDP) , čo je náš loxone.
Vyplníme IP Loxone miniserveru a UDP port.
Ak chcete meniť formát správy, ktoré do Loxone dorazí môžete v Controller Publish.
Nezabudnite zaškrtnúť Enabled.
9. Výstupy
Asi najjednoduchšie je zapnúť výstup, nejakú LED alebo Relé.
Netreba zabudnúť, že vstupy/výstupy sú 3,3V, čiže na výstup pre relé použiť niečo na oddelenie, optotranzistor alebo tranzistor. Ja som pri prvom teste použil tranzistor a 3,3V relé.
Pre zapnutie výstupu stačí zaslať command
http://<espeasyip>/control?cmd=GPIO,12,1
alebo pre vypnutie
http://<espeasyip>/control?cmd=GPIO,12,0
Čiže IP adresa modulu , číslo výstupu a hodnota 0/1.
Toto si môžeme vyskúšať v prehliadači.
Ak chceme výstup ovládať z Loxone vytvoríme si Virtuálny HTTP výstup v ktorom vyplníme IP adresu ESP modulu.
A virtuálny výstup príkazu , kde vyplníme inštrukciu pre zapnutie a vypnutie
/control?cmd=GPIO,12,1
/control?cmd=GPIO,12,0
Potom použijeme ako bežný digitálny výstup.
Výstup je možné použiť aj ako dimmer, servo viz.:
https://www.letscontrolit.com/wiki/index.php/GPIO#Commands
Napr. Da sa priamo pripojiť LED na výstup a stmievať ju cez PWM.
10. Vstupy senzory vytvoríme v záložke Devices
10.1. Najjednoduchšie je tlačidlo spínač.
Pridáme Add zariadenie, celkovo ich môžeme pridať 12.
Vyberieme Switch input – Switch.
Vyplníme
– Name,
– nezabudneme Enabled,
– ak potrebujeme zapneme Pullup,
– vyberieme GIPO kam pripájame spínač.
– Switch type na switch
– Switch button type na Normal switch
– De-bounce dáva kôli záchvevom tlačidla 10ms
– Zaškrtneme send to controler
– v prípade tlačidla Interval necháme 0 , aby command poslalo hneď.
Následne si v loxone vytvoríme Virtulány UDP vstup, kde vyplníme číslo potru, ktoré sme zadali na záložke Controller.
Dáme uložiť do miniserveru a spustíme si UDP monitor.
Tu by sme mali už vidieť pri stlačení tlačidla, že nám prišla správa niečo ako
ESP_SW_State=1
Teraz si vytvoríme Virtuálny UDP príkaz a vyplníme Rozoznanie príkazu.
Príkaz sa skladá podľa toho čo sme vyplnili v ESPEasy na záložke Controller pole Controller publisher. Napríklad ESP_SW=0 tuto 0 nahradíme /v
ESP_SW=\v
Teraz môžeme Vstup použiť ako bežný digitálny vstup.
10.2. Generic – Pulse counter elektromer, vodomer, prietokomer
Mám pripojene na prietokomer https://www.aliexpress.com/item/33009797710.html?spm=a2g0o.productlist.0.0.46e61e3czwQcO9&algo_pvid=9b363f0c-4a1e-487d-a021-70325ec320c8&algo_expid=9b363f0c-4a1e-487d-a021-70325ec320c8-7&btsid=0be3743b15914688158757311ed5e7&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
V Devices si vytvoríme Generic – Pulse counter
zadáme Name, GIPO, Debounce, pre prietokomer Counter type – Delta , Modetype – Falling a Interval ako často má hodnotu posielať ( ja som použil 10s) odporúčaná je 5-15s.
Obmedzenie je, že counter vstup môže byť len na device 1-4.
Môj prietokomer ma prevod Q*6.6 toto treba dať do poľa Formula.
V loxone si vytvoríme ďalší virtuálny UDP príkaz kde nastavíme rozpoznanie príkazu.
V mojom prípade ESP2_voda_wc_Count=\v.
Čiže je to z druhého ESP , názov zariadenia voda_wc, hodnota Count
V UDP monitore môžeme vidieť
Tento vstup môžeme priamo pripojiť na blok meranie spotreby vstup P.
10.3. Environment – DS18b20
Pridáme v devices nové zariadenie, vyberieme GPIO, systém rovno vyhľadá ID čipu, ktoré si vyberieme. Na jeden pin môžu byt pripojené viaceré senzory.
Zaškrtneme send to controler, a Interval, úplne stačí 10s.
Názov hodnoty si môžeme dole vo Values premenovať.
10.4. RFID – PN532
Čo ma potešilo, že ESPEasy podporuje tuto čítačku.
https://www.aliexpress.com/item/4000431022374.html?spm=a2g0o.productlist.0.0.7cd744a18IY8IV&algo_pvid=94c59cfc-38f5-486f-9fc8-7e7c5c54e0b9&algo_expid=94c59cfc-38f5-486f-9fc8-7e7c5c54e0b9-0&btsid=0be3764515914700350744702e8242&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
Keďže bola v šaflíku a už dávnejšie som zvažoval ako ju k Loxone pripojiť tak som to vyskúšal.
Nečakal som, že to je až také jednoduché. Stačí pripojiť 4 dratý, Prepäť Dip switch na doske, nastaviť komunikáciu na I2C. Reset pin som nezapájal.
Vytvoriť ďalšie zariadenie a čítačka fungovala.
Potešil ma dosah, karta cca 7cm a prívesok cca 4cm.
10.5. Analog input – internal
Toto je vlastne vstup prečo som začal podrobnejšie skúmať ESPEasy.
Jeden člen fóra potreboval pripojiť senzor vlhkosti.
Ja som vstup použil na senzor osvitu, zase bol v sulfiku.
https://www.aliexpress.com/item/32571120284.html?spm=a2g0o.productlist.0.0.57e67c2dcPuUiN&algo_pvid=0426d79e-6e69-4a77-9cf6-bd89e922acb8&algo_expid=0426d79e-6e69-4a77-9cf6-bd89e922acb8-22&btsid=0ab6fa8115914704430434149e7f0a&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
Pozor treba kúpiť taký, ktorý ma AO, čiže 4 piny.
Výstup pripojený na A0 (čo je jediný analog input na doske WEMOS)
V devices vytvoriť zariadenie.
Kto chce si môže vyladiť kalibračne hodnoty, ja som to použil len na otestovanie analógového vstupu .
Zadal som v loxone korekciu
Výsledok za 24hodin v interiéri.
Popísane boli len senzory, ktoré mam odskúšane tu je zoznam čo všetko ESPEasy podporuje.
https://www.letscontrolit.com/wiki/index.php?title=Devices
10.6 Display NEXTION
HW zapojenie:
Napájanie 5V beriem priamo s pinov WEMOS D1.
TX priamo a RX tranzistor PNP (osobne som použil zo šaflíku BC307)
Moje upatlané zapojenie.
Vodiče som naspájkoval priamo na Display aby potom nezavadzali v krabičke.
Napájanie používam pri ladení Mikro USB nabíjačku.
V prevádzke potom používam DC/DC menič 24V /5V.
Príprava displeja:
Nebudem vypisovať podrobnosti, na Youtube je veľa náhodou, napríklad:
Spomeniem par veci, pre inspiráciu:
– ak mam viac stránok treba si prepäť vscope na global, aby sa po prepnutí stránky nenulovali
– pre prepnutie stránky treba zadať v Touch press event napr. page page1
– texty si v editore pre displej napĺňam XXXX aby som vedel, keď Loxone pošle dáta
– poslednú stranu si nechávam všeobecne par riadkov ,na tie si zobrazujem systémové veci , IP, Name, RSSI…
– pre zasielanie údajov o stlačení tlačidla (alebo komponenty) z displeja treba zaškrtnúť SendComponentID v Touch press event
Súbor do displeja nahrávam cez SD kartu, aby som nemusel odpájať ESP.
Vložím SD, pripojím napájanie ,po nahratí vyberiem SD a odpojím-pripojím napájanie.
Nastavenie EspEasy:
Nahráme FW podľa postupu hore. Mám aktuálne otestovane
ESP_Easy_mega_20201130_test_beta_ESP8266_4M1M
najnovšej verzii chyba checkbox SendControler.
Nastavíme záložku Controlers pre UDP, viz hore.
V Devices pridáme Nextion:
V Line 1 – 10 si môžete nastaviť čo ma EspEasy zasielať pravidelne na displej
Napr.
page2.t0.txt=”Name: %sysname%” meno zariadenia
page2.t1.txt=”Rssi: %rssi%” signál
page2.t2.txt=”IP: %ip%” IP
page2.t3.txt=”Time: %systm_hm%” čas
page2.t4.txt=”SSID: %ssid%” SSID
page2.t5.txt=”Mac: %bssid%” MAC
Po uložení môžete odskúšať zaslať dáta s prehliadača napr.
http://192.168.1.128/control?cmd=NEXT35,page0.t0.txt=”Lox”
Čiže na Displeji z názvom NEXT35, strane page0, objekte t0, sa zobrazí text “LOX”.
Loxone config smer LOXONE to NEXTION (http):
Pre zaslanie hodnôt vytvoríme Virtuálny výstup
a virtuálny príkaz , pre analógovú hodnotu (napríklad čas, teplota)
pre digitálny výstup (používam pre popisy)
Na to aby som zabezpečil pravidelne zasielanie popisov tak na ich vstup je privedený minútový impulz.
Pre zasielanie pravidelne analógovej hodnoty používam analógovú pamäť a zdroj impulzov.
Loxone config smer NEXTION to LOXONE (udp):
Vytvoríme Virtuálny UDP vstup s portom, ktorý sme nastavili v EspEasy Controlers
Po uložení do MS by malo byt vidieť po stlačení tlačidla v UDP monitore prichádzajúce správy
Na základe týchto si vytvoríme Virtuálny UDP príkaz
EspEasy neposiela texty, ktoré sa zadefinujú v Touch press event, zasiela len ID a hodnotu.
Stlačenie tlačidla rozlišujem len cez ID.
Jas je možné zmeniť
http://IP/control?cmd=NEXT35,dim=50
Osobne používam na 50%
Dúfam, že je to dobrá inspirácia a na fóre uvidíme fotky integrácii.
10.7 SENZOR CO2 S8 Senseair
HW pripojenie
Nastavenie EspEasy
V záložke Controlers nastaviť zasielanie UDP.
V devices nastaviť
V Loxone vytvoriť Virtuálny UDP vstup a virtuálny UDP príkaz
Senzor som kupoval z Ali za cca 23€ , vyzerá že ukazuje ok, porovnám ešte z meračom a dám info na fórum.
Postupne doplním, ktoré ďalšie budem mat odskúšane.
Za mňa ESPEasy is easy.
Dotazy poprosím na fórum, keďže v komentároch to je menej prehľadne.
https://www.vodnici.net/community/arduino-hw/esp-easy-diskuze-k-clanku/
9 thoughts on “ESPEasy firmware pre moduly ESP”
Nezkoušel jsi prosímtě využít ESP i pro vyčítání dat z bluetooth zařízení (např. Miflora, Mijia Bluetooth Temperature Humidity Sensor)?
Já je mám zatím integrovaný do Loxone přes ESP32 -> HomeAssistant -> Loxone.
Ale líbila by se mi cesta rovnou z ESP do Loxone.
Ahoj , nie neskusal, nemam ten senzor.
Ale pozeral som a nieto taky plugin urobil. Ma ho na github a je tam aj .bin takze by to malo ist.
Len ked to je pre ESP32 tak trochu komplikovanejsie ho flaschnut.
Zdravím, děkuji za inspiraci. Řeším problém s posíláním hodnoty “” vždy mi to pošle pouze 0 ale když místo “” do uvozovek doplním hodnotu tak projde. je nějaké řešení?
Děkuji
Nechapem dotaz co je “”? Co a odkial kam posielas?
Skus pisat sem
https://www.vodnici.net/community/arduino-hw/esp-easy-diskuze-k-clanku/
Sorry nevšiml jsem si že to vyřadilo
Nejde mi to sem napsat ale jednalo se o hodnotu mezi znaky větší menší
Preto to vloz ako obrazok do vlakna na fore.