ESP8266 – Nefunguje spojení
Úvodní stránka › Fórum › Hardware › Arduino › ESP8266 – Nefunguje spojení
- Toto téma obsahuje celkem 18 odpovědí. Do diskuze (6 diskutujících) se naposledy zapojil uživatel Luke_CZ a poslední změna proběhla před 7 roky a 8 měsíci.
-
AutorPříspěvky
-
18.2.2017 v 11:19 #10519MrApikÚčastník
Ahoj,
s Arduinem začínám a nevím si rady s těmito errory, které to hází při pokusu aktualizovat firmware na ESP8266:warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failedMám Arduino Mega ADK a k ESP8266 je připojen takto:
ESP8266 –> Arduino Mega ADK
TX –> RX1
RX –> TX1
3V3 –> 3.3V (V Arduinu)
EN –> 3.3V (V Arduinu)
GND –> GND
GPIO0 –> GNDPiny GPIO2 a RST jsem nijak neobsadil. Pokus vypnu mód pro update firmwaru (odpojím GPIO0 od Arduina), základní default firmware funguje (zobrazí se mi možnost připojení k wifi v mobilu), ale když chci updatovt firmware, nejde to).
Na netu jsem se koukal snad na 30 odkazů, ale každý člověk to radí úplně jinak a nic z toho mi nefunguje. Byl by někdo ochotný mi porait?18.2.2017 v 21:39 #10530AlešÚčastníkChcete nahrát firmware do ESP8266 přes MEGA? To nejde. Musíte použít převodník USB-TTL.
19.2.2017 v 8:29 #10532Zbyšek VodaSprávceDobrý den, teoreticky by to možné bylo. To, čeho chcete dosáhnout, je použití sériového převodníku Ardina pro naprogramování ESP. Určitě tedy musíte mít připojené ESP na piny RX0 a TX0 (ty jsou pro sériovou linku z PC).
Pak je tam ale další problém. Arduino vám bude do programování „kecat“, protože se i ono bude snažit komunikovat přes sériovou linku. Toto se řešilo tuším rezistorem mezi RST a GND u Arduina, ale bohužel se mi teď nedaří najít podrobnosti. Rezistor by měl dočasně vyřadit Atmegu na Arduinu z provozu, aby se nemíchalo do sériovky.
Asi bych vám doporučil pořídit si převodník USB-Serial. Ušetří vám to spoustu starostí 🙂
19.2.2017 v 11:06 #10533MrApikÚčastníkDíky vám za ochotu, můj cíl je ten, abych si mohl údaje z DHT senzoru prohlédnout přes prohlížeč. Podle vašich příspěvků ale nevím, jestli to je vůbec možné.
19.2.2017 v 11:41 #10534AlešÚčastníkTo: Zbyšek Voda
Připojit na TX0 a RX0 jde jedině v případě, že se dá vytáhnout procesor z patice. Jinak to nepůjde. Když ho budete držet v resetu, tak piny procesoru, které jsou připojené na RX a TX budou signály někam stahovat (0 nebo 1). Zkoušel jsem i do MEGA nahrát program, který převádí RX/TX0 na RX/TX1. Potom to sice jako převodník funguje, z terminálu se dají zadávat AT příkazy a ESP na ně odpovídá, ale flashnout FW přes to nejde. Zřejmě vadí zpoždění, které vzniká při převodu z jednoho TX/RX na druhý.19.2.2017 v 11:45 #10535AlešÚčastníkProhlížet údaje z DHT senzoru přes prohlížeč jde. Nejjednodušší asi bude použít server třetích stran, např. Thingspeak. Potom to vypadá např. takto:
https://thingspeak.com/apps/plugins/2469319.2.2017 v 12:09 #10536dariraÚčastníkZdravím, cca 2 dny jsem zkoušel přehrát na ESP firmware 9.5.2 AT (díky Aleši za návod na xanadu). Napájení jsem měl z externího zdroje, stejný převodník PL2303HX i piny měli definované připojení na Vcc nebo GND podle návodu. Při nahrání firmware jsem se ale vždy zasekl (někdy na 9% nebo 54%, pokaždé jinak). Zkoušel jsem i kondenzátor mezi Vcc a GND podle nějakého jiného návodu. Mezi PC a převodníkem jsem používal cca 1m prodlužovací USB kabel. Po jeho odstranění proběhlo přehrání firmware v pořádku.Vůbec mě nenapadlo, že by to mohlo mít takový vliv na stabilitu přenosu. Třeba to někomu pomůže. Zatím mě ještě neodpovídá terminál BR@Y. Po zadání příkazu se v obou oknech zobrazí zadaný příkaz, žádný výpis OK nebo verze firmwaru. Asi mám něco špatně nastaveno.
Edit: Ten USB kabel používám pro nahrávání do Arduina, vadný není
19.2.2017 v 12:48 #10538MrApikÚčastníkAleši, no já to celkem dost zjednodušil, na tom senzoru jsem se hlavně chtěl naučit, jak z arduina púdělat takový malý „server“, přes který by mohli jít dělat různé věci (jakože zhasínat nějakou led v druhém patře, nebo kouknout, jestli bych už to topení v obýváku neměl vypnout).
Takže spíš bych ten můj dotaz upravil na:
Jde z arduina pomocí ESP8266 modulu udělat „server“ ? Nebo je jednodušší programovat přímo ESP8266?Díky.
19.2.2017 v 15:04 #10539AlešÚčastníkWEBserver na Arduinu MEGA udělat půjde. Na internetu se toho najde spousta.
V BR@Y terminálu je potřeba dole zaškrtnout CR=CR+LF19.2.2017 v 16:53 #10541Zbyšek VodaSprávcePokud vám jde jen o to, abyste přes ESP připojil Arduino k WiFi, tak je ESP z výroby vybaveno firmware, který přijímá přes sériovou linku AT příkazy, přes které jej lze ovládat. Viz http://www.pridopia.co.uk/pi-doc/ESP8266ATCommandsSet.pdf.
Pak není nutné nijak měnit firmware ESP. Na druhou stranu jsou AT příkazy trochu neohrabané. Existují knihovny, které pracují nad AT příkazy, takže vám ulehčí práci při ovládání ESP – viz například https://github.com/itead/ITEADLIB_Arduino_WeeESP8266.
19.2.2017 v 17:51 #10543MrApikÚčastníkBohužel na AT příkazy ESP nereaguje (myslím připojené přes arduino), jelikož když si otevřu sériový monitor a napíši do něj AT příkaz, nemá to žádnou odezvu. Podle mě je to zapříčiněno stejnou „věcí“ jako jsou ty errory, co mi to hodilo při pokusu updatovat firmware.
19.2.2017 v 18:31 #10544Zbyšek VodaSprávceKdyž si necháte to zapojení, které zmiňujete v prvním postu:
ESP8266 –> Arduino Mega ADK
TX –> RX1
RX –> TX1
3V3 –> 3.3V (V Arduinu)
EN –> 3.3V (V Arduinu)
GND –> GND
GPIO0 –> GND,tak si pak do loop() dejte
while(Serial.available()) Serial1.write(Serial.read());
while(Serial1.available() Serial.write(Serial1.read());Toto by mělo přeposílat mezi sériovými porty sdílenými s PC a porty RX1 a TX1. Toto mám ozkoušené (dokonce i na ADK) a dá se tak ESP ovládat.
Ty errory, co vám to píše, jsou způsobené tím, že se nahrávací software nedokáže „zkontaktovat“ s EPS8266. Asi za to může to, co psal Aleš.
19.2.2017 v 18:38 #10545MrApikÚčastníkDěkuji, určitě hned to jdu vyzkoušet. Jinak chápu-li to dobře, do programu arduina pak lze tedy AT zpracovat a naopak do ESP posílat?
19.2.2017 v 18:41 #10546Zbyšek VodaSprávceAno, potom stačí z Arduino programu posílat do ESP tyto AT příkazy přes Serial.println(„“); 🙂
19.2.2017 v 19:19 #10551MrApikÚčastníkBohužel, toto zapojení mi nefunguje. Zkoušel jsem i jiný sketche a odpojení GPIO0 od groundu, ale stále nic.
-
AutorPříspěvky
- Pro reakci na toto téma se musíte přihlásit.