Go Down

Topic: Problemas con los envios UDP (Read 251 times) previous topic - next topic

11Vane

Buenas!! estoy con un proyecto en el que mezclo una tarjeta rfid y una tarjeta shield para mandar unos comandos udp .
El problema es que intento comprobar que esos comandos llegan usando el software de Hércules para leer que se esta enviando a esa dirección y puerto.

este es el código que estoy usando  pero al ejecutarlo y leer la tarjeta valida... no detecto nada en hercules en esa dirección (que es en la que tengo el pc) , estaré poniendo mal el puerto? como puedo saber cual es el puerto udp de entrada de mi ordenador?

#include <SPI.h>
#include <MFRC522.h>
#include <SPI.h>       
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 177);

unsigned int localPort = 8888;      // puerto local a la escucha

const int RST_PIN = 9;        // Pin 9 para el reset del RC522
const int SS_PIN = 8;        // Pin 10 para el SS (SDA) del RC522
MFRC522 mfrc522(SS_PIN, RST_PIN);   // Crear instancia del MFRC522
 
byte validKey1[4] = { 0x4E, 0x4C, 0xB3, 0xC7 };  // Ejemplo de clave valida
 
//Función para comparar dos vectores
bool isEqualArray(byte* arrayA, byte* arrayB, int length)
{
  for (int index = 0; index < length; index++)
  {
    if (arrayA[index] != arrayB[index]) return false;
  }
  return true;
}
 
void setup() {
  Serial.begin(9600); // Iniciar serial
  SPI.begin();        // Iniciar SPI
  mfrc522.PCD_Init(); // Iniciar MFRC522
  // inicio de Ethernet y UDP:
  Ethernet.begin(mac,ip);
  Udp.begin(localPort);
}
 
void loop() {
  // Probamos tarjeta tarjeta
  if (mfrc522.PICC_IsNewCardPresent())
  {
    //chequeo de la tarjeta
    if (mfrc522.PICC_ReadCardSerial())
    {
      // Comparar ID con las claves válidas
      if (isEqualArray(mfrc522.uid.uidByte, validKey1, 4)){
        Serial.println("Tarjeta valida");
        Udp.beginPacket((192, 168, 1, 122),(1900))


//el puerto es inventado …. será el problema?



        Udp.write("HOLA ");
        Udp.endPacket();
        }
      else
        Serial.println("Tarjeta invalida");
 
      // Finalizar lectura actual
      mfrc522.PICC_HaltA();
    }
  }
  delay(250);
 
}

surbyte

Edita tu post de acuerdo a las normas del foro. Los códidgos deben ir con etiquetas
Ej: esto


#include <SPI.h>
#include <MFRC522.h>
#include <SPI.h>       
#include <Ethernet.h>

debe verse asi

Code: [Select]
#include <SPI.h>
#include <MFRC522.h>
#include <SPI.h>       
#include <Ethernet.h>

Go Up