VTAP 100 | TUYA Controller |
---|---|
PWR+ | DC+ |
GND | GND |
D0 | D0 |
D1 | D1 |
GRN | LED |
RED | -- |
BEEP | BZR |
*123456# 1 # [Number of Cards, max 999] # [Starting Card Number, e.g., 19942069] #
*123456# 1 # 200 # 19942069 #
!VTAPconfig
; This section defines the Google Smart Tap collector ID and key for the pass you want to read
; This is AccessGrid's collector ID
ST1CollectorID=12345678
ST1KeySlot=2
ST1KeyVersion=1
; The following is for formatted Google SmartTap passes
PassFormat=2
AccessTCI=002000
NFCType4=D ; Read type 4 cards and Wallet passes as DESFire
DESFireAppID=ACCE55
DESFireFileID=00
DESFireKeyNum=1
DESFireKeySlot=1 ; use appkey1 or above
; The following is for formatted DESFire cards and Apple Access DESFire passes
DESFireFormat=2
;Add Wiegand support, please contact support
; WiegandMode=1
KBLogMode=1
; This section controls how the LEDs and buzzer behave. Two beeps for a pass, one for a card:
LEDSelect=1
LEDDefaultRGB=FFFFFF
PassLED=00FF00,200,1,1
PassBeep=100,100,2
TagLED=00FF00,200
TagBeep=100
from accessgrid import AccessGrid
# get these from your access grid account
account_id = "[placeholder]"
secret_key = "[placeholder]"
card_template_id = "[placeholder]"
client = AccessGrid(account_id, secret_key)
card = client.access_cards.provision(
card_template_id=card_template_id,
employee_id="101010101",
card_number="42169",
site_code="199",
full_name="Jose Casanova",
email="[email protected]",
phone_number="+17867212241",
classification="Employee",
title="CEO",
start_date="2025-04-03T22:46:25.601Z",
expiration_date="2026-04-20T22:46:25.601Z"
)
print(card.id)
print(card.url)
It's janky, but it works - how we got our credentials working with UHPPOTE systems.
We created 70 sample bit streams for the most common bit / card formats so you don't have to.