Zaczynając przygodę musimy mieć pewne podstawowy przygotowane:
Funkcjonujące konto w Supla Cloud (lub własny serwer supla-cloud)
Smartfona lub tablet, z zainstalowaną aplikacją Supla App
Działającą sieć WiFi 2.4GHz o znanym SSID oraz haśle (może być szyfrowana WEP, WPA, WPA2 - po prostu normalne wifi)
Komputer lub laptop z portem USB, oraz w większości przypadków - konwerter USB-UART i 4 kolorowe kabelki do podłączenia masy, zasilania i UART do urządzenia.
Urządzenie z dostępem do sieci WiFi (może być ten sam smarfon/tablet co w punkcie 2, może być laptop czy komputer z kartą WiFi - nie wystarczy PC podłączony kablem) aby móc połączyć na http://192.168.4.1/ się z nowym i jeszcze nie skonfigurowanym modułem.
Wygodne i bezpieczne miejsce do pracy, zwłaszcza dla pracy i testów przy urządzeniach zasilanych z 230v
(!) URZĄDZENIA NIGDY NIE PROGRAMUJEMY POD NAPIĘCIEM SIECIOWYM (!)
Do celów zaprogramowania układu ESP - wystarcza zasilanie z konwertera USB-UART i z USB portu komputera.
A ewentualne dalsze testy i konfiguracje - jeśli jest wymagane silniejsze zasilanie (np przegaźników) z sieci - ROBIMY DOPIERO PO CAŁKOWITYM ODŁĄCZENIU KABELKÓW OD PC, I ZAMKNIĘCIU OBUDOWY URZĄDZENIA PRZED PODANIEM 230v !
Jeśli chcemy wgrać GUI-Generica na płytki posiadające własny konwejer USB UART i wyposażone w odpowiedni port (np. WeMos D1 mini, NodeMCU itp), potrzebujemy jedynie kabla do połączenia ich z komputerem. W przypadku WeMosa będzie to kabel USB (microUSB lub C, zależnie od wersji płytki).
W przypadku wgrywania GUI-Generica na surowe moduły ESP (jak ESP-02S, ESP-12, ESP01 itp) lub gotowe urządzenia konwertowane do supla (np Sonoff), potrzebujemy konwertera USB UART. Poniżej zostało umieszczone zdjęcie przykładowego (opartego na układzie CP2102).
Pomiędzy modułem ESP, a konwerterem UART łączymy 4 przewody - RX, TX, GND (masę) oraz Vcc (3.3v, zasilanie). Warto używać przewodów o różnych kolorach - i trzymać się zawsze tego samego standardu - unikniemy wielu smutnych pomyłek.
W samym module ESP - aby wszedł w tryb wgrywania oprogramowania (niezależnie jakie miał wcześniej oprogramowanie) - musimy zewrzeć GPIO00 do masy przed załączeniem zasilania, i włączyć jego zasilanie. Wiele modułów (jak np moduły Sonoff) mają przycisk zwierający to GPIO00 do masy - podczas normalnej pracy możemy ten przycisk wykorzystywać dowolnie do własnych celów, ale ważny jest jego stan podczas załączania zasilania. Potem można go puścić/rozewrzeć i wgrywać oprogramowanie
Ważne - by konwerter miał opcję pracy przy 3.3v (wybierane zworką 5v/3.3v - ustawienie 5v może uszkodzić nasz moduł ESP !) lub po prostu działał tylko przy 3.3v
Do programowania modułów ESP01/ESP01s (maksymalnie uproszczony moduł z ESP, opiszemy go później) są też dedykowane płytki USB-UART z odpowiednim złączem 2x4 piny - tego typu:
Programowanie ESP01 w takiej płytce jest banalne, bo wystarczy przełączyć przełącznik UART/PROG na PROG (zwarcie gpio00 do masy) i włożyć moduł ESP01.
PROSTSZE: Można też użyć programu NodeMCU PyFlasher, który posiada wbudowaną opcję Erase flash. W takim przypadku nie ma potrzeby wgrywania pliku blank_1MB.bin czy blank_2MB.bin.
Oprogramowanie NodeMCU PyFlasher jest dostępne do pobrania na platformie GitHub: https://github.com/marcelstoer/nodemcu-pyflasher/releases.