PN532 Driver library This library provides an abstract API to drive the pn532 nfc chip, with I2C/HSU/SPI interface. Its based on the Seeed Studio's Arduino version.
Dependents: PN532_ReadUid Nfctest2
Diff: PN532/examples/emulate_tag_ndef/emulate_tag_ndef.ino
- Revision:
- 1:b5922b3b3257
- Parent:
- 0:db8030e71f55
--- a/PN532/examples/emulate_tag_ndef/emulate_tag_ndef.ino Tue Sep 13 06:01:19 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ - -#include "SPI.h" -#include "PN532_SPI.h" -#include "emulatetag.h" -#include "NdefMessage.h" - -PN532_SPI pn532spi(SPI, 10); -EmulateTag nfc(pn532spi); - -uint8_t ndefBuf[120]; -NdefMessage message; -int messageSize; - -uint8_t uid[3] = { 0x12, 0x34, 0x56 }; - -void setup() -{ - Serial.begin(115200); - Serial.println("------- Emulate Tag --------"); - - message = NdefMessage(); - message.addUriRecord("http://www.seeedstudio.com"); - messageSize = message.getEncodedSize(); - if (messageSize > sizeof(ndefBuf)) { - Serial.println("ndefBuf is too small"); - while (1) { } - } - - Serial.print("Ndef encoded message size: "); - Serial.println(messageSize); - - message.encode(ndefBuf); - - // comment out this command for no ndef message - nfc.setNdefFile(ndefBuf, messageSize); - - // uid must be 3 bytes! - nfc.setUid(uid); - - nfc.init(); -} - -void loop(){ - // uncomment for overriding ndef in case a write to this tag occured - //nfc.setNdefFile(ndefBuf, messageSize); - - // start emulation (blocks) - nfc.emulate(); - - // or start emulation with timeout - /*if(!nfc.emulate(1000)){ // timeout 1 second - Serial.println("timed out"); - }*/ - - // deny writing to the tag - // nfc.setTagWriteable(false); - - if(nfc.writeOccured()){ - Serial.println("\nWrite occured !"); - uint8_t* tag_buf; - uint16_t length; - - nfc.getContent(&tag_buf, &length); - NdefMessage msg = NdefMessage(tag_buf, length); - msg.print(); - } - - delay(1000); -}