INTRO

Przegląd płytki: ESP32 WROOM-32

3. Sposób programowania

Samo programowanie modułu jest bardzo proste, ponieważ sprowadza się do wybrania trybu uruchomienia płytki. W tym celu zwieramy pin GPIO0 do masy. Następnie podłączamy zasilania modułu i możemy programować. Po zaprogramowaniu odłączamy ten pin od masy i restartujemy moduł, zwierając pin EN do masy. Gotowe nasz układ wykonuje program

Nie zaleca się aby GPIO0 było ” w powietrzu”. Może to powodować różne zachowania modułu. Najlepiej jakby po zaprogramowaniu układu podłączyć je do VCC przez rezystor 10k ohm

Sam schemat minimalnego zestawu połączeń dla modułu WROOM-32 przedstawiam poniżej:

esp-32-minimum

 

Dobra to skoro wiem co i jak podłączyć to zróbmy pierwszy test :)

4. Obliczanie liczby pi – milion iteracji

Takim najprostszym sposobem do sprawdzenia mocy obliczeniowej jakiegokolwiek układu, a w szczególności układów IoT jest test obliczenia liczby przy milionie iteracji. Na potrzeby testu modułu skorzystałem ze środowiska Arduino IDE.

A tak ukazują się wyniki w porównaniu do innych układów (każdy test był wykonany po 5 razy):

bench1

 

 

 

 

bench2

Jak widać wyniki mówią same za siebie, moduł ESP32 jest ponad 3 razy szybszy od swojego poprzednika ESP8266. Możemy tu gołym okiem stwierdzić, że podwojona ilość rdzeni pozytywnie wpływa na moc obliczeniową układu. Co najważniejsze wyniki są powtarzalne. Nie są to jakieś „lepsze momenty” działania układu. On cały czas tak działa !

5. Przykładowe aplikację dla IoT

Teraz chciałbym przedstawić parę programów, którymi posprawdzałem podstawowe funkcję ESP32:

ADC

ze względu na to, że PWM nie mogłem sprawdzić to podzielę się „wynikami” z testu ADC:

odczytadc

Jak widać po logach z terminala- ADC jest 12 bitowe, czyli wszystko się zgadza, to lecimy dalej :)

 

One-Wire

Teraz przetestujemy zwykły czujnik temperatury DS18B20 działający na magistrali 1W:

odczyt-1w

Przy programowaniu układu występowały, co którąś próbę problemy z zapisem do układu. Udało mi się ustalić, że prawdopodobną przyczyną tego stanu rzecz były konflikty z czujnikiem temperatury. Nie wiem na ile procent jest trafne to stwierdzenie, lecz przy odłączonym czujniku, wgrywanie programu szło bez większych problemów:

blad-1w

  • Przemek Michalak

    Napisałeś „Możemy tu gołym okiem stwierdzić, że podwojona ilość rdzeni pozytywnie wpływa na moc obliczeniową układu.” a w jaki sposób aplikacja wykorzystuje te 2 rdzenie w tym przykładzie? Ten drugi dodatkowy nie jest przeznaczony na obsługę wifi itp?

    • Cześć,
      jest właśnie tak jak piszesz :) drugi rdzeń zajmuje się obsługą między innymi Wi-Fi, ale jak na to popatrzymy w porównaniu do ESP8266, gdzie miałeś jeden rdzeń na wszystko, to to jednak w ESP32 wpływa pozytywnie na działanie :)

      • Przemek Michalak

        Tak, ale w tym przykładzie 2 rdzeń nie jest używany. A może jakiś przykład tego typu, ale jeszcze serwer? Tylko wtedy efekt będzie pewnie taki, ze ESP8266 będzie się wieszał po stronie serwera, a ESP32, będzie stabilnie pracował i średnio będzie można to porównać.

        Swoją drogą poza tą stabilnością połączenia to raczej mało kto ma hobbystyczne projekty, które musiałyby mieć aż taką wielką moc obliczeniową

        • Zapewne chodzi ci o test obliczania liczby pi. Było on nastawiany bezpośrednio na test wydajności modułów. Możnaby spróbować dodać serwer, ale test raczej nie byłby miarodajny. Co do wykorzystania hobbystycznego to kuszącym może być sprzętowa akceleracja kryptograficzna

  • Mscichu

    A jak z zasięgiem tych modułów i może wiecie czym się różni moduł z końcówką S?

    • Zasięgu nie sprawdzałem ale sądząc po wbudowanej antenie to będzie porównywalny z ESP-12. Moduł ESP-32S od zwykłego ESP-32 myślę że może się różnić tylko płytką i ewt. wielkością pamięci FLASH, bo innego układu niż ESP3212 w niej nie ma :)

      • Mscichu

        Raczej zastanawiałem się czy zasięg jest poprawiony, bo były moduły ESP8266 z dodatkowym wzmacniaczem antenowym. Będzie więcej artykułów o modułach bezprzewodowych?

        • Mam taką nadzieje, że będą bo w dziedzinie IoT jest szerokie spektrum możliwości :)

  • Mscichu

    Jeszcze zastanawiam się, bo piszesz o ESP-WROOM-2, a wszędzie gdzie znajduję to jest na ESP8266. Na necie i na zdjęciach jest ESP-WROOM-32. Literówka?