Как я могу использовать Arduino NFC для получения ключа от Android и ответа, если он действителен? - PullRequest
2 голосов
/ 22 июня 2019

Я пытаюсь создать приложение для Android, которое отправляет ключ на Arduino NFC Shield.Я могу отправить ключ с мобильного телефона и включить светодиод на Arduino.Но я не знаю, как заставить NFC-щит отправлять обратно на устройство Android ответ: действительный ключ или нет.

Я получаю сообщение на Arduino, я могу включить светодиод, когда ключверно.Проблема в том, что мне нужен NFC Shield для отправки сообщения обратно на мобильный телефон, чтобы приложение знало, что все работает как положено или нет.

Я использую NFC Shield PN532 (с Adafruit_PN532) в режиме SPI.

success = nfc.inListPassiveTarget();
if(success) {

    Serial.println("Found something!");
    uint8_t selectApdu[] = { 
      0x00, /* CLA */
      0xA4, /* INS */
      0x04, /* P1  */
      0x00, /* P2  */
      0x05, /* Length of AID  */
      0xF2, 0x22, 0x22, 0x22, 0x22};

    uint8_t response[255];
    uint8_t responseLength = sizeof(response);

    success = nfc.inDataExchange(selectApdu, 
          sizeof(selectApdu), response, &responseLength);

    if(success) {            
        if(validKey(response, responseLength)){
          Serial.println("Acces GRANTED.");
          accesGranted();
        }else{
          Serial.println("Acces DENIED!!!!!!!!!!!!!!!!\n");
        }            
    }
    else{
        Serial.println("Failed sending SELECT AID"); 
    }
}
...