We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Hola. Soy nuevo en el foro y no tengo mucha experiencia con processing. Estoy estableciendo comunicacion con una placa arduino a traves de un servidor web con un modulo ESP8266. Utilizando la sentencia loadString( "http://el servidor") se establece comunicacion y realiza las instrucciones pero el problema se presenta cuando al no tener ninguna pagina disponible en arduino la app en android se congela durante aproximadamente 60 sg lo cual no me resulta util, hasta que devuelve un error del tipo imposible realizar la conexion a traves de la consola, el error no me importa puesto que la instruccion en la placa Arduino se ejecuta. La pregunta es.. ¿ hay alguna forma de detener la carga para poder relanzarla sin tener que esperar? Seria algo similar a detener la carga en un navegador aunque haya que utilizar otra sentencia que no sea loadstring. He utilizado thread pero tengo el mismo problema aunque eso si ahora se pueden enviar hasta 4 instrucciones por cada 60 sg.
Answers
Not clear how the connection is happening.
Are you using javascript or java? Can you share your a minimum amount of code showing the essence of your program?
I can only suggest httprequest: https://forum.processing.org/two/search?Search=httprequest however more details are needed before a final solution.
Welcome to the forum btw!
Kf
La conexion es Android===>Wifi Esp8266 servidor web integrado==> Serial Arduino
El esp8266 utiliza AT y lleva un servidor web integrado enviando las peticiones al serial arduino para que este las procese. El codigo es el siguiente aunque seguramente se podra mejorar:
La sentencia loadstring es en realidad: String [] Buff = loadStrings("http://192.168.4.1/B"); Nose porque se cambia a la hora de subir el post. La aplicacion se congela y no se puede enviar mas instrucciones hasta que finalmente se recibe: java.net.ConnectException: Failed to connect to /192.168.4.1:80
Y entonces puedo volver a realizar la peticion. Pero arduino si realiza correctamente su funcion. Necesitaria alguna forma de que no se congelara la aplicacion y pudiera seguir enviando instrucciones.
Vale Finalmente he dado con la solucion y respondo.
Al realizar las conexiones el modulo Esp8266 admite un maximo de 4 conexiones simultaneas, y al utilizar loadstring las conexiones se quedaban activas y no permitia realizar mas conexiones, la solucion es cerrar las conexiones activas. A traves del modulo ESP y utilizando AT con el comando: "AT+CIPCLOSE=5" Se cierran todas las conexiones activas permitiendo que entren mas instrucciones a traves de loadstrings("http://IP/instrucciones");
GRACIAS a todos.
@Cachicot -- ¡Gracias por compartir la solución!