Close

ESP8266 – Nefunguje spojení

Úvodní stránka Fórum Hardware Arduino ESP8266 – Nefunguje spojení

Označeno štítky: , , , , ,

  • 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 2 měsíci.
Aktuálně je na stránce zobrazeno 15 příspěvků - 1. až 15. (celkem z 19)
  • Autor
    Příspěvky
  • #10519
    MrApik
    Úč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 failed

    Má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 –> GND

    Piny 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?

    #10530
    Aleš
    Účastník

    Chcete nahrát firmware do ESP8266 přes MEGA? To nejde. Musíte použít převodník USB-TTL.

    #10532
    Zbyšek Voda
    Správce

    Dobrý 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í 🙂

    #10533
    MrApik
    Účastník

    Dí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é.

    #10534
    Aleš
    Účastník

    To: 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ý.

    #10535
    Aleš
    Účastník

    Prohlíž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/24693

    #10536
    darira
    Účastník

    Zdraví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í

    #10538
    MrApik
    Účastník

    Aleš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.

    #10539
    Aleš
    Účastník

    WEBserver 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+LF

    #10541
    Zbyšek Voda
    Správce

    Pokud 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.

    #10543
    MrApik
    Účastník

    Bohuž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.

    #10544
    Zbyšek Voda
    Správce

    Když 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š.

    #10545
    MrApik
    Účastník

    Dě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?

    #10546
    Zbyšek Voda
    Správce

    Ano, potom stačí z Arduino programu posílat do ESP tyto AT příkazy přes Serial.println(„“); 🙂

    #10551
    MrApik
    Účastník

    Bohužel, toto zapojení mi nefunguje. Zkoušel jsem i jiný sketche a odpojení GPIO0 od groundu, ale stále nic.

Aktuálně je na stránce zobrazeno 15 příspěvků - 1. až 15. (celkem z 19)
  • Pro reakci na toto téma se musíte přihlásit.