Internet enheter för hemautomation (4 / 6 steg)
Steg 4: UDP-meddelande
Vi kommer att använda UDP för kommunikation över Internet.UDP är ett Internet-protokoll (så är TCP). Så blir vår kommunikation UDP/IP.
http://en.wikipedia.org/wiki/User_Datagram_Protocol
Om du vill skicka ett UDP-paket använder vi Arduino Ethernet biblioteket enligt följande:
1.
Först måste vi definiera vår IP-adress och den mottagande enheten, liksom de portar vi skickar och tar emot på adress:
byte mac [] = {
0x90, 0xA2, 0xDA, 0x00, 0x85, 0x46};
IP-adress ip (192, 168, 2, 177);
IP-adress rem_ip (192, 168, 2, 178);
unsigned int localPort = 8887; / / lokal port att lyssna på
unsigned int remPort = 8888; Fjärrport att skicka till
2.
Vi startar upp den Ethernet och sedan UDP-tjänster (kom ihåg det är UDP över Ethernet - UDP/IP)
Ethernet.begin(mac,ip);
UDP.BEGIN(localPort);
3.
När vi vill skicka ett meddelande måste den en start, början och slut:
Udp.beginPacket (rem_ip, remPort);
UDP.write(SND);
Udp.endPacket();
4.
För att mottaga leta vi efter en noll paketstorlek tas emot:
int packetSize = Udp.parsePacket();
och läsa det i GI bufferten:
UDP.Read (& GI, storlek);
Så vad kan vi skicka?
Mycket enkelt, kunde vi sända '0' för växeln 0 pressad och '1' för Switch 1 nedtryckt.
Om enheter hade sensorer kopplade du kanske behöver mer data t.ex.
{State_sw0, State_sw1, Sensor_val}
Vad du än väljer i ditt program kan det skickas som en sträng över UDP på samma sätt.