Paso 4: UDP comunicación
Vamos a usar UDP para la comunicación por Internet.UDP es un protocolo de Internet (asi es TCP). Para que nuestra comunicación sea UDP/IP.
http://en.wikipedia.org/wiki/User_Datagram_Protocol
Para enviar un paquete UDP utiliza la biblioteca Arduino Ethernet como sigue:
1.
Primero tenemos que definir nuestra dirección IP y la dirección del dispositivo receptor, así como los puertos estamos enviando y recibiendo en:
bytes mac [] = {}
0x90, 0xA2, 0xDA, 0 x 00, 0x85, 0x46};
Ip dirección IP (192, 168, 2, 177);
Dirección IP rem_ip (192, 168, 2, 178);
unsigned int PuertoLocal = 8887; / / local puerto a escuchar el
unsigned int remPort = 8888; / remoto / Puerto para enviar a
2.
Empezamos el Ethernet y luego servicios UDP (recordar que UDP sobre Ethernet - UDP/IP)
Ethernet.begin(mac,ip);
UDP.Begin(localPort);
3.
Cuando queremos enviar un mensaje necesita un comienzo, principio y fin:
Udp.beginPacket (rem_ip, remPort);
UDP.Write(SND);
Udp.endPacket();
4.
Para la recepción buscamos un tamaño de paquete cero siendo recibido:
packetSize int = Udp.parsePacket();
y leer en el buffer de rcv :
UDP.Read (& rcv, tamaño);
Así que ¿qué enviamos?
Muy simple, podríamos enviar '0' para interruptor 0 presionado y '1' para interruptor 1 pulsado.
Si dispositivos tenían sensores conectados puede que necesite más datos por ejemplo
{State_sw0, State_sw1, Sensor_val}
Lo que decida en su aplicación se puede enviar como una cadena sobre UDP de la misma manera.