camme / node-nfc

A first try at binding libnfc to node. This project is right now not good enough to use.
68 stars 39 forks source link

How to interpret card data? #34

Open adamreisnz opened 7 years ago

adamreisnz commented 7 years ago

Sorry, I am new to NFC, and I'm trying to use this library to identify cards. However, not sure how to use the data that your code examples spit out.

When I press a simple plastic NFC card against the reader, I get the following output:

{ deviceID: 'pn532_uart:/dev/ttyS0',
  name: 'pn532_uart:/dev/ttyS0',
  uid: '19:bf:1e:28',
  type: 4,
  tag: 'mifare-classic' }

[ { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 255, len: 7, value: '8069ffffffffff' },
  { type: 255, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 1920 } ]

And for my phone:

{ deviceID: 'pn532_uart:/dev/ttyS0',
  name: 'pn532_uart:/dev/ttyS0',
  uid: '01:02:03:04',
  type: 4,
  tag: 'mifare-classic',
}

[ { type: 110, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 110, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 110, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 110, len: 0 },
  { type: 0, len: 0 },
  { type: 0, len: 0 },
  { type: 255, len: 7, value: '8069ffffffffff' },
  { type: 255,
    len: 110,
    value: '0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000ff078069ffffffffffff6e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000' },
  { type: 0,
    len: 110,
    value: '0000000000ff078069ffffffffffff6e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000ff078069ffffffffffff6e0000000000000000000000000000006e0000000000000000000000000000' },
  { type: 0,
    len: 110,
    value: '0000000000000000000000000000006e0000000000ff078069ffffffffffff6e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000ff078069ffffffffffff6e0000000000000000000000000000' },
  { type: 0,
    len: 110,
    value: '0000000000000000000000000000006e0000000000000000000000000000006e0000000000ff078069ffffffffffff6e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000ff078069ffffffffff' },
  { type: 255,
    len: 110,
    value: '0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000ff078069ffffffffffff6e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000' },
  { type: 0,
    len: 110,
    value: '0000000000ff078069ffffffffffff6e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000ff078069ffffffffffff6e0000000000000000000000000000006e0000000000000000000000000000' },
  { type: 0,
    len: 110,
    value: '0000000000000000000000000000006e0000000000ff078069ffffffffffff6e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000ff078069ffffffffffff6e0000000000000000000000000000' },
  { type: 0,
    len: 110,
    value: '0000000000000000000000000000006e0000000000000000000000000000006e0000000000ff078069ffffffffffff6e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000ff078069ffffffffff' },
  { type: 255 } ]

As the value 8069ffffffffff appears in both of the data arrays, I don't think that's the one.

The uid might be what I need, but why does my phone report 01:02:03:04. That can't be correct either.

Any thoughts?

Could you clarify the readme as to what this data format represents and how it's structured?