como pasa siempre, necesito una mano y esta vez quizas sea una niñeria, pero me gano.
tengo este codigo
void loop()
{
int memoria = 0;
int packetSize = Udp.parsePacket();
if (packetSize) {
Serial.print("Recibido mensaje de tamaño ");
Serial.println(packetSize);
Serial.print("De ");
IPAddress remote = Udp.remoteIP();
for (int i = 0; i < 4; i++) {
Serial.print(remote[i], DEC);
if (i < 3) {
Serial.print(".");
}
}
Serial.print(", puerto ");
Serial.println(Udp.remotePort());
Udp.read(packetBuffer, UDP_TX_PACKET_MAX_SIZE);
Serial.println("Contenido:");
memoria = packetBuffer;
Serial.println(packetBuffer);
memoria según yo debería adquirir el valor numérico que recibo por udp desde un lugar remoto.
esto jamas ocurre, memoria queda con un valor 1096, llegue lo que llegue.
por ende no lo puedo comparar con nada como para usarlo para desencadenar alguna accion en base al dato recibido.
mi pregunta es.
como rayos le hago para que memoria tome el valor de packetBuffer?
Hacer esto podría desbordar el mismo buffer (consecuencia: caracteres "basura" en la impresión); a menos que el paquete siempre acabe en '\0' (byte con valor cero).
por su extencion tuve que adjuntar el sketch.
lo que hace es configurar los parámetros ip Gateway mascara de subred y dirección del otro par osea cliente o servidor es indiferente.
junto con esto posee un feedback al emisor para asegurar mediante un led la correcta recepción y procesamiento de la instrucción.
la pagina web en ocaciones por no decir siempre cuelga, creo que al arduino, o la conexión.
aun no estoy seguro.
sugerencias?
pd: he agregado un wdt y cuando se ha colgado solo se ha solucionado, pero eso dificulta un poco la seguridad de recepcion del dato, creo que agregare un tiempo de espera por el feedback. si este no se recibe que vuelva a enviar el dato.