Potrzebny sprzęt i przygotowywanie urządzenia

Zaczynając przygodę musimy mieć pewne podstawowy przygotowane:

  1. Funkcjonujące konto w Supla Cloud (lub własny serwer supla-cloud)

  2. Smartfona lub tablet, z zainstalowaną aplikacją Supla App

  3. Działającą sieć WiFi 2.4GHz o znanym SSID oraz haśle (może być szyfrowana WEP, WPA, WPA2 - po prostu normalne wifi)

  4. 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.

  5. 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.

  6. 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 !

  7. 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).

  8. 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).
    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:
esp01programmer
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.

  1. Podczas pierwszego wgrywania oprogramowania GUI-Generic należy wgrać plik, który wyczyści pamięć. Dostępne są pliki w dwóch rozmiarach: 1MB oraz 2MB. Jeżeli wgrywamy oprogramowanie skompilowane pod 1MB, należy użyć pliku blank_1MB.bin, a jeżeli pod 2MB - blank_2MB.bin.
    Pliki należy wgrywać pod adres 0x00000 (jeśli używamy programu wgrywającego, który wymaga podania adresu, od którego wgrywać)
    blank_1MB_and_2MB.zip

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.

erase_flash