hola buen dia,
estoy haciendo pruebas con el modulo esp8266 y no logro obtener los resultados que necesito, que por el momento es lo siguiente:
-escribir en el navegador: http://ip/temperatura1, y recibir los datos correspondientes temperatura1,
por ahora solo estoy colocando un 38 que es la temperatura ambiente actual.
bueno, cuando escribo por primera vez http://ip/temperatura1 en el navegador, todo funciona muy bien, el problema viene cuando lo intento de nuevo, y el resultado que obtengo es una notificacion diciendo que la conexion ha sido rechazada...
se reinicio el modulo, puedo de nuevo ver los datos...
el codigo es el siguiente: (tomando como base ejemplos de la web de jopapa)
adjunto capturas de pantalla de los resultados que obtengo tanto en la consola serie, como en el navegador
¿que podria ser?
estoy cerrando la conexion con la linea
serial3.println("at+cipclose=0");//cerrar sesion tcp
¿esta aqui el problema?
saludos
estoy haciendo pruebas con el modulo esp8266 y no logro obtener los resultados que necesito, que por el momento es lo siguiente:
-escribir en el navegador: http://ip/temperatura1, y recibir los datos correspondientes temperatura1,
por ahora solo estoy colocando un 38 que es la temperatura ambiente actual.
bueno, cuando escribo por primera vez http://ip/temperatura1 en el navegador, todo funciona muy bien, el problema viene cuando lo intento de nuevo, y el resultado que obtengo es una notificacion diciendo que la conexion ha sido rechazada...
se reinicio el modulo, puedo de nuevo ver los datos...
el codigo es el siguiente: (tomando como base ejemplos de la web de jopapa)
code: [select]
#define debug true
#define ssid "test"
#define pass "test"
void setup()
{
serial.begin(115200);
serial3.begin(115200);
senddata("at+rst\r\n",3000,debug);
senddata("at+cwmode=1\r\n",3000,debug);
boolean connected=false;
for(int i=0;i<5;i++){
if(connectwifi()){
connected = true;
break;
}
}
senddata("at+cifsr\r\n",3000,debug); // verificar direccion ip
senddata("at+cipmux=1\r\n",3000,debug); // habilitar conecxiones multiples
senddata("at+cipserver=1,80\r\n",3000,debug); // iniciar el servidor en el puerto 80
delay(500);
serial3.println("at+cifsr");
}
void loop()
{
if (serial3.available())
{
//prueba de concepto aun no se tiene la variable temperatura
if(serial3.find("temperatura1")){
serial.println("se solicito temperatura ambiente");
serial.println("temperatura ambiente: 38");
http("<!doctype html>");
http("<html>");
http("<body>");
http("38");
http("</body>");
http("</html>");
delay(200);
serial3.println("at+cipclose=0");//cerrar sesion tcp
}
}
}
string senddata(string command, const int timeout, boolean debug)
{
string response = "";
serial3.print(command); //enviar la cadena leida al modulo
long int time = millis();
while( (time+timeout) > millis())
{
while(serial3.available())
{
char c = serial3.read(); //leer el siguiete caracter
response+=c;
}
}
if(debug)
{
serial.print(response);
}
return response;
}
boolean connectwifi(){
//serial3.println("at+cwmode=1");
string cmd="at+cwjap=\"";
cmd+=ssid;
cmd+="\",\"";
cmd+=pass;
cmd+="\"";
serial.println(cmd);
serial3.println(cmd);
delay(2000);
if(serial3.find("ok")){
serial.println("conectado wifi");
return true;
}
else{
serial.println("no puede conectar wifi");
return false;
}
}
void http(string output)
{
serial3.print("at+cipsend=0,"); // at+cipsend=0, num, iniciar sesion tcp
serial3.println(output.length());
if (serial3.find(">")) // si recibimos la peticion del mensaje
{
serial.println(output);
serial3.println(output); //aqui va el string hacia el wifi
delay(10);
while ( serial3.available() > 0 )
{
if ( serial3.find("send ok") ) // busca el ok en la respuesta del wifi
break;
}
}
}
adjunto capturas de pantalla de los resultados que obtengo tanto en la consola serie, como en el navegador
¿que podria ser?
estoy cerrando la conexion con la linea
serial3.println("at+cipclose=0");//cerrar sesion tcp
¿esta aqui el problema?
saludos
yo tenido problemas similares y en mi caso el fallo era la comunicación serie entre la placa y el arduino. finalmente optado por aprender lua y meter la página web en el modulo esp.
Arduino Forum > International > Español > Software (Moderators: surbyte, Hector_A) > Problemas al refrescar web esp8266
arduino
Comments
Post a Comment