Fórum Root.cz

Hlavní témata => Hardware => Téma založeno: Tomáš G. 31. 05. 2020, 19:23:53

Název: ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Tomáš G. 31. 05. 2020, 19:23:53
Před časem jsem si koupil ESP32 (https://www.aliexpress.com/item/32858054775.html) a při dnešní propršené neděli na něj přišla řada. Připojil jsem k tomu nějaké senzory, relé, vše funguje OK, ale těžce jsem narazil s komunikací.

Moc se v tom neorintuji, takže jsem sáhl po prvním tutoriálu z Google (https://dronebotworkshop.com/esp32-intro/) a šel zkusit AP mód. Absolutně nic. Dva mobily, tablet, notebook, Mikrotik, nic tu síť nevidí. Zkusil jsem tedy režim STA a úplně stejná situace. Nepřipojí se to ani proti Mikrotiku ani proti AP udělané na mobilu. Jediné co funguje, je skenování sítí.

Zkusil jsem do toho nahrát MicroPython, jestli náhodou nemám něco blbě v tom Arduino IDE, když těchto návodů jak přes kopírák je plný internet, ale stejná situace. Fungovalo jen skenování síti.

Už jsem myslel, že to je prostě nějaký nefunkční kus, než jsem jako poslední zoufalý pokus, než to odpískám, vytáhl ze skříně starý TP-Link TL-WR741N, který jsem si před lety koupil na oťukání OpenWRT. ESP32 se proti tomu připojilo na první dobrou. Zkusil jsem vyhrabat ještě ten nejobyčenější Mikrotik RB941-2nD, kde jsem si hrál s kanály a zabezpečením, ale tady se mi to nepřipojilo.

Našel jsem doporučení přidat

#include "esp_wifi.h"
a
esp_wifi_set_ps(WIFI_PS_NONE);
To ovšem nepomohlo.

Nesetkali jste se prosím někdo s podobným chováním? Nevím, co si o tom mám myslet. Jestli to je jen nepovedená čínská deska, nebo něco přehlížím. Díky
Název: Re:ESP32, problém s WiFi
Přispěvatel: Tomáš G. 31. 05. 2020, 19:31:09
Jde o:
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: a4:cf:12:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
Manufacturer: 20
Device: 4016
Detected flash size: 4MB
Název: Re:ESP32, problém s WiFi
Přispěvatel: Mirek Prýmek 31. 05. 2020, 19:44:19
Co je v logu?
Název: Re:ESP32, problém s WiFi
Přispěvatel: Tomáš G. 31. 05. 2020, 19:55:09
Co je v logu?
V jakém logu? Na sériovou konzoli to nepíše nic.
Název: Re:ESP32, problém s WiFi
Přispěvatel: Mirek Prýmek 31. 05. 2020, 20:45:53
V jakém logu? Na sériovou konzoli to nepíše nic.
Pokud nevidis opravdu "nic", delas neco spatne.
Název: Re:ESP32, problém s WiFi
Přispěvatel: Tomáš G. 31. 05. 2020, 20:58:10
Pokud nevidis opravdu "nic", delas neco spatne.
Nic smysluplného. Jen tečky, což odpovídá kódu u daného příkladu.
Kód: [Vybrat]
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }
Název: Re:ESP32, problém s WiFi
Přispěvatel: madmucho 31. 05. 2020, 21:01:27
Dobrý den,
mám podobný problém, je něco zbahnilého v poslední verzi ESP32 podpory pro arduino ide, všechny mé stavající projekty pokud překompiluji a flešnu do esp32 mají problém fungovat jako wifi client na AP, jde to až na několikátý pokus, pak není spoleh na http clienta...všechno jsou to jednoduché věci co ve starší verzi bez problému jely.
Měl jsem podezření na desku tak jsem to přepsal do ESP-IDF a Vše tam funguje, tak doufejme že to rychle opraví v arduino frameworku.

Zkouším v platform IO, Espresif 32 verze 1.12.2 framework arduino, mám tu Vaší desku také, a ještě jednu úplně jinou, další jsem zatím netestoval chová se to stejně, bude to něco s časováním, pokud desku nataktuji na 80Mhz tak mam problém se připojit vůbec, na výchozí takt to jde lépe, ale takové chování jsem v minulých verzích vůbec řešit nemusel, opakování jsem v projektech ani neměl :).

PS: na AP je připojeno, na statickou konfiguraci ip a brana mac dns http klient na 2 až 3 pokusy data odešle pokud nechám dhcp nedostane nic, připojení vyjednáné s AP je klient se připojí ale adresu si neslízne, koukam na to v mikrotiku.

Název: Re:ESP32, problém s WiFi
Přispěvatel: Mirek Prýmek 31. 05. 2020, 21:06:01
Zkouším v platform IO, Espresif 32 verze 1.12.2 framework arduino
Zvláštní, teď jsem zrovna jedno ESPčko v Platformiu flashoval, taky ho připojuju na Mikrotik, ale problém žádný nemám. Jestli budu mít někdy brzo čas, kouknu na verzi frameworku.

Pro Tomáše G.: jestli používáš Arduino IDE, zkus taky spíš Platformio, snadno tam můžeš přepínat verzi frameworku, což by mohlo pomoct, jestli je to fakt verzí.
Název: Re:ESP32, problém s WiFi
Přispěvatel: Cikáda 31. 05. 2020, 21:13:51
A nebo zkus použít přímo idfko s cmakem.
Název: Re:ESP32, problém s WiFi
Přispěvatel: Tomáš G. 31. 05. 2020, 22:33:18
... bude to něco s časováním ...
To by teoreticky být mohlo. Bluetooth se chová podobně blbě. Zas mi do toho ale nezapadá ten MicroPython, kde mi to dělalo totéž.
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: skyjet 01. 06. 2020, 09:49:09
To arduinove SDK pre ESP32 je nenormálne zabugované.  Hlavne BLE časť je hrôza. Mne sa na wifi pripojí pri každom druhom reboote. V loop() mám kontrolu, že ak sa do 20s po štarte nepripojí na wifi, tak reboot. No a na druhý pokus sa pripojí okamžite. Tiež pozor na kvalitu napájania - tá verzia dosky čo si kúpil aspoň ako tak funguje. No je aj iná, ktorá nemá pred 3,3V regulátorom kondenzátor a tá sa pri pokuse o inicializáciu rádia (pokusom o štart wifi alebo bluetooth) okamžite reštartuje. Bez prispájkovania kondenzátora na vstup je nepoužiteľná.
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Tomas-T 01. 06. 2020, 15:00:59
Také jsem si teď na jaře v jednom projektu hrál s ESP32 (konkrétně tenhle (https://www.laskarduino.cz/iot-esp-32s-2-4ghz-dual-mode-wifi-bluetooth-rev-1--cp2102/)) a Wifi v Arduino IDE - vše chodilo bez problémů na první pokus.
Ale je tam jedno důležité omezení (viditelné i v Arduino IDE menu) - BT a Wifi je podporované/funkční až od 80MHz, na 40MHz to zřejmě nestíhá - já jedu na plný výkon 240MHz.
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Tomas-T 01. 06. 2020, 15:31:12
Ještě jedna zkušenost pro začátečníky - u ESP32 použití Wifi koliduje s použitím ADC2 pinů pro čtení senzorů - nelze používat obojí současně a funkčnost pinů se neobnoví sama ani po vypnutí Wifi.
https://github.com/espressif/arduino-esp32/issues/440
Na obnovení funkčnosti pinů po skončení Wifi spojení existuje workaround popsaný v odkaze výše.
 
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Tomáš G. 01. 06. 2020, 20:50:49
Tak jsem zkusil do VSCode přidat to PlatformIO a v něm přeložit ukázkový espidf-http-request. To už je trošku ukecanější, ale stejně z toho nic nevyčtu.

Kód: [Vybrat]
␛[0;32mI (104655) example_connect: Wi-Fi disconnected, trying to reconnect...␛[0m
␛[0;32mI (106715) example_connect: Wi-Fi disconnected, trying to reconnect...␛[0m
I (106835) wifi:new:<1,1>, old:<1,0>, ap:<255,255>, sta:<1,1>, prof:1
I (106835) wifi:state: init -> auth (b0)
I (107835) wifi:state: auth -> init (200)
I (107835) wifi:new:<1,0>, old:<1,1>, ap:<255,255>, sta:<1,1>, prof:1
␛[0;32mI (107835) example_connect: Wi-Fi disconnected, trying to reconnect...␛[0m
␛[0;32mI (109895) example_connect: Wi-Fi disconnected, trying to reconnect...␛[0m
I (110015) wifi:new:<1,1>, old:<1,0>, ap:<255,255>, sta:<1,1>, prof:1
I (110015) wifi:state: init -> auth (b0)
I (111015) wifi:state: auth -> init (200)
I (111015) wifi:new:<1,0>, old:<1,1>, ap:<255,255>, sta:<1,1>, prof:1
␛[0;32mI (111015) example_connect: Wi-Fi disconnected, trying to reconnect...␛[0m
␛[0;32mI (113075) example_connect: Wi-Fi disconnected, trying to reconnect...␛[0m
I (113195) wifi:new:<1,1>, old:<1,0>, ap:<255,255>, sta:<1,1>, prof:1
I (113195) wifi:state: init -> auth (b0)
I (114195) wifi:state: auth -> init (200)
I (114195) wifi:new:<1,0>, old:<1,1>, ap:<255,255>, sta:<1,1>, prof:1
␛[0;32mI (114205) example_connect: Wi-Fi disconnected, trying to reconnect...␛[0m
␛[0;32mI (116255) example_connect: Wi-Fi disconnected, trying to reconnect...␛[0m
I (116375) wifi:new:<1,1>, old:<1,0>, ap:<255,255>, sta:<1,1>, prof:1
I (116375) wifi:state: init -> auth (b0)
I (117375) wifi:state: auth -> init (200)
I (117375) wifi:new:<1,0>, old:<1,1>, ap:<255,255>, sta:<1,1>, prof:1
␛[0;32mI (117385) example_connect: Wi-Fi disconnected, trying to reconnect...␛[0m
␛[0;32mI (119435) example_connect: Wi-Fi disconnected, trying to reconnect...␛[0m
I (119555) wifi:new:<1,1>, old:<1,0>, ap:<255,255>, sta:<1,1>, prof:1
I (119555) wifi:state: init -> auth (b0)
I (120555) wifi:state: auth -> init (200)
I (120565) wifi:new:<1,0>, old:<1,1>, ap:<255,255>, sta:<1,1>, prof:1
␛[0;32mI (120565) example_connect: Wi-Fi disconnected, trying to reconnect...␛[0m
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Mirek Prýmek 01. 06. 2020, 22:07:55
Tak jsem zkusil do VSCode přidat to PlatformIO a v něm přeložit ukázkový espidf-http-request. To už je trošku ukecanější, ale stejně z toho nic nevyčtu.
Tohle máš napsané ve frameworku ESP-IDF, takže jsi zjistil minimálně to, že není problém v Arduino knihovně.

Taky jsi zjistil (pokud se teda nepletu), že selhala auth fáze. Viz https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/wifi.html#auth-phase
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Tomáš G. 02. 06. 2020, 06:07:15
Tohle máš napsané ve frameworku ESP-IDF, takže jsi zjistil minimálně to, že není problém v Arduino knihovně.

Taky jsi zjistil (pokud se teda nepletu), že selhala auth fáze. Viz https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/wifi.html#auth-phase
Čímž jsem se vrátil na začátek. Vypnul jsem danou WiFi na domácím Mikrotiku a udělal síť se stejným jménem a heslem jako WiFi hotspot na mobilu. Stejná chyba. Pak jsem ještě jednou vytáhl letitý TP-Link a zase jsem nastavil síť se stejným jménem a heslem. ESP32 se připojila na první dobrou.

Už s tím nemám moc chuť laborovat. Nepamatuji se, že bych měl někdy s jakýmkoliv jiným zařízením se k danému Mikrotiku nebo i tomu hotspotu na mobilu problém s připojením. ESP8266 se mi k tomu taky připojovala v pohodě.

Asi tenhle čtyřdolarový kousek uložím zpátky do šuplíku a zkusím koupit ještě něco jiného, akorát po přečtení zkušenosti některých si už nejsem jist, jestli chci zase ESP32. Co ještě stojí za zkoušku?
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Jan Fikar 02. 06. 2020, 08:09:45
a není starý router 802.11 G? ono by to esp32 mělo podporovat i N na 2,4 GHz, ale myslím jenom 20 MHz široké kanály, mohlo by to být tím?
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Mirek Prýmek 02. 06. 2020, 08:44:08
Asi tenhle čtyřdolarový kousek uložím zpátky do šuplíku a zkusím koupit ještě něco jiného, akorát po přečtení zkušenosti některých si už nejsem jist, jestli chci zase ESP32. Co ještě stojí za zkoušku?
Na ESP32 nezanevři, je to docela fajn hardware. Měl jsem tak k desítce kusů a nikdy jsem problém s wifi neměl. Připojoval jsem ho k různým modelům Mikrotiku a k Turrisu.

Spíš než se na to vykašlat, by bylo zajímavý najít příčinu. Zkusil bych tyhle věci (v tomto pořadí):
1. Kouknout do logu Mikrotiku, co tam o tom odpojování píše - je tam důvod jako třeba "disconnected, group key exchange timeout" apod.

2. zapnout si debug logování pomocí CONFIG_LOG_DEFAULT_LEVEL

3. zkusit ESPčko napájet jinak, než to děláš teď - dát pořádný, důvěryhodný zdroj na microusb a pokud to nepomůže, tak přímo na VIN

4. zkusit v platformiu jinou verzi idf - uděláš to pomocí

Kód: [Vybrat]
platform = espressif32@VERZE

5. zkusit jinou desku (není vyloučený, že tam prostě výrobce něco podělal)

----
P.S. stejný chování popisuje tenhle bugreport v "Logs when it goes into connect/disconnect loop": https://github.com/espressif/esp-idf/issues/3474 Patch tazateli pomohl a jestli dobře koukám, měl by být do větve 4.2 mergnutý: https://github.com/espressif/esp-idf/commit/22a991bb29745bbef28d091c9a8b7edccf063ed3
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Mirek Prýmek 02. 06. 2020, 08:49:03
P.S. stejný chování popisuje tenhle bugreport v "Logs when it goes into connect/disconnect loop": https://github.com/espressif/esp-idf/issues/3474 Patch tazateli pomohl a jestli dobře koukám, měl by být do větve 4.2 mergnutý: https://github.com/espressif/esp-idf/commit/22a991bb29745bbef28d091c9a8b7edccf063ed3
Aha, tak platformio má pořád verzi 3.4: https://github.com/platformio/platform-espressif32/blob/develop/platform.json#L68

Takže nejlepší by asi fakt bylo zkusit použít vanilla ESP-IDF, jak radil kolega výš.
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Dushino42 02. 06. 2020, 09:19:27
Dle https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/wifi.html (https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/wifi.html) SDK umí
Myslím, že problém by mohl být v nastavení režimu WiFi (vyzkoušel bych 802.11B) a v šifrování (začal bych WPA)
Dále pozor na to, že současné používání Bluetooth a WiFi dělá neplechu - používá to ten samý hardware a nějak se bije. Tedy pro testy WiFi vypnout Bluetooth.
Samotné WiFi mi bez problémů chodí na nejlevnějších kusech z e-Bay, ale současné používání Bluetooth (sériová linka) a WiFi (FTP server v ESP-32) jsem vzdal.
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Tomáš G. 02. 06. 2020, 16:37:28
Spíš než se na to vykašlat, by bylo zajímavý najít příčinu.

Já si myslím, že tenhle konkrétní kus je prostě vadný. Tady nejde jen o ten klientský režim, ale stejně divně se chová i v tom režimu AP. Vypozoroval jsem že jeden cca 5 let starý mobil tu síť dokáže občas najít. Přihlášeni ale ani náznakem. Když se do ni pokusím přihlásit, okamžitě zmizí ze seznamu dostupných sítí. Další mobil, tablet, Mikrotik, nějaké staré ThinkPady, MacBook, ... to nevidí nikdy.

Na doporučení jsem zkusil zapnout logování WiFi na Mikrotiku. Nic, jako by se to vůbec k WiFině nesnažilo připojit. Co se napájení týče, normálně to mám píchnuté na USB hub v monitoru, ale zkusil jsem i 2A nabíječku od mobilu.
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Mirek Prýmek 02. 06. 2020, 20:33:24
Já si myslím, že tenhle konkrétní kus je prostě vadný.
Hm, podle toho, co píšeš, to tak docela vypadá...
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Tomáš G. 03. 06. 2020, 19:09:33
Na ESP32 nezanevři, je to docela fajn hardware. Měl jsem tak k desítce kusů a nikdy jsem problém s wifi neměl. Připojoval jsem ho k různým modelům Mikrotiku a k Turrisu.

Nemáte tip na nějakého ověřeného Číňana z AliExpressu, či něčeho podobného, s nějakou takovou deskou? Zkusím objednat ještě jeden a ten zatím nechám běžet připojený na ten jediný router, kde to nějak jede. Než to dojde, tak to bude stačit.
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Mirek Prýmek 03. 06. 2020, 19:46:48
Nemáte tip na nějakého ověřeného Číňana z AliExpressu, či něčeho podobného, s nějakou takovou deskou? Zkusím objednat ještě jeden a ten zatím nechám běžet připojený na ten jediný router, kde to nějak jede. Než to dojde, tak to bude stačit.
Hackeři by si neměli vykat, ne? ;)

S Číňanama je to problém, protože oni jsou schopní nazvat cokoli jakkoli a z obrázku to nepoznáš, jestli to je přesně to, co kupoval někdo někdy jindy... Kažopádně ale jestli jsi narazil na vadný kus, tak jsi měl fakt smůlu, já jsem ESPčka kupoval několikrát a nikdy jsem tenhle problém neměl.

Koukl jsem do Ali, poslední várku jsem kupoval tyhle https://www.aliexpress.com/item/4000037062272.html a problém neměly (což není záruka ničeho, můžeš klidně dostat kusy z jiné šarže...).

Jinak jestli se ti nechce čekat, klidně ti jeden kus na vyzkoušení pošlu poštou a po vyzkoušení nebo až ti přijdou ty tvoje, mi je můžeš poslat zpátky, není problém, hackerskou komunitu podpořím rád.
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Tomáš G. 04. 06. 2020, 17:57:18
Hackeři by si neměli vykat, ne? ;)
Sice nevím, jestli bych si dovolil se takhle označit, ale hlavně jsem to bral v množném čísle. ;) Když si vzpomenu na nějakou starší přednášku Petra Stehlíka o ESP8266, tak tam okolo možnosti pořízení taky lítaly samé $ a čínské servery, takže jsem těch tipů čekal trošku víc.

Už jsem objednal tu samou desku jako na Tvém linku, ale jinde. Tenhle zbytečně šroubuje poštovné.

Jinak dík, ale myslím že by bylo zbytečné to posílat tam a zpátky. Kdybych to potřeboval tak urgentně, tak zkusím ten link, co už tu padl s cenovkou okolo 300Kč a k tomu kilo poštovné.
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Mirek Prýmek 04. 06. 2020, 20:12:08
Když si vzpomenu na nějakou starší přednášku Petra Stehlíka o ESP8266, tak tam okolo možnosti pořízení taky lítaly samé $ a čínské servery, takže jsem těch tipů čekal trošku víc.
Podle mě je to fakt jedno, od koho z Číny to kupuješ, sázka do loterie je to tak jako tak :)

Už jsem objednal tu samou desku jako na Tvém linku, ale jinde. Tenhle zbytečně šroubuje poštovné.
Tak to možná nebude vůbec ta samá deska :)

Jinak dík, ale myslím že by bylo zbytečné to posílat tam a zpátky. Kdybych to potřeboval tak urgentně, tak zkusím ten link, co už tu padl s cenovkou okolo 300Kč a k tomu kilo poštovné.
Ok. Akorát teda zásilky z Číny jdou teď pekelně pomalu. Věci, co jsem objednával na začátku koronakrize, mi přišly někdy teď po dvou měsících nebo možná i víc.
Název: Re:ESP32 nefunguje režim AP na Wi-Fi
Přispěvatel: Tomáš G. 26. 09. 2020, 17:15:25
Ok. Akorát teda zásilky z Číny jdou teď pekelně pomalu. Věci, co jsem objednával na začátku koronakrize, mi přišly někdy teď po dvou měsících nebo možná i víc.
Ano, potvrzuji. Jeden objednaný kus je na cestě bez týdne čtyři měsíce. Už ani moc nečekám, že ještě dorazí, protože 20.6. má status "Arrive at destination country" a pak se tracking ztrácí. Objednal jsem další, ten dorazil docela rychle a funguje bez problému. Tam to je patrně nějaký vadný kus, takže vyřešeno.