Identity IoT: initial release — boot manager, provisioning, sensor/relay

This commit is contained in:
2026-06-08 18:27:38 +02:00
commit d1a28d989c
17 changed files with 1860 additions and 0 deletions

32
provisioning_nfc.py Normal file
View 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)