ESP8266 na Arduinu

JuraS.
Příspěvky: 318
Registrován: 28 led 2015, 16:06

ESP8266 na Arduinu

Příspěvek od JuraS. »

Máte někdo tento levný WIFI modul pro arduino ? Dnes mi přišel, vyzkoušel jsem všechny dostupné kody co jsou na netu, i knihovnu pro něj a jediné co mi odpovídá je "AT+RST" a dál nic. Na příkaz AT mlčí.
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1519
Registrován: 16 úno 2013, 14:26

Re: ESP8266 na Arduinu

Příspěvek od Dex »

Tohle není modul vysloveně pro Arduino i když i s ním se dá používat (zatím jsem to nezkoušel).

Něco málo o něm jsem sepsal tady http://robodoupe.cz/2014/esp8266-intern ... -prichazi/ Občas ho používám "místo" Arduina ;)
"all your robots are belong to us"
robodoupe.cz
JuraS.
Příspěvky: 318
Registrován: 28 led 2015, 16:06

Re: ESP8266 na Arduinu

Příspěvek od JuraS. »

Díky. V návodu mi chybí nákres zapojení modulu a toho čím se dá udělat upgrade firmware. Našel jsem nejnovější firmware tady http://bbs.espressif.com/viewtopic.php?f=5&t=346
Mám k dispozici USBasp v.2.0 a programátor jehož název si už nepamatuji (nemá to na sobě napsaný jak je to prťavý) ale má to výstupy :GND,CTS,VCC,TXD,RXD,DTR. Stýhl jsem taky XTCOM utilitu. Poradíš jak upgradovat ?
oprava: to není zkompilovaný firmware...hledám kde vzít hex soubor...
https://github.com/nodemcu/nodemcu-flasher
http://www.instructables.com/id/Blink-f ... mware-SDK/
Naposledy upravil(a) JuraS. dne 14 dub 2015, 18:52, celkem upraveno 1 x.
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1519
Registrován: 16 úno 2013, 14:26

Re: ESP8266 na Arduinu

Příspěvek od Dex »

Popis pinů i nástroj na aktualizaci firmware je tady http://www.electrodragon.com/w/Wi07c a v článku ten odkaz taky je. Ale jak tam píšu, není to návod pro začátečníky ;)
"all your robots are belong to us"
robodoupe.cz
JuraS.
Příspěvky: 318
Registrován: 28 led 2015, 16:06

Re: ESP8266 na Arduinu

Příspěvek od JuraS. »

To vidím, ale mám na to vzít dremla mini frézku, nebo bosh vrtačku a nebo vrtací kladivo ? nebo 7kg kladivo ? Mám FTDI USB tiny. Dá se přepnout mezi 5V a 3,3V, piny jsem popisoval. Ten soft z odkazu je složitý jak prase v tom, že musí zadat přerušení ke každému *.bin. Na to odkazu co dáváš není odkaz na konkrétní soubor ale odkaz který vede na další odkaz. V tom firmware je nějakých 7 binů. Který je ten správný ?
Celý problém je v tom, že když zapojím (ESP_01) podle návodu kdy RX je na Tx a Tx na RX tak se tenhle kod

Kód: Vybrat vše

#include <SoftwareSerial.h>
#define SSID "xxxxxxxxxx" //ssid a heslo jsem smazal...
#define PASS "xxxxxxxxx"
#define DST_IP "220.181.111.85" //baidu.com
SoftwareSerial dbgSerial(10, 11); // RX, TX
void setup()
{

  // Open serial communications and wait for port to open:
  Serial.begin(19200);
  Serial.setTimeout(5000);
  dbgSerial.begin(9600);  //can't be faster than 19200 for softserial
  dbgSerial.println("ESP8266 Demo");
  //test if the module is ready
  Serial.println("AT+RST");
  delay(1000);
  if (Serial.find("ready"))
  {
    dbgSerial.println("Module is ready");
  }
  else
  {
    dbgSerial.println("Module have no response.");
    while (1);
  }
  delay(1000);
  //connect to the wifi
  boolean connected = false;
  for (int i = 0; i < 5; i++)
  {
    if (connectWiFi())
    {
      connected = true;
      break;
    }
  }
  if (!connected) {
    while (1);
  }
  delay(5000);
  //print the ip addr
  /*Serial.println("AT+CIFSR");
  dbgSerial.println("ip address:");
  while (Serial.available())
    dbgSerial.write(Serial.read());*/
  //set the single connection mode
  Serial.println("AT+CIPMUX=0");
}
void loop()
{
  String cmd = "AT+CIPSTART=\"TCP\",\"";
  cmd += DST_IP;
  cmd += "\",80";
  Serial.println(cmd);
  dbgSerial.println(cmd);
  if (Serial.find("Error")) return;
  cmd = "GET / HTTP/1.0\r\n\r\n";
  Serial.print("AT+CIPSEND=");
  Serial.println(cmd.length());
  if (Serial.find(">"))
  {
    dbgSerial.print(">");
  } else
  {
    Serial.println("AT+CIPCLOSE");
    dbgSerial.println("connect timeout");
    delay(1000);
    return;
  }
  Serial.print(cmd);
  delay(2000);
  //Serial.find("+IPD");
  while (Serial.available())
  {
    char c = Serial.read();
    dbgSerial.write(c);
    if (c == '\r') dbgSerial.print('\n');
  }
  dbgSerial.println("====");
  delay(1000);
}
boolean connectWiFi()
{
  Serial.println("AT+CWMODE=1");
  String cmd = "AT+CWJAP=\"";
  cmd += SSID;
  cmd += "\",\"";
  cmd += PASS;
  cmd += "\"";
  dbgSerial.println(cmd);
  Serial.println(cmd);
  delay(2000);
  if (Serial.find("OK"))
  {
    dbgSerial.println("OK, Connected to WiFi.");
    return true;
  } else
  {
    dbgSerial.println("Can not connect to the WiFi.");
    return false;
  }
}
při posílání do Arduina UNO zadře na cca 90% a pak napíše tuhle chybovku

Kód: Vybrat vše

Arduino: 1.6.3 (Windows 7), Vývojová deska: "Arduino Uno"

Projekt zabírá 7 246 bytů (22%)  úložného místa pro program. Maximum je 32 256 bytů.

Globální proměnné zabírají 593 bytů (28%)  dynamické paměti, 1 455 bytů zůstává pro lokální proměnné. Maximum je 2 048 bytů.

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x04

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x04

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x04

Problém s přenosem dat na vývojovou desku (board). Na http://www.arduino.cc/en/Guide/Troubleshooting#upload naleznete další doporučení.

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x04

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x04

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x04

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x04

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x04

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x04

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x04

  Tento výpis by měl více informací s
  "Zobrazit více informací během kompilace"
  povoleno v Soubor > Vlastnosti
když odpojím Tx a Rx tak se kod do arduina nahraje normálně. Mám zapojeno GND na GND, VCC + CH-PD na 3,3V a R na Tx, TX na RX. podle snad 100 návodů na netu.


už flashuju...jen nevím jak dlouho mám čekat. FTDI bliká, nomodfemu flasher vypisuje jakýsi hlášky ale nenapíše zda je problém nebo čeká na něco...nastavil jsem biny podle souboru co u toho byl, nastavení programu jsem nechal tak jak byl program nastavený....jel jsem podle tohoto návodu http://www.instructables.com/id/Blink-f ... /?ALLSTEPS
jo a prej se do toho dá dohrát i upravený firmware s servem web...? to bych potřeboval, server mi doma odešel a tak bych bral kam zobrazovat data...
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1519
Registrován: 16 úno 2013, 14:26

Re: ESP8266 na Arduinu

Příspěvek od Dex »

Psal jsem jasně, že pokud jde o spojení s Arduinem, tak nemohu sloužit.

Při aktualizaci firmware stačí ESP modul připojit přímo k PC třeba přes MAX3232. Dokud nebudou fungovat další AT příkazy z terminálu, nemá cenu pokračovat. Odkazy na různé nástroje pro aktualizaci tam jsou, odkaz na Google Drive, kde jsou různé "biny", taky, pak taky obrázky jak na to atd. Obávám se, že bude nutné si to trochu nastudovat a pochopitelně se podívat i jinam! Návod "step by step" nemám, ale možná ho už někdo napsal.
"all your robots are belong to us"
robodoupe.cz
JuraS.
Příspěvky: 318
Registrován: 28 led 2015, 16:06

Re: ESP8266 na Arduinu

Příspěvek od JuraS. »

Zkoušel jsem to 3x a pak najednou fííííííí a upgrade je ok.....
nicméně: s připojeným ESP8266 k Arduino UNU a pokusem nahrát prázdný kód

Kód: Vybrat vše

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

se po chvíli objeví tahle chyba

Kód: Vybrat vše

Arduino: 1.6.3 (Windows 7), Vývojová deska: "Arduino Uno"

Projekt zabírá 450 bytů (1%)  úložného místa pro program. Maximum je 32 256 bytů.


Globální proměnné zabírají 9 bytů (0%)  dynamické paměti, 2 039 bytů zůstává pro lokální proměnné. Maximum je 2 048 bytů.

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x42

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x42

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x42

Problém s přenosem dat na vývojovou desku (board). Na http://www.arduino.cc/en/Guide/Troubleshooting#upload naleznete další doporučení.

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x42

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x42

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x42

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x42

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x42

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x42

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x42

  Tento výpis by měl více informací s
  "Zobrazit více informací během kompilace"
  povoleno v Soubor > Vlastnosti
ať dělám co dělám tak jediné co mi esp8266 na arduinu odpoví je tohle
Přílohy
ESP8266.jpg
JuraS.
Příspěvky: 318
Registrován: 28 led 2015, 16:06

Re: ESP8266 na Arduinu

Příspěvek od JuraS. »

jinak nejnovější firmware v jednou balíku jsem našel tady https://drive.google.com/folderview?id= ... sp=sharing nicméně já tam nacpal verzi 0.98
hubacekp
Příspěvky: 259
Registrován: 24 úno 2013, 13:40

Re: ESP8266 na Arduinu

Příspěvek od hubacekp »

jestli to chápu dobře, tak máš ESP8266 připojení na RXTX a chceš na arduino nahrát program?
To nejde. S RXTX neobsloužíš víc než jedno zažízení. Každý musí před uploadek programu odpojit jiné připojené zařízení.
Ten výpis chyb tomu odpovídá.
Pomohlo?
JuraS.
Příspěvky: 318
Registrován: 28 led 2015, 16:06

Re: ESP8266 na Arduinu

Příspěvek od JuraS. »

Díky, zjistím to doma o víkendu.
Odpovědět