Как прочитать UID RFID-метки ISO 15693 с помощью Javascript?

Я хочу прочитать UID метки RFID с помощью считывателя NFC под javascript/Android.

UID устанавливается производителем, поэтому вы не можете скопировать RFID-карту.

Я использую navigator.nfc для чтения информации NFC, но когда я касаюсь RFID-карты, результирующий объект, называемый сообщением, имеет массив, называемый записями, только с одним членом: message.records[0]

Внутри message.records[0] есть 3 поля: data = null, mediaType = empty string, recordType = "empty".

Где UID?

Когда я использую приложение TagInfo, я получаю всю информацию о RFID-карте, включая UID, в информации протокола. Таким образом, считыватель NFC может их получить. Почему не navigator.nfc?

function readWriteNfc() {
  if ('nfc' in navigator) {
    navigator.nfc.watch(function (message) {
        consoleLog("NFC message received from URL " + message);

        //now message.records[0].data is null...


      }, {mode: 'any'})
      .then(() => consoleLog("Added a watch."))
      .catch(err => consoleLog("Adding watch failed: " + err.name));
  } else {
    consoleLog('NFC API not supported.');
  }
}

person setphomn    schedule 02.05.2019    source источник


Ответы (1)


Учитывая тот факт, что вы используете navigator.nfc.watch(), я предполагаю, что вы пытаетесь использовать Web NFC API. , а точнее одну из его предыдущих версий.

Web NFC API ограничен сообщениями NDEF в тегах форума NFC. Вы не можете получить доступ к каким-либо параметрам протокола ниже уровня абстракции NDEF. Следовательно, в настоящее время нет возможности прочитать UID тега с помощью этого API.

person Michael Roland    schedule 03.05.2019