RFID with HC06 bluetooth and ESP wifi module
Dependencies: mbed MFRC522 ESP8266
main.cpp@0:ebf3612d4985, 2016-03-25 (annotated)
- Committer:
- ndgohil
- Date:
- Fri Mar 25 22:37:10 2016 +0000
- Revision:
- 0:ebf3612d4985
- Child:
- 1:ad028c0c6c6c
RFID Tag Reader with Bluetooth module HC-06
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ndgohil | 0:ebf3612d4985 | 1 | #include "mbed.h" |
ndgohil | 0:ebf3612d4985 | 2 | #include "MFRC522.h" |
ndgohil | 0:ebf3612d4985 | 3 | // FRDM-K64F (Freescale) Pin for MFRC522 reset |
ndgohil | 0:ebf3612d4985 | 4 | #define MF_RESET PTD0 |
ndgohil | 0:ebf3612d4985 | 5 | #define SERIAL_1 |
ndgohil | 0:ebf3612d4985 | 6 | |
ndgohil | 0:ebf3612d4985 | 7 | DigitalOut LedGreen(LED2); |
ndgohil | 0:ebf3612d4985 | 8 | |
ndgohil | 0:ebf3612d4985 | 9 | //Serial connection to PC for output |
ndgohil | 0:ebf3612d4985 | 10 | Serial pc(PTC17, PTC16); // serial comm on the FRDM board |
ndgohil | 0:ebf3612d4985 | 11 | |
ndgohil | 0:ebf3612d4985 | 12 | //wireless bluetooth connection to Android Device for output |
ndgohil | 0:ebf3612d4985 | 13 | Serial blue(PTC15, PTC14); |
ndgohil | 0:ebf3612d4985 | 14 | |
ndgohil | 0:ebf3612d4985 | 15 | |
ndgohil | 0:ebf3612d4985 | 16 | //MFRC522 RfChip (SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS, MF_RESET); |
ndgohil | 0:ebf3612d4985 | 17 | MFRC522 RfChip (PTD2, PTD3, PTD1, PTE25, PTD0); |
ndgohil | 0:ebf3612d4985 | 18 | |
ndgohil | 0:ebf3612d4985 | 19 | int main(void) { |
ndgohil | 0:ebf3612d4985 | 20 | |
ndgohil | 0:ebf3612d4985 | 21 | blue.baud(9600); |
ndgohil | 0:ebf3612d4985 | 22 | pc.baud(9600); |
ndgohil | 0:ebf3612d4985 | 23 | printf("Welcome to RFID Tag Reader Using FRDM K64F...\n\r"); |
ndgohil | 0:ebf3612d4985 | 24 | blue.printf("Welcome to RFID Tag Reader Uing FRDM K64F...\n\r"); |
ndgohil | 0:ebf3612d4985 | 25 | printf("Bluetooth Enable\r\n"); |
ndgohil | 0:ebf3612d4985 | 26 | blue.printf("Bluetooth Enable\r\n"); |
ndgohil | 0:ebf3612d4985 | 27 | RfChip.PCD_Init(); |
ndgohil | 0:ebf3612d4985 | 28 | |
ndgohil | 0:ebf3612d4985 | 29 | while (true) { |
ndgohil | 0:ebf3612d4985 | 30 | LedGreen = 1; |
ndgohil | 0:ebf3612d4985 | 31 | |
ndgohil | 0:ebf3612d4985 | 32 | // Look for new cards |
ndgohil | 0:ebf3612d4985 | 33 | if ( ! RfChip.PICC_IsNewCardPresent()) |
ndgohil | 0:ebf3612d4985 | 34 | { |
ndgohil | 0:ebf3612d4985 | 35 | wait_ms(200); |
ndgohil | 0:ebf3612d4985 | 36 | continue; |
ndgohil | 0:ebf3612d4985 | 37 | } |
ndgohil | 0:ebf3612d4985 | 38 | |
ndgohil | 0:ebf3612d4985 | 39 | // Select one of the cards |
ndgohil | 0:ebf3612d4985 | 40 | if ( ! RfChip.PICC_ReadCardSerial()) |
ndgohil | 0:ebf3612d4985 | 41 | { |
ndgohil | 0:ebf3612d4985 | 42 | wait_ms(200); |
ndgohil | 0:ebf3612d4985 | 43 | continue; |
ndgohil | 0:ebf3612d4985 | 44 | } |
ndgohil | 0:ebf3612d4985 | 45 | LedGreen = 0; |
ndgohil | 0:ebf3612d4985 | 46 | int a=0; |
ndgohil | 0:ebf3612d4985 | 47 | |
ndgohil | 0:ebf3612d4985 | 48 | // Print Card UID |
ndgohil | 0:ebf3612d4985 | 49 | printf("Card UID:"); |
ndgohil | 0:ebf3612d4985 | 50 | blue.printf("Card UID:"); |
ndgohil | 0:ebf3612d4985 | 51 | for (uint8_t i = 0; i < RfChip.uid.size; i++) |
ndgohil | 0:ebf3612d4985 | 52 | { |
ndgohil | 0:ebf3612d4985 | 53 | printf(" %X02 ", RfChip.uid.uidByte[i]); |
ndgohil | 0:ebf3612d4985 | 54 | blue.printf(" %X02 ", RfChip.uid.uidByte[i]); |
ndgohil | 0:ebf3612d4985 | 55 | a = RfChip.uid.uidByte[0]; |
ndgohil | 0:ebf3612d4985 | 56 | } |
ndgohil | 0:ebf3612d4985 | 57 | |
ndgohil | 0:ebf3612d4985 | 58 | //Print Card Type |
ndgohil | 0:ebf3612d4985 | 59 | if(a==117 || a==177) |
ndgohil | 0:ebf3612d4985 | 60 | { |
ndgohil | 0:ebf3612d4985 | 61 | printf("\r\nWhite Card"); |
ndgohil | 0:ebf3612d4985 | 62 | blue.printf("\r\nWhite Card"); |
ndgohil | 0:ebf3612d4985 | 63 | } |
ndgohil | 0:ebf3612d4985 | 64 | else if(a==226 || a==20) |
ndgohil | 0:ebf3612d4985 | 65 | { |
ndgohil | 0:ebf3612d4985 | 66 | printf("\r\nBlue Keychain"); |
ndgohil | 0:ebf3612d4985 | 67 | blue.printf("\r\nBlue Keychain"); |
ndgohil | 0:ebf3612d4985 | 68 | } |
ndgohil | 0:ebf3612d4985 | 69 | else |
ndgohil | 0:ebf3612d4985 | 70 | { |
ndgohil | 0:ebf3612d4985 | 71 | printf("\r\nUnrecognized"); |
ndgohil | 0:ebf3612d4985 | 72 | blue.printf("\r\nUnrecognized"); |
ndgohil | 0:ebf3612d4985 | 73 | } |
ndgohil | 0:ebf3612d4985 | 74 | printf("\n\r"); |
ndgohil | 0:ebf3612d4985 | 75 | blue.printf("\n\r"); |
ndgohil | 0:ebf3612d4985 | 76 | |
ndgohil | 0:ebf3612d4985 | 77 | // Print RFID Card type |
ndgohil | 0:ebf3612d4985 | 78 | uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak); |
ndgohil | 0:ebf3612d4985 | 79 | printf("PICC Type: %s \n\n\r\r", RfChip.PICC_GetTypeName(piccType)); |
ndgohil | 0:ebf3612d4985 | 80 | blue.printf("PICC Type: %s \n\n\r\r", RfChip.PICC_GetTypeName(piccType)); |
ndgohil | 0:ebf3612d4985 | 81 | |
ndgohil | 0:ebf3612d4985 | 82 | wait_ms(200); |
ndgohil | 0:ebf3612d4985 | 83 | |
ndgohil | 0:ebf3612d4985 | 84 | } |
ndgohil | 0:ebf3612d4985 | 85 | } |
ndgohil | 0:ebf3612d4985 | 86 |