Personal PIN
Elke user krijgt een unieke code — geen gedeelde gym-PIN. Foute pogingen vergrendelen het pad. Company Admin kan een PIN roteren zonder hardware aan te raken.
Eén cloudplatform voor elke deur die telt: kantoorgebouwen, sportschoolvloeren, personeelsruimtes van het café en liften. Mensen ontgrendelen met een persoonlijke PIN, NFC-tap of telefoon — en Super Admin plus Company Admin kijken live mee.
Het product is een React-console voor drie rollen, een Go-backend, en MQTT vanaf een hardware door controller on ESP32 / ESP32-S3. Elke opening is een kit: ESP32-paneel, PN532- of Wiegand-lezer, slot, contact en request-to-exit. Dat board publiceert unlocks, denials en deurstatus — Super Admin polt het pad niet.
Facilitair teams runden gebouwlobby’s, sportschoolpoorten, personeelsdeuren van het café en liftverdiepingen als aparte systemen. Fysieke sleutels lagen in een lade. Eén PIN stond op een sticky note achter het espressomachine. Leden deelden dezelfde viercijferige code. Als iemand het bedrijf verliet, wist niemand welke deuren ze nog open kregen.
Elke methode checkt nog steeds schema, zone en rol in de Go-policy-engine. De React-apps tonen alleen wat die rol mag doen.
Elke user krijgt een unieke code — geen gedeelde gym-PIN. Foute pogingen vergrendelen het pad. Company Admin kan een PIN roteren zonder hardware aan te raken.
Tik de lezer voor contactloze toegang bij lobby, gym, café of lift. Het event verschijnt nog steeds op Super Admin- en Company Admin-livefeeds.
Het userpanel toont alleen toegewezen deuren. Eén tik ontgrendelt als ze in range zijn, of ze lopen naar het pad en voeren PIN in voor café-personeelsruimtes.
De MQTT-client is een ESP32-S3 (of ESP32-WROOM-32 op café-personeelsruimtes met twee deuren). Field devices hangen aan dat board. Lezers en sloten praten niet zelf met de cloud.
Espressif ESP32-S3 (Wi-Fi + BLE) als 2/4-deurenpaneel in de comms-kast. GPIO-relais voor het slot, Wiegand/OSDP van de lezer, TLS-MQTT-client die elk event publiceert. Cafélocaties met twee deuren gebruiken ESP32-WROOM-32.
ESP32-S3 · ESP32-WROOM-32NXP PN532 (13.56 MHz NFC / telefoontap) aan de onveilige kant, plus een 125 kHz Wiegand RFID-lezer voor badges. De ESP32 ontvangt alleen de UID — hij opent het slot niet tot Go (of lokale cache) ja zegt.
PN532 · Wiegand 26-bitMembraan 4×4-keypad op café-personeelsdeuren en after-hours gymgates, gelezen door de ESP32 GPIO. Foute PINs vergrendelen het pad; de ESP32 publiceert de denial nog steeds op MQTT.
4×4 keypadFail-secure 12V electric strike op kantoordeuren; 12V electromagnetic lock op glazen gym- en lobbybladen. Een opto-geïsoleerd relais op de ESP32 is wat écht ontgrendelt — niet de telefoonapp.
12V lock · relayMC-38 magnetisch reed op het kozijn, bedraad in ESP32 GPIO. Closed vs held-open vs forced. Super Admin-alerts komen van deze sensor, niet van een cameragok.
MC-38 DPSHC-SR501 PIR of een push-to-exit-knop aan de beveiligde kant zodat mensen zonder PIN wegkunnen. ESP32 publiceert REX zodat een vrije uitgang niet als forced door wordt gelogd.
12V voor maglock en strike, 5V voor de ESP32. Bij netuitval publiceert de ESP32 POWER_FAIL en blijft op een kleine backup lang genoeg overeind om de gymgate eerlijk te houden.
My Doors-unlock is geen Bluetooth-slot. De telefoon raakt de Go API; Go publiceert een command waarop de ESP32 subscribed, daarna vuurt hetzelfde relais als het PIN-pad. De ESP32 publiceert het event nog steeds.
ESP32 /cmdDezelfde IoT-lezerfirmware staat in vier omgevingen. Policy — niet hardware — bepaalt wie welke deur mag openen en wanneer.
Building
Hoofdglazingang, tenantverdiepingen en serverruimtes. PIN of badge van personeel tijdens kantooruren. Bezoekers krijgen een tijdgebonden lobbycode van Company Admin. Super Admin ziet de lezerhealth van elk gebouw op één kaart.
Gym
Leden ontgrendelen alleen tijdens betaalde uren. Trainers houden after-hours toegang. Als een lidmaatschap verloopt, valt Gym Floor 2 meteen van de user-deurlijst — geen gedeelde viercijferige code op het glas meer.
Cafe
Het publieke café blijft open. De personeelsdeur naast de bar gebruikt PIN zodat alleen ingeroosterde barista’s voorraad- en kassaruimtes openen. Company Admin wijst shiftvensters toe; mislukte PINs tonen als alerts op de livefeed.
Lift
De lezer naast de liftbank activeert alleen de verdiepingen op iemands deurlijst. Executive floors blijven verborgen. Elke call wordt gelogd met user, tijd en bestemming voor Super Admin-audits.
Wissel rollen. Super Admin bewaakt het hele estate. Company Admin runt één bedrijf. Users zien alleen de deuren die ze mogen openen.
Dit is de control tower. Super Admin onboardt bedrijven, ziet elke ESP32 hardware-deurcontroller (gebouw, sportschool, café, lift) en kan een locatie noodvergrendelen. Ze beheren niet de sportschooluren van één medewerker — dat blijft bij Company Admin.
React-dashboard · MQTT van ESP32-S3 · Go-eventstream.
| Time | Zone | Event | Status |
|---|---|---|---|
| 10:24:31 | Gym | CTRL-04 PUB ACCESS_GRANTED | Granted |
| 10:24:18 | Cafe | CTRL-09 PUB DPS closed | OK |
| 10:23:47 | Lift | CTRL-02 PUB REX | Exit |
| 10:22:30 | Building | CTRL-12 PUB ACCESS_DENIED | Denied |
Dagelijkse operators voor één bedrijf. Ze wijzen personeel toe aan Building + Lift, leden aan Gym, barista’s aan Café-personeelsdeur, en kijken wie het laatste uur binnenkwam. Ze zien nooit data van een ander bedrijf.
Als een PIN wordt gedeeld, trek hem hier in. User-deurlijst werkt meteen bij.
| Person | Zone | Method | Status |
|---|---|---|---|
| Asha Rao | Lobby + Lift 12–18 | App | Active |
| Mark Kim | Gym 06:00–22:00 | PIN | Active |
| Nora Lee | Cafe staff | PIN | Shift |
| Visitor · NL | Lobby only | PIN | Expires 18:00 |
Gebruikers zien nooit andere bedrijven of globale health. Ze openen de app en krijgen een duidelijke lijst: welke deuren ze mogen, of de lezer online is, en of deze deur in-app ontgrendelen of een PIN op het pad nodig heeft.
Good morning, Asha
5 doors assigned to you
User voert PIN in op het pad, tikt NFC, of tikt Unlock op hun deurlijst terwijl ze bij de lezer staan.
De ESP32-S3 hardware deurcontroller publiceert de PIN, NFC UID of app-command over MQTT. Go checkt identiteit, zone, schema, en of de code nog geldig is.
De ESP32 vuurt de 12V strike of maglock, of activeert de liftverdieping. Het pad toont Access Granted.
Hetzelfde event verschijnt op Super Admin- en Company Admin-livefeeds, en in de geschiedenis van de user.
Elke ESP32-S3 (of ESP32-WROOM-32) is een client op de broker. Hij publiceert deurevents en health. Hij subscribed alleen voor commands (unlock, lock, schedule sync). Consoles praten nooit rechtstreeks met de maglock.
access/{site}/{ctrl}/eventGranted, denied, REX, forced, held-openaccess/{site}/{ctrl}/healthOnline, tamper, power, batteryaccess/{site}/{ctrl}/lockStrike/maglock-staat na een relaiswisselaccess/{site}/{ctrl}/dpsDoor contact: closed, open, heldaccess/{site}/{ctrl}/cmdUnlock, lock, PIN cache, firmwarePUB access/tower-a/ctrl-04/event qos 1
{
"ts": "2026-09-19T10:24:31Z",
"hw": "ESP32-S3",
"controllerId": "CTRL-04",
"doorId": "gym-front",
"event": "ACCESS_GRANTED",
"method": "PIN",
"userId": "u_asha",
"lock": "UNLOCKED"
}
PUB access/tower-a/ctrl-04/dps qos 1
{ "hw": "ESP32-S3", "doorId": "gym-front", "sensor": "MC-38", "state": "OPEN" }
PUB access/tower-a/ctrl-12/event qos 1
{
"ts": "2026-09-19T10:22:30Z",
"hw": "ESP32-WROOM-32",
"controllerId": "CTRL-12",
"doorId": "lobby",
"event": "ACCESS_DENIED",
"method": "PIN",
"reason": "UNKNOWN_PIN"
}
PUB access/tower-a/ctrl-04/health qos 0 retained
{ "hw": "ESP32-S3", "online": true, "tamper": false, "mains": true }
Super Admin, Company Admin en de user-deurlijst zijn React-applicaties. De Go API is eigenaar van authenticatie, PIN-hashing, policy, en /cmd unlocks. Field hardware is named: ESP32-S3 / ESP32-WROOM-32 als de hardware deurcontroller, PN532 NFC, Wiegand RFID, 4×4 PIN keypad, 12V maglock or strike, MC-38 door contact, and HC-SR501 REX.
De ESP32 publiceert events zelfs als niemand de app open heeft. Als Company Admin live monitoring opent, staat de feed al op de broker.
Livedashboards subscribed op controller-topics. Super Admin en Company Admin pollen het pad nooit.
Policy-engine, PIN-lifecycle en MQTT-commands terug naar het controllerrelais.
ACCESS_GRANTED, ACCESS_DENIED, REX, DOOR_FORCED, DPS, health. Broker fant die uit naar de liveboards.
ESP32-S3 / ESP32-WROOM-32 · PN532 · Wiegand RFID · 4×4-keypad · 12V maglock · MC-38 · HC-SR501 — gebouw, gym, café en lift.
Café- en gymcodes werden niet meer gedeeld. Iedereen heeft een PIN die Company Admin kan roteren zonder een sitebezoek.
Super Admin en Company Admin zien unlocks terwijl ze gebeuren — inclusief mislukte PIN-pogingen op personeelsdeuren.
De My Doors-lijst maakte een einde aan gissen aan de receptie. Als Gym niet op de lijst staat, gaat de poort niet open.
We mappen Super Admin-monitoring, Company Admin PIN- en people-ops, een user-deurlijst en een ESP32-S3 hardware deurcontroller (MQTT publish) op een React- en Go-platform dat uw teams kunnen runnen.