SDKs
Dois SDKs oficiais tratam de todas as operações com chips TigerTag — ler o payload NTAG de 144 bytes, verificar o formato TigerTag e codificar novos dados de chip.
JavaScript — tigertag (npm)
Seção intitulada “JavaScript — tigertag (npm)”- Repositório: TigerTag-SDK-JS (Apache-2.0)
- Publicado no npm como
tigertag. - Usado internamente pelo Tiger Studio; utilizável de forma independente para criar ferramentas personalizadas compatíveis com o TigerTag.
npm install tigertag- Repositório: TigerTag-SDK-Python (Apache-2.0)
- Publicado no PyPI como
tigertag— para scripts, ferramentas e automatização.
pip install tigertag # core only — stdlib, works fully offlinepip install tigertag[sync] # + requests (database auto-update)pip install tigertag[verify] # + cryptography (ECDSA signature check)Ler e escrever um chip
Seção intitulada “Ler e escrever um chip”Os dois SDK funcionam da mesma forma. Para ler, passe o UID do chip e as
respetivas páginas a partir de 0x04, tal como o seu SDK NFC as devolve. Para
escrever, construa um tag a partir dos seus campos e escreva os 80 bytes que
devolve nas páginas 0x04–0x17. Os IDs vêm das
tabelas de referência; o exemplo é uma bobina de 1 kg de PLA vermelho
Rosa3D, de 1,75 mm.
JavaScript
Seção intitulada “JavaScript”const { TigerTag } = require('tigertag');
// Readconst tag = TigerTag.fromPages(uid, payload);console.log(tag.pretty());console.log(String(tag.verify())); // VALID / NOT SIGNED / INVALID
// Writeconst spool = TigerTag.create({ uid, idType: 142, // Filament idMaterial: 38219, // PLA idBrand: 19961, // Rosa3D idAspect1: 104, // Basic idDiameter: 56, // 1.75 mm color1R: 255, color1G: 0, color1B: 0, color1A: 255, measure: 1000, idUnit: 21, // 1000 g nozzleTempMin: 195, nozzleTempMax: 230,});const bytes = spool.toBytes(); // 80 bytesfrom tigertag import TigerTag
# Readtag = TigerTag.from_pages(uid, payload)print(tag.pretty())print(tag.verify()) # VALID / NOT SIGNED / INVALID
# Writespool = TigerTag.create( uid=uid, id_type=142, # Filament id_material=38219, # PLA id_brand=19961, # Rosa3D id_aspect_1=104, # Basic id_diameter=56, # 1.75 mm color1_r=255, color1_g=0, color1_b=0, color1_a=255, measure=1000, id_unit=21, # 1000 g nozzle_temp_min=195, nozzle_temp_max=230,)data = spool.to_bytes() # 80 bytesPara verificar o que o seu código escreve, cole o hexadecimal de toBytes()
ou to_bytes() no playground: descodifica o chip campo a campo, no
navegador.
Os dois exemplos funcionam assim com tigertag 1.2.1 (npm) e 1.4.0 (PyPI).
O resto da API (pormenores da assinatura, sincronização na nuvem do TigerTag+,
alterar um chip, a CLI) está no README de cada SDK, que é a referência:
JavaScript · Python.
O que os SDKs oferecem
Seção intitulada “O que os SDKs oferecem”| Capacidade | Descrição |
|---|---|
| Parse | Descodifica um dump de chip para a identidade do filamento (marca, material, cor…) |
| Verify | Verifica se o payload tem um formato TigerTag válido |
| Encode | Constrói um novo payload de 144 bytes para escrever num chip |
Os dados de referência (tabelas ID → nome) vêm da base de dados partilhada — ver Identidade universal do filamento.