meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaÚltima revisiónAmbos lados, revisión siguiente | ||
electronica:esp8266:rfid [2016/10/02 23:43] – lc | electronica:esp8266:rfid [2016/10/11 23:42] – [Referencias] lc | ||
---|---|---|---|
Línea 3: | Línea 3: | ||
En esta práctica vamos a utilizar un ESP8266-12E y el módulo RC522, para construirnos un lector de tarjetas de identificación por radio frecuencia **(RFID)** | En esta práctica vamos a utilizar un ESP8266-12E y el módulo RC522, para construirnos un lector de tarjetas de identificación por radio frecuencia **(RFID)** | ||
- | {{: | + | {{: |
- | Lo primero es saber que dependiendo del modelos de ESP que utilicemos tenemos que usar un pin u otro. La tabla con las equivalencias es la siguiente: | + | Lo primero |
^Módulo RC522^ESP8266-12E^ESP8266^Arduino ^ | ^Módulo RC522^ESP8266-12E^ESP8266^Arduino ^ | ||
Línea 17: | Línea 17: | ||
|8-> SDA|D10|D8|D10| | |8-> SDA|D10|D8|D10| | ||
+ | El circuito quedaría de la siguiente forma: | ||
+ | {{ : | ||
+ | |||
+ | |||
+ | El código para comprobar que se leen las etiquetas | ||
+ | |||
+ | <sxh c> | ||
+ | // | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | #define SS_PIN 15 | ||
+ | #define RST_PIN 2 | ||
+ | |||
+ | MFRC522 rfid(SS_PIN, | ||
+ | |||
+ | MFRC522:: | ||
+ | // Init array that will store new NUID | ||
+ | byte nuidPICC[3]; | ||
+ | |||
+ | void setup() | ||
+ | { | ||
+ | Serial.begin(9600); | ||
+ | SPI.begin(); | ||
+ | rfid.PCD_Init(); | ||
+ | |||
+ | for (byte i = 0; i < 6; i++) | ||
+ | { key.keyByte[i] = 0xFF; | ||
+ | } | ||
+ | |||
+ | Serial.println(F(" | ||
+ | Serial.print(F(" | ||
+ | printHex(key.keyByte, | ||
+ | } | ||
+ | // ------------------------------------------------------------------ | ||
+ | void printHex(byte *buffer, byte bufferSize) { | ||
+ | for (byte i = 0; i < bufferSize; i++) { | ||
+ | Serial.print(buffer[i] < 0x10 ? " 0" : " "); | ||
+ | Serial.print(buffer[i], | ||
+ | } | ||
+ | } | ||
+ | void printDec(byte *buffer, byte bufferSize) { | ||
+ | for (byte i = 0; i < bufferSize; i++) { | ||
+ | Serial.print(buffer[i] < 0x10 ? " 0" : " "); | ||
+ | Serial.print(buffer[i], | ||
+ | } | ||
+ | } | ||
+ | // | ||
+ | |||
+ | void loop() { | ||
+ | |||
+ | // Buscamos tarjetas | ||
+ | if ( ! rfid.PICC_IsNewCardPresent()) | ||
+ | return; | ||
+ | |||
+ | // SI la encuentra la leemos | ||
+ | if ( ! rfid.PICC_ReadCardSerial()) | ||
+ | return; | ||
+ | |||
+ | Serial.print(F(" | ||
+ | MFRC522:: | ||
+ | Serial.println(rfid.PICC_GetTypeName(piccType)); | ||
+ | |||
+ | // Check is the PICC of Classic MIFARE type | ||
+ | if (piccType != MFRC522:: | ||
+ | piccType != MFRC522:: | ||
+ | piccType != MFRC522:: | ||
+ | { | ||
+ | Serial.println(F(" | ||
+ | return; | ||
+ | } | ||
+ | |||
+ | if (rfid.uid.uidByte[0] != nuidPICC[0] || | ||
+ | rfid.uid.uidByte[1] != nuidPICC[1] || | ||
+ | rfid.uid.uidByte[2] != nuidPICC[2] || | ||
+ | rfid.uid.uidByte[3] != nuidPICC[3] ) | ||
+ | { | ||
+ | Serial.println(F(" | ||
+ | | ||
+ | Serial.println(F(" | ||
+ | Serial.print(F(" | ||
+ | printHex(rfid.uid.uidByte, | ||
+ | Serial.println(); | ||
+ | Serial.print(F(" | ||
+ | printDec(rfid.uid.uidByte, | ||
+ | Serial.println(); | ||
+ | |||
+ | | ||
+ | | ||
+ | } | ||
+ | delay(600); | ||
+ | } | ||
+ | </ | ||
==== Referencias ==== | ==== Referencias ==== | ||
* http:// | * http:// | ||
+ | * https:// | ||
+ |