RFIDuino (1 / 6 paso)

Paso 1: Montar RFIDuino

/*
UDPSendReceive.pde:
Este bosquejo recibe cadenas de mensajes UDP, imprime al puerto serie
y envía una cadena de "reconocer" de nuevo al remitente

Un esquema de procesamiento se incluye en el final del archivo que se puede utilizar para enviar
y mensajes recibidos para la prueba con un ordenador.

creado el 21 de agosto de 2010
por Michael Margolis

Este código es de dominio público.
*/

#include < SPI.h > / / necesario para las versiones de Arduino más adelante que 0018
#include < Ethernet.h >
#include < EthernetUdp.h > / / Biblioteca UDP: bjoern 30/12/2008

Introduzca una dirección de MAC y dirección IP para el controlador a continuación.
La dirección IP dependerá de tu red local:
mac de bytes [] = {0xDF, 0xAD, 0xCE, 0xEF, 0xFE, 0xWE};
byte ip [] = {0, 0, 0,};
Server(0,0,0,0) dirección IP;

Char [] serverName = "http://whatever.com";
int keepAlive = 0;
volátil reader1 largo = 0;
volátiles int reader1Count = 0;
unsigned int PuertoLocal = 70056;      puerto local a escuchar el
char packetBuffer [UDP_TX_PACKET_MAX_SIZE]; buffer para paquetes entrantes,

Cliente EthernetClient;
EthernetUDP Udp;

void reader1One(void) {}
reader1Count ++;
reader1 = reader1 << 1;
reader1 | = 1;
}

void reader1Zero(void) {}
reader1Count ++;
reader1 = reader1 << 1;
}

void setup() {}
Ethernet.Begin(Mac,IP,DNS); / / iniciar el Ethernet
UDP.Begin(localPort); / / y UDP
Serial.Begin(9600);
pinMode (5, salida);
Acople pin cambio interrumpir rutinas de servicio de los lectores Wiegand RFID
attachInterrupt (0, reader1Zero, RISING); //DATA0 al pin 2
attachInterrupt 1, reader1One, RISING; Data1 a pin 3
Delay(10);
la interrupción de las mises de procesador Atmel hacia fuera la primera negitave de pulso como las entradas ya son altas,
así que esto da un pulso a cada línea de entrada del lector a las interrupciones de funcionamiento.
Luego limpiar las variables del lector.
Los lectores son de colector abierto sentado normalmente en uno así que esto es OK
para (int i = 2; i < 4; i ++) {}
pinMode (i, salida);
digitalWrite (i, alto); permiten tirar interno causando una
digitalWrite (i, LOW); desactivar la interna levantan causando cero y, por tanto, una interrupción
pinMode (, entrada);
digitalWrite (i, alto); permiten interno tire para arriba
}
Delay(10);
reader1 = 0;
reader1Count = 0;
}

void loop() {}
Si (reader1Count > = 26) {//If tarjeta es leída.
Serial.Print(reader1);
Client.Connect (servidor, 80); Conectar al servidor.
Client.Print ("GET rfiddoor/door.php?data="); Enviar datos de tarjeta.
Client.Print(reader1);
Client.println ("& puerta = 12door"); nombre de puerta de //Send.
{if(Client.Connected())}
Serial.Print ("enviando datos de la tarjeta ('');
Serial.Print(reader1); imprimir datos de la tarjeta a la salida serial.
Serial.println(") al servidor...");
} else {}
Serial.println ("no se puede conectar al servidor, reintentando...");
}
Client.STOP();
}
reader1 = 0;
reader1Count = 0;
Delay(100); Dar tiempo de arduino para recibir el paquete UDP.
packetSize int = Udp.parsePacket(); Paquete UDP de proceso.
if(packetSize) {//if UDP paquete es acto recibido, otra cosa mantener tarjeta datos y reenviar (empezar bucle conservando los datos de la tarjeta).
Serial.Print ("contenido del paquete:");
Dirección IP remoto = Udp.remoteIP();
UDP.Read (packetBuffer, UDP_TX_PACKET_MAX_SIZE); //Read paquetes en el buffer.
Serial.Print (packetBuffer) paquete UDP //Print;
Serial.Print ("tarjeta es");
Si (packetBuffer [0] == 'p' & & packetBuffer [1] == 'a' & & packetBuffer [2] == de ' & & packetBuffer [3] == de ' & & packetBuffer [4] == 'w' & & packetBuffer [5] == ' o ' & & packetBuffer [6] == 'r' & & packetBuffer [7] == había ') {//If UDP paquete contiene contraseña abierta, que permanecen cerrados
digitalWrite (5, HIGH); / / ### esto lee el buffer de paquetes. Si contiene el comando de"apertura" mantendrá la huelga ###
Serial.println("Approved"); / / ### abrir durante 5 segundos e imprimir hacia fuera que fue aprobada la tarjeta. Se detendrá el webclient ###
Client.STOP(); / / ### se restablecerá el lector.                                                                   ###
reader1 = 0; / / ### si se recibe el "comando denegado" permanecerá bloqueado y mostrará que la tarjeta ###
reader1Count = 0; / / ### se negó. El webclient se detendrá y se restablecerá el lector.                     ###
delay(5000);//                            ###                                                                                             ###
digitalWrite (5, LOW); / / ### si un paquete no es recibido se mantenga los datos del lector y volverlo a enviar.                         ###
}else{//                                    ###################################################################################################
Serial.println("denied");
Client.STOP();
reader1 = 0;
reader1Count = 0;
digitalWrite (5, bajo);
}
Serial.println("___");
}
}

Artículos Relacionados

RFIDuino - usando un lector de RFID y Arduino para hacer un rompecabezas GeoCache

RFIDuino - usando un lector de RFID y Arduino para hacer un rompecabezas GeoCache

disfruto de Geocaching y electrónica y han hecho un par de electrónico puzzle-caches utilizando un Arduino.Mi más reciente creación (con la ayuda de un compañero cacher del código) está utilizando un Arduino y RFID lector para hacer un geocaché de ro
Cerradura puerta con Arduino

Cerradura puerta con Arduino

Aquí estamos con la clásica cerradura RFID. Es clásico en ese sentido todo, "Vivir en el futuro y tomar por sentado en este momento". En este tutorial, vamos a establecer un pestillo de puerta que puede abrirse con el golpe de una etiqueta RFID!
Arduino controla caja de bloqueo con solenoide y RFID

Arduino controla caja de bloqueo con solenoide y RFID

La caja de la cerradura RFID combina Arduino, RFID y un solenoide para hacer su propio personal seguro! La caja de la cerradura se abre sólo a las tarjetas de clave que haya programado en el sistema, cierre todos los demás fuera.Esta guía mostrará có
Utilizando el regulador de Boost chip 5V

Utilizando el regulador de Boost chip 5V

potencia sus proyectos Arduino con 2 pilas "AA".Recientemente trabajé en un proyecto que requiere un Arduino ser alimentado por 2 pilas "AA".Otra vuelta de tuerca fue que espera el usuario para proveer e instalar las baterías en un por
RFID etiqueta Windows (Vista, 7, 8 y 10) Inicio de sesión

RFID etiqueta Windows (Vista, 7, 8 y 10) Inicio de sesión

El proyecto RFIDuino de inicio de sesión para Windows le permitirá utilizar el sistema de RFIDuino para iniciar sesión en Windows. Usted tendrá que cargar un firmware especial a su Geekduino/Arduino y carga los archivos correspondientes en el ordenad
Abridor de puerta de garaje de Arduino RFID

Abridor de puerta de garaje de Arduino RFID

En este proyecto, utilizaremos el poder de la RFID en su sistema de abertura de la puerta de garaje. Vamos al puente, una conexión en la apertura de interruptor a través de una placa de relé RobotGeek, iniciando la puerta como si hubiera pulsado el b
Tarjetas RFID de Arduino (juego que empareja)

Tarjetas RFID de Arduino (juego que empareja)

¿Quieren una manera lujo aprender con sus hijos a estudiar para el examen? Con un escudo de RFIDuino, una pila de tarjetas flash y un montón de etiquetas RFID, puede hacer un sistema de tarjeta de memoria flash que da retroalimentación y refuerzo al
Arduino Lockbox con solenoide y Hardware RFID & Custom

Arduino Lockbox con solenoide y Hardware RFID & Custom

Vamos a hacer una caja de seguridad! Recorrimos los puntos principales de este proyecto en el cuadro de bloqueo controlado de Arduino con solenoide y RFID, pero mucha gente se dejaron sentir que no gastamos una cantidad adecuada de tiempo con opcione