Hi ,
I have installed my ESP8266 With my Arduino nano , I fixed my Serial Debuggin (Tx1,RX0) ( default )
and for my ESP is pin (10,11) , my baudrate ESP ( 9600 ) and for Serial Dbg ( 9600 ) .
i have all installed for tcp communication ( Wif acces ....).
my Esp is client of my server ( phone with TCP terminal application ) i can send all trame without error (
ESP to phone ) but from Phone to ESP i have a problem some time i recived the trame some time no
Can you help me what kind of problem it can be .
I doubt that a phone with a terminal application acts as a server. But OK.
[code]Can you please post your code using code tags like this line[/code] so the result looks like
Can you please post your code using code tags like this line
I think there is a little language problem; please explain what a 'trame' is? Do you mean frame? If so, what is the data?
#include <SoftwareSerial.h>
const int Led_V = 13;
const int Led_R = 12;
const int Led_V_Tcp = 9;
const int Led_R_Tcp = 8;
const int Led_T = 6;
const int D_M1 = 7;
int Def_M1=0;
String C;
//int clin=0;
#define SSID "HUAWEI_ALE-L21_D2E0"
#define PASS "12345678"
#define DST_IP "192.168.43.1" //baidu.com
SoftwareSerial ESP_Serial(10, 11); // RX, TX
void setup()
{terminator : 'A';
pinMode(Led_T, OUTPUT);
pinMode(D_M1, INPUT);
pinMode(Led_V, OUTPUT);
pinMode(Led_R, OUTPUT);
pinMode(Led_V_Tcp, OUTPUT);
pinMode(Led_R_Tcp, OUTPUT);
// Open serial communications and wait for port to open:
ESP_Serial.begin(9600);
// ESP_Serial.setTimeout(1000);
Serial.begin(9600); //can't be faster than 19200 for softserial
Serial.println("ESP8266 Demo");
//test if the module is ready
ESP_Serial.println("AT+RST");
delay(1000);/*
if(ESP_Serial.find("Reday"))
{
Serial.println("Module is ready");
}
else
{
Serial.println("Module have no response.");
while(1);
}*/
delay(1000);
//set the single connection mode
ESP_Serial.println("AT+CIPMUX=0");
}
void loop()
{Def_M1 = digitalRead(D_M1);
while(ESP_Serial.available())
{
C = ESP_Serial.readStringUntil('A');
if(ESP_Serial.find("IPD"))
{
delay(200);
Serial.println(C);
ESP_Serial.println("Reçu");
if (C[3]=='1')
digitalWrite(Led_T, HIGH);
else if (C[3]=='0')
digitalWrite(Led_T,LOW);
}}
// recoitDuESP8266(200);
connectWiFi1();
delay(200);
String cmd = " ";
/* String cmd = "AT+CIPSTART=\"TCP\",\"";
cmd += DST_IP;
cmd += "\",8080";
ESP_Serial.println(cmd);
Serial.println(cmd);
if(ESP_Serial.find("Error")) return;*/
if (Def_M1 == HIGH)
cmd = "1"; else cmd ="0";
ESP_Serial.print("AT+CIPSEND=");
ESP_Serial.println(cmd.length());
if(ESP_Serial.find(">"))
{
// Serial.print(">");
digitalWrite(Led_V_Tcp, HIGH);
digitalWrite(Led_R_Tcp, LOW);
}else
{
ESP_Serial.println("AT+CIPCLOSE");
digitalWrite(Led_V_Tcp, LOW);
digitalWrite(Led_R_Tcp, HIGH);
// Serial.println("connect timeout");
delay(500);
cmd = "AT+CIPSTART=\"TCP\",\"";
cmd += DST_IP;
cmd += "\",8080";
ESP_Serial.println(cmd);
//Serial.println(cmd);
return;
}
ESP_Serial.print(cmd);
delay(500);
/* C = ESP_Serial.readStringUntil('A');
Serial.println(C);
//Serial.find("+IPD");
while (ESP_Serial.available())
{
char c = ESP_Serial.read();
Serial.write(c);
if(c=='\r') Serial.print('\n');
}
Serial.println("====");
delay(500);
*/}
boolean connectWiFi()
{
ESP_Serial.println("AT+CWMODE=1");
String cmd="AT+CWJAP=\"";
cmd+=SSID;
cmd+="\",\"";
cmd+=PASS;
cmd+="\"";
Serial.println(cmd);
ESP_Serial.println(cmd);
delay(2000);
if(ESP_Serial.find("CONNECTED"))
{digitalWrite(Led_V, HIGH);
digitalWrite(Led_R, LOW);
Serial.println("OK, Connected to WiFi.");
return true;
}else
{
Serial.println("Can not connect to the WiFi.");
digitalWrite(Led_R, HIGH);
digitalWrite(Led_V, LOW);
return false;
}
}
boolean connectWiFi1()
{
ESP_Serial.println("AT+CWJAP?");
if(ESP_Serial.find("No"))
{digitalWrite(Led_V, LOW);
digitalWrite(Led_R, HIGH);
//Serial.println("Can not connect to the WiFi.");
return true;
}else
{
// Serial.println("Connect the WiFi. OK");
digitalWrite(Led_R, LOW);
digitalWrite(Led_V, HIGH);
return false;
}
}
void recoitDuESP8266(const int timeout)
{
String reponse = "";
long int time = millis();
while( (time+timeout) > millis())
{
while(ESP_Serial.available())
{
char c = ESP_Serial.read();
reponse+=c;
}
}
Serial.println(reponse);
}