Identity IoT: initial release — boot manager, provisioning, sensor/relay
This commit is contained in:
32
provisioning_nfc.py
Normal file
32
provisioning_nfc.py
Normal file
@@ -0,0 +1,32 @@
|
||||
# ============================================================+
|
||||
# Identity IoT — Provisioning via NFC
|
||||
# (c) Copyright : ae Aeonian Engineering Limited - Hong Kong
|
||||
# (c) Copyright : WIDE di D. Papa - Naples - Italy
|
||||
# ============================================================+
|
||||
# Used when has_nfc = True and no config.json found.
|
||||
# Waits for writer badge tap, reads AES-encrypted config payload
|
||||
# from NTAG424, decrypts with PROG_KEY/PROG_IV.
|
||||
# ============================================================+
|
||||
|
||||
import utime
|
||||
from provisioning_server import PROG_KEY, PROG_IV
|
||||
from identity_iot_aes import aes_cbc_decrypt
|
||||
import ujson
|
||||
|
||||
|
||||
def run_provisioning_nfc():
|
||||
"""
|
||||
Block until writer badge is tapped.
|
||||
Reads encrypted config from NTAG424, returns config dict.
|
||||
"""
|
||||
print('[provisioning_nfc] waiting for writer badge...')
|
||||
|
||||
# TODO: init PN532
|
||||
# TODO: wait for NTAG424 tap
|
||||
# TODO: read encrypted config payload from tag memory
|
||||
# TODO: aes_cbc_decrypt(payload, PROG_KEY, PROG_IV)
|
||||
# TODO: validate and return config dict
|
||||
|
||||
while True:
|
||||
print('[provisioning_nfc] tap writer badge...')
|
||||
utime.sleep(2)
|
||||
Reference in New Issue
Block a user