ESP 32 problem

[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

Robert Błaszczak wrote: Tue Mar 07, 2023 4:29 pm ESP32 ma natywną obsługę USB bez dodatkowego konwertera (jak np. na płytkach Wemos z ESP8266), za pomocą którego ESP8266 był wprowadzany w tryb programowania (GPIO 0 do masy). Stąd przed rozpoczęciem programowania ESP32 należy wprowadzić mikrokontroler w ten tryb. Dla ESP32 jest to GPIO 9.
I tak i nie? Zależy chyba od płytki, ESP-WROOM-32 zgodny z ESP32-DevKit z poziomu ArduinoIDE/VS Code + PlatformIO/ esptools nie wymaga żadnych akrobacji ale też ma konwerter, dlatego też pytałem co jest kryterium działania flasha prosto ze strony gdzie można wybrać ESP32 DevKit
User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

Fakt, dziękuję za zwrócenie uwagi. Zresztą te płytki mają tylko przycisk RESET.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
User avatar
klew
Posts: 13909
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

[email protected] wrote: Tue Mar 07, 2023 5:56 pm I tak i nie? Zależy chyba od płytki, ESP-WROOM-32 zgodny z ESP32-DevKit z poziomu ArduinoIDE/VS Code + PlatformIO/ esptools nie wymaga żadnych akrobacji ale też ma konwerter, dlatego też pytałem co jest kryterium działania flasha prosto ze strony gdzie można wybrać ESP32 DevKit
Flashowanie ze strony buildera powinno działać z każdym ESP32 i każdym ESP82xx. Natomiast nie każdy ESP da się wprowadzić w tryb flashowania przez USB. Tzn. nie wszystkie mają odpowiednie układy, które między innymi podłączają GPIO0 do GND.

Innymi słowy, proces wygląda następująco:
1. Aby cokolwiek wgrać do ESP, to trzeba go wprowadzić w tryb "wgrywania softu". Zawsze i chyba we wszystkich płytkach, sprowadza się to do podciągnięcia GPIO0 do GND (low) w momencie uruchomienia ESP (czy to przez podanie zasialnia, czy pinem EN). Czasem niektóre stany na niektórych GPIO mogą powodować, że ten tryb się nie włączy. Szczegółowy opis jest np. tutaj: https://docs.espressif.com/projects/esp ... ction.html
2. Konwerety serial/uart mają opcję sterowania GPIO0, więc jak wszystko jest odpowiednio podłączone, to program do flashowania może przełączyć ESP w tryb "wgrywania softu" automatycznie. Natomiast to jest "opcja" i nie wszystkie urządzenia/płytki to mają.
3. Niektóre płytki nie mają konwerterów uart i wtedy trzeba mieć własny konwerter. Wtedy też często trzeba samemu zwierać GPIO0 do GND (np. większość gotowych układów Supla-Zamel, Sonoff, itd.)
4. Nawet jeśli płytka ma wbudowany konwerter, to może się okazać, że nie ma automatycznego sterowania GPIO0.

Nie ma tutaj znaczenia, czy mamy "ESP-WROOM-32", czy "ESP32-DevKit". Każdy układ, który mamy, może mieć to rozwiązane inaczej.

To, że w builderze GG masz do wyboru "ESP32 DevKit" oznacza tylko, że binarka zostanie skompilowana na ten konkretny procesor, natomiast nie oznacza to, że Twoja płytka ma automatyczne przełączanie w odpowiedni tryb.

Jeśli z poziomu Arduino da się wgrywać soft automatycznie, to z buildera też powinno to działać. Ale są też różne wersje narzędzi do flashowania, nie wszystkie wspierają każde procesory, także czasem coś w jednym miejscu zadziała, a w innym nie.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

W ESP32 C3 jest to GPIO 9 zamiast - jak w pozostałych - GPIO 0. Nie wiem, skąd taka zmiana, ale tak to wygląda na płytkach Wemos.
Tak też podaje strona https://www.studiopieters.nl/esp32-c3-pinout/
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
User avatar
klew
Posts: 13909
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

Robert Błaszczak wrote: Tue Mar 07, 2023 8:49 pm W ESP32 C3 jest to GPIO 9 zamiast - jak w pozostałych - GPIO 0. Nie wiem, skąd taka zmiana, ale tak to wygląda na płytkach Wemos.
Tak też podaje strona https://www.studiopieters.nl/esp32-c3-pinout/
Rzeczywiście. W nowym ESP32 C6 też jest GPIO9 używane.
Najlepsze suple dla Twojego domu :mrgreen:
kurus
Posts: 1312
Joined: Wed Jan 15, 2020 8:17 pm

Post

A nie jest tak że, można użyć 2, 8 lub 9?
You do not have the required permissions to view the files attached to this post.
User avatar
klew
Posts: 13909
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

kurus wrote: Wed Mar 08, 2023 8:15 am A nie jest tak że, można użyć 2, 8 lub 9?
Wg dokumentacji, GPIO2 musi być HIGH, GPIO8 HIGH, GPIO9 LOW, aby wszedł w "download mode".
Przy czym zwykłe bootwanie wymaga GPIO2 HIGH, GPIO9 HIGH, a GPIO8 może być dowolne, więc pewnie w większości układów GPIO2 i 8 będą na stałe podciągnięte do HIGH.
Najlepsze suple dla Twojego domu :mrgreen:
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

klew wrote: Tue Mar 07, 2023 8:27 pm ...

Jeśli z poziomu Arduino da się wgrywać soft automatycznie, to z buildera też powinno to działać. Ale są też różne wersje narzędzi do flashowania, nie wszystkie wspierają każde procesory, także czasem coś w jednym miejscu zadziała, a w innym nie.
Zgadzam się z tobą w 100%, jednak to nie zmienia faktu, że dla dwóch płytek które posiadam (Wroom rev. 1 i 3) z GUI nie mogę wgrać softu a mogę to zrobić ze wszystkiego innego bez akrobatyki przez tylko podłączenie USB, więc będę się upierał przy stwierdzeniu, że coś jest nie tak i fajnie było by wiedzieć co konkretnie, nawet jeśli miało by to zostać nierozwiązane ;)

Osobiście strzelał bym w brak uprawnień procesu z przeglądarki do portu COM w Win10 aczkolwiek takiego błędu tam nie widziałem.
User avatar
klew
Posts: 13909
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

[email protected] wrote: Wed Mar 08, 2023 9:28 am
Zgadzam się z tobą w 100%, jednak to nie zmienia faktu, że dla dwóch płytek które posiadam (Wroom rev. 1 i 3) z GUI nie mogę wgrać softu a mogę to zrobić ze wszystkiego innego bez akrobatyki przez tylko podłączenie USB, więc będę się upierał przy stwierdzeniu, że coś jest nie tak i fajnie było by wiedzieć co konkretnie, nawet jeśli miało by to zostać nierozwiązane ;)

Osobiście strzelał bym w brak uprawnień procesu z przeglądarki do portu COM w Win10 aczkolwiek takiego błędu tam nie widziałem.
A sprawdzałeś jakieś płytki np. na ESP8266? Ewentualnie z innej przeglądarki?

Ewentualnie można spróbować np. w chrome dać F12 i zobaczyć czy coś w konsoli strony internetowej się pojawia.
Najlepsze suple dla Twojego domu :mrgreen:
kurus
Posts: 1312
Joined: Wed Jan 15, 2020 8:17 pm

Post

klew wrote: Wed Mar 08, 2023 8:25 am
kurus wrote: Wed Mar 08, 2023 8:15 am A nie jest tak że, można użyć 2, 8 lub 9?
Wg dokumentacji, GPIO2 musi być HIGH, GPIO8 HIGH, GPIO9 LOW, aby wszedł w "download mode".
Przy czym zwykłe bootwanie wymaga GPIO2 HIGH, GPIO9 HIGH, a GPIO8 może być dowolne, więc pewnie w większości układów GPIO2 i 8 będą na stałe podciągnięte do HIGH.
Dajmy teraz na to że pod gpio9 podlącze przycisk bistabilny i będzie on w pozycji zwartej i będzie podawał gnd wtedy na ten pin i zrestartuje moduł to wejdzie mi w tryb flashowania wtedy?

Return to “Pomoc”