adresse = 192.168.1.47:61556
code:
#include <SPI.h> #include <Ethernet2.h> #include <EthernetUdp2.h> byte mac[] = { 0x90, 0xA2, 0xDA, 0x10, 0xA9, 0x71 }; //static IPAddress ip(192, 168, 1, 47); static IPAddress serveur(192,168,1,79); unsigned int localPort = 61556; char packetBuffer [UDP_TX_PACKET_MAX_SIZE]; byte pinDigitalIn [] = {2,3,4,5,6,7,8,9}; byte pinDigitalOut [] = {10,11,13}; byte pinAnalogIn [] = {A0,A1,A2,A4}; EthernetUDP Udp; int fEnvoi = 20; long TEch = 1000000/fEnvoi; long to; void setup() { Serial.begin(9600); while (!Serial) {} if (Ethernet.begin(mac) == 0) { Serial.println("Failed to configure Ethernet using DHCP"); for (;;) ; } Udp.begin(localPort); for (int i = 0 ; i < sizeof(pinDigitalIn) ; i++){ pinMode(pinDigitalIn[i],INPUT); } for (int i = 0 ; i < sizeof(pinDigitalOut) ; i++){ pinMode(pinDigitalOut[i],OUTPUT); } } void loop(){ long maintenant = micros(); if ((maintenant - to)>TEch){ to = maintenant; sendPacket(); } if ( Udp.parsePacket() ) { Udp.read(packetBuffer, UDP_TX_PACKET_MAX_SIZE); int valeurRecue = (int) strtol(packetBuffer,NULL,16); Serial.print("Recu : "); Serial.println(valeurRecue); for (int i = 0 ; i < sizeof(pinDigitalOut) ; i++){ digitalWrite(pinDigitalOut[i],bitRead(valeurRecue,i)); } } } unsigned long sendPacket() { String envoi = encodage(); int taille = envoi.length(); char buff [taille]; envoi.toCharArray(buff,taille); Udp.beginPacket(serveur, 61557); Udp.write(buff); Udp.endPacket(); } String encodage(){ String envoi = ""; int digital = 0; for (int i = 0 ; i < sizeof(pinDigitalIn) ; i++){ if(digitalRead(pinDigitalIn[i])){ bitSet(digital,i); } } envoi += String(digital,HEX); envoi += ";"; for (int i = 0 ; i < sizeof(pinAnalogIn) ; i++){ int lu = analogRead(pinAnalogIn[i]); envoi += String(lu,HEX); envoi += ";"; } return envoi; }
Labview = serveur:
Adresse = 192.168.1.79:61557
RecepteurUdp.vi
Aucun commentaire:
Enregistrer un commentaire