최근 Arduino Uno 보드 용 NFC shield v1.0을 받았습니다. 씨앗의 스튜디오 위키 http://www.seeedstudio.com/wiki/index.php?title=NFC_Shield에서 제공하는 초기 코드 중 일부를 시도했습니다. Mifare Ultralight C 세트를 읽거나 쓰려고 여러 번 시도한 후 문제가 무엇인지 한 줄씩 살펴 보려고했습니다. 나는 더 많거나 적은이 라인을 좁혀 :NFC MIFARE 초경량 C 인증 실패
nfc.authenticateBlock(1 /*1 or 2*/,
id /*Card NUID*/,
10/*0 to 63*/,
KEY_A /*Either KEY_A or KEY_B */,
keys))
카드의 ID가 정확한지, 그래서 난 인수의 또 다른 가정하고있어 물건을 트립해야합니다. 키에 [] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff} 키를 사용하고 있습니다. 문제가 될만한 다른 사항은 없습니까? 아래에 전체 코드를 포함했습니다. 추가 세부 정보가 필요하면 알려주십시오.
감사합니다.
#include "PN532.h"
#define SCK 13
#define MOSI 11
#define SS 10
#define MISO 12
PN532 nfc(SCK, MISO, MOSI, SS);
void setup(void) {
Serial.begin(9600);
Serial.println("Hello!");
nfc.begin();
uint32_t versiondata = nfc.getFirmwareVersion();
if (! versiondata) {
Serial.print("Didn't find PN53x board");
while (1); // halt
}
// Got ok data, print it out!
Serial.print("Found chip PN5"); Serial.println((versiondata>>24) & 0xFF, HEX);
Serial.print("Firmware ver. "); Serial.print((versiondata>>16) & 0xFF, DEC);
Serial.print('.'); Serial.println((versiondata>>8) & 0xFF, DEC);
Serial.print("Supports "); Serial.println(versiondata & 0xFF, HEX);
// configure board to read RFID tags and cards
nfc.SAMConfig();
}
void loop(void) {
uint32_t id;
// look for MiFare type cards
id = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A);
if (id != 0)
{
Serial.print("Read card #");
Serial.println(id);
Serial.println();
uint8_t keys[]= {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; // default key of a fresh card
if(nfc.authenticateBlock(1 /*1 or 2*/,
id /*Card NUID*/,
0x08 /*0 to 63*/,
KEY_A /*Either KEY_A or KEY_B */,
keys))
{
Serial.println("authenticated!");
}
else {
Serial.println("failed to authenticate");
}
}
delay(2000);
}
에서 작은 블록 답을 본 후, 나는 약간 혼란스러워했다 (일반적으로 arduino nfc-shield wiki에 명시된 바와 같이 http://www.seeedstudio.com/wiki/index.php?title=NFC_Shield). 호기심에서, 저는 libfreefare 프로젝트의 mifare_ultralight.c를 들여다 보았습니다. libfreefare 프로젝트가 arduino nfc shield와 함께 작동하지 않기 때문에, MIFARE ultralightC를 지원하기 위해 PN532 라이브러리를 조정하는 방법에 대한 조언은 무엇입니까? 그런 멍청한 녀석 인 것을 유감스럽게 생각한다 : ( – sybohy
흠, 죄송합니다. 사실 이걸 먼저 살펴 보겠습니다. https://github.com/adafruit/Adafruit-PN532 – sybohy