离线优先
参考数据表和 TigerTag+ 产品目录(约 1 MB)随软件包提供。设置 offline=True 或 TIGERTAG_OFFLINE=1 即可关闭所有网络访问。
开源 SDK · TigerTag 协议 v2.2
tigertag 软件包把 TigerTag 芯片的 144 字节解析为材料、颜色、温度和数量,验证其 ECDSA-P256 签名,并可创建新标签。参考数据随软件包一起提供,pip install 之后即可离线使用。
$ pip install tigertag
from tigertag import TigerTag
tag = TigerTag.from_pages(uid, payload) # from your NFC SDK
print(tag.pretty()) # human-readable summary
print(tag.verify()) # VALID / NOT SIGNED / INVALID
print(tag.to_dict()) # JSON-ready dictREADME 中记录的全部功能,集中在一个可离线运行的软件包里。
参考数据表和 TigerTag+ 产品目录(约 1 MB)随软件包提供。设置 offline=True 或 TIGERTAG_OFFLINE=1 即可关闭所有网络访问。
ECDSA-P256,完全离线,使用内置 id_version.json 中的公钥。安装 tigertag[verify] 以添加 cryptography 包。
TigerTag.create() 从零构建标签,patch() 返回修改了字段的新标签,erase() 返回用于擦除芯片的 80 个零字节。
TigerTag.from_catalog() 根据官方目录,把 TigerTag+ 产品 ID 转换为可直接写入的完整标签。catalog_entry() 提供其名称、品牌、SKU 和图片。
进程中的第一个 TigerTagDB 每天最多检查一次新数据,且从不抛出异常:出现任何问题时使用本地数据。
from_pages(uid, payload) 直接接受 Android、iOS、Flutter 和 nfcpy 返回的数据。README 中有使用 nfcpy 和 ACR122U 读卡器的完整示例。
已签名的 TigerTag 带有 ECDSA-P256 签名,把芯片 UID 与产品数据绑定在一起。SDK 无需调用任何服务器即可验证。tag.verify() 返回 SignatureResult:只有签名有效时 ok 才为 True,否则 status 说明原因(无签名、未安装 cryptography、无公钥、无 UID)。

from_pages() 接受 144 字节(第 0x04 至 0x27 页,数据与签名)或 80 字节(仅数据)。from_dump() 还接受 180 字节的完整转储,并从中提取 UID。

tigertag 命令可解析芯片转储,以文本、JSON 或原始字段输出,并更新参考数据。parse_tigertag.py 是 SDK 的完整独立副本,适用于无法添加依赖的项目:放入文件,从中导入 TigerTag 即可。
一个 Python 软件包(PyPI 上的 tigertag),用于读取、验证、创建和修改 3D 打印耗材与树脂上的 TigerTag NFC 芯片。它基于 Apache License 2.0 开源,实现 TigerTag 协议 v2.2。
在 Python 3.8 或更高版本上运行 pip install tigertag。添加 tigertag[verify] 以验证签名,tigertag[full] 安装全部可选依赖,tigertag[nfc] 用于演示工具中的 PC/SC 读卡器。
不需要。参考数据随软件包提供,读取和验证都可离线完成。自 1.3.0 版起,SDK 每天最多检查一次新的参考数据;设置 offline=True、TIGERTAG_OFFLINE=1 或 auto_update=False 即可关闭。
NTAG213、NTAG215、NTAG216 以及任何兼容 ISO 14443-3 的芯片。TigerTag 和 TigerTag+ 芯片,以及待编程的空白芯片,都以相同方式读取。
tag.verify() 使用软件包内置的公钥检查芯片的 ECDSA-P256 签名(该签名把芯片 UID 与产品数据绑定),无需调用服务器。验证需要 UID,因此请用 from_pages(uid, payload) 读取芯片。
pip install tigertag,然后调用 TigerTag.from_pages(uid, payload)。
PyPI 上的 tigertag