Post topics, source code that relate to the Arduino Platform

User avatar
By tao13
#2045 Hi all
I use arduino nano with esp module but not working. after AT+RST i don't received any message on serial port
Please give me your advices.Many many thanks.
I connected them like this (left nano , right esp)
3.3 v - vcc
gnd - gnd
tx - rx
rx - tx
3.3v - ch_pd (tried with and without this connection)


i use next sketch
#include <SoftwareSerial.h>
#define SSID "xxxxxxxx"
#define PASS "xxxxxxxx"
#define DST_IP "220.181.111.85" //baidu.com
SoftwareSerial dbgSerial(0, 1); // RX, TX // here i tried with 10,11 and 2,3
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(57600);
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;
}
}
User avatar
By cendev
#2241 Maybe adding a cap between VCC and GND on the ESPside solve the reset problem ? I had these kind of issues on my quickly made boards and mostly that solved the issue :) ofc, its better to wait for an approvement from other users, just to be sure :D
User avatar
By pupazzognappo
#4182 Hi guys,
I'm working on to get the same goal of tao13 ( sending commands to arduino with 192.186.1.xx/something=value strings)
But as any newbye, i cannot make it work.
If someone reached the goal, would he be so gentle to share his code so i can study and learn how to use this module in the way i supposed to do ?
i'd be very gratefull
i'm really confused right now