Przegląd płytki: ESP32 WROOM-32

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