blob: 22dabf941ec60bafeb60dd41f64ac7aa21c98b5d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# NFCommander
This tool serves as an adapter between NFC/ISO14443A Tags and Cards (Mifare Cards, NTAG Tags)
and any other tooling.
## Tag format
The data on the NFC tag is split into three parts, the detailed format of which is defined
in the `reader API` document.
* Tag Command: The command a tag will call. This maps to an executable defined in the NFCommander configuration.
* Static data: Unstructured textual parameters to the command that will stay unchanged for this tag over the lifetime of it's programming.
* Dynamic data: Unstructured textual data that may be changed by the execution of a command to keep state over multiple invocations/presentations.
## API Surfaces
This project has three distinct APIs
* The command API: The commands that can be triggered by and while a tag is present on the reader
* The control API: Tag programming/administration, command testing
* The reader API: Interaction with the active NFC hardware
## Things that crossed my mind
* Maybe we should use NDEF on the tag instead of yet another custom format
* It might be useful to implement support for hardware button passthrough to commands
|