README.md 2.39 KB
Newer Older
1
# nfcUID
qwelp's avatar
qwelp committed
2
Cross-platform terminal application for reading NFC tag UID and write it as keyboard output to text field in any application.
qwelp's avatar
qwelp committed
3
4
5
6
7
8
9

## Overview
Application read NFC tag UID using PC/SC API.
PC/SC is a standard to interface computers with smartcards, available on most operating systems, including Windows, MacOS, Linux.
UID writed in active text input field by generating keystrokes on the keyboard.
So cursor should be in some text input field.
UID output format options are available.
10
11

## Supported readers
qwelp's avatar
qwelp committed
12
Application should work with any PC/SC compatible reader. It is tested with ACS readers:
13
14
15
  - ACR122U
  - ACR1281U-C1
  - ACR1252U-M1
qwelp's avatar
qwelp committed
16

17
## Supported NFC tags
qwelp's avatar
qwelp committed
18
Application should work with any NFC tag with UID. It is tested with NXP tags:
19
20
21
22
23
24
  - Mifare Classic
  - Mifare Ultralight
  - NTAG203
  - NTAG213
  - NTAG216

qwelp's avatar
qwelp committed
25
26
## Download
Binaries for Windows, MacOS and Linux platforms could be downloaded from release page.
qwelp's avatar
qwelp committed
27
28

## Build
qwelp's avatar
qwelp committed
29
Install the source code and build
qwelp's avatar
qwelp committed
30
```golang
qwelp's avatar
qwelp committed
31
go get github.com/taglme/nfcuid
32
33
go build
```
qwelp's avatar
qwelp committed
34

qwelp's avatar
qwelp committed
35
## Output format
qwelp's avatar
qwelp committed
36
37
38
39
40
41
42
43

There are options for application that should be specified as flags.

 - '-device' (integer) - device number to use. Set to 0 if your want to select it manually or set to the desired device number to auto-select.
 - '-caps-lock' (boolean) -  UID output with caps lock
 - '-decimal' (boolean) - UID output in decimal format
 - '-reverse' (boolean) - UID output in reverse order
 - '-end-char' (string) - character at the end of UID. Options: 'hyphen', 'enter', 'semicolon', 'colon', 'comma', 'none', 'space', 'tab',  (default "none")
qwelp's avatar
qwelp committed
44
 - '-in-char' (string) - character between bytes of UID. Options: 'hyphen', 'enter', 'semicolon', 'colon', 'comma', 'none', 'space', 'tab',  (default "none")
45
 - '-layout' (string) - layout of the keyboard. Options: 'en', 'fr', (default 'en')
qwelp's avatar
qwelp committed
46
47
48

Run with '-h' flag to check usage
```
qwelp's avatar
qwelp committed
49
nfcuid -h
qwelp's avatar
qwelp committed
50
51
52
53
54
55
56
57
58
59
```

## Examples

```golang
//This will auto-select first available PC/SC device in system
//Output will be in direct order 
//Bytes of UID will be in hex format
//Between bytes of UID will be hyphen ("-") printed
//At end of UID newline will be printed
qwelp's avatar
qwelp committed
60
nfcuid -end-char=enter -in-char=hyphen -caps-lock=false -reverse=false -decimal=false -device=1
qwelp's avatar
qwelp committed
61
62
63
64

//Output 
04-ae-65-ca-82-49-80

qwelp's avatar
qwelp committed
65
66
67
68
69
70
71
```

## Demo
Short application [overview video](https://youtu.be/BSyxhg2iWfA) (in Russian) on Youtube

## More NFC software
More NFC software and services are available on [Tagl.me](https://tagl.me)