Project User Interface Nodes: verschil tussen versies
(→Aart LED) |
(→Voorbeeld 1: eenvoudige toegangsnode) |
||
Regel 25: | Regel 25: | ||
* Rood lampje brandt 3x kort: Gebruiker is herkend en is niet geautoriseerd. | * Rood lampje brandt 3x kort: Gebruiker is herkend en is niet geautoriseerd. | ||
* Rood lampje brandt 5x kort: Gebruiker is niet herkend | * Rood lampje brandt 5x kort: Gebruiker is niet herkend | ||
− | + | ** Kleine complexiteit - indien er slecht/traag/geen netwerk is - wordt er een cache gebruikt. Dus nu is het slecht onderscheid maken tussen een geen antwoord server, te traag antwoord server en niet in cache en werkelijk niet herkend. Je kan ook hebben - scan; geen antwoord in 0.5 seconden; check cache; reject; 1 seconde later - toch ok van server. En dan gaat de deur open - want we negeren zo'n transient 'niet gevonden'. | |
+ | ** We kunnen wel betrouwbaar vaststellen dat de RFID ok gelezen is | ||
* In dit ontwerp is de autorisatie zelf gescheiden van de apparaatsturing | * In dit ontwerp is de autorisatie zelf gescheiden van de apparaatsturing |
Versie van 22 jan 2024 om 12:49
Inhoud
Inleiding
De Makerspace heeft in de afgelopen jaren een redelijk aantal zogenaamde 'Nodes' gekregen, voornamelijk om toegang tot apparaten te verlenen, maar ook betaalterminals, sensoren, enzovoort. Een van de zaken die er bij deze organische groei gebeurt, is dat het voor nieuwe (en soms ook oude) gebruikers soms een raadsel is hoe ze werken. En dan heb ik het niet over de techniek, maar hoe ze zich 'aan de buitenkant' gedragen.
Dit is een klein projectje om te komen tot een user interface standaard voor onze nodes, die bedoeld is om het voor gebruikers makkelijker te maken om ze te gebruiken.
Belangrijke aspecten zijn de volgende:
- Inzichtelijkheid: dat het voor de gebruiker duidelijk is waar het apparaat voor is, wat de mogelijkheden zijn, en wat de toestand op een bepaald moment is.
- Consistentie: dat iedere node zich zo veel mogelijk als de andere nodes gedraagt. Dat een rood lampje niet de ene keer betekent dat het apparaat aan is, en een andere keer dat er een fout is.
Voorbeeld 1: eenvoudige toegangsnode
Het blauwe lampje is bedoeld om de status van de RFID lezer zelf mee aan te geven:
- Blauw lampje brandt niet: Node staat (tijdelijk) niet klaar om RFID te lezen
- Blauw lampje brandt continu: Node staat klaar om RFID te lezen
- Blauw lampje brandt knipperend: Node werkt niet correct. Uit knipperpatroon is af te leiden wat het probleem is
Het groene lampje is bedoeld om aan te geven dat de betreffende gebruiker geautoriseerd is:
- Groen lampje brandt continu: Gebruiker is herkend en is geautoriseerd.
Het rode lampje is bedoeld om aan te geven dat er iets mis is gegaan bij de autorisatie.
- Rood lampje brandt 1x kort: Fout bij lezen RFID
- Rood lampje brandt 3x kort: Gebruiker is herkend en is niet geautoriseerd.
- Rood lampje brandt 5x kort: Gebruiker is niet herkend
- Kleine complexiteit - indien er slecht/traag/geen netwerk is - wordt er een cache gebruikt. Dus nu is het slecht onderscheid maken tussen een geen antwoord server, te traag antwoord server en niet in cache en werkelijk niet herkend. Je kan ook hebben - scan; geen antwoord in 0.5 seconden; check cache; reject; 1 seconde later - toch ok van server. En dan gaat de deur open - want we negeren zo'n transient 'niet gevonden'.
- We kunnen wel betrouwbaar vaststellen dat de RFID ok gelezen is
- In dit ontwerp is de autorisatie zelf gescheiden van de apparaatsturing
Functie Autorisatie-node | Indicator | Opmerkingen |
Autorisatie-node is aan en in staat is om RFID-tokens te scannen | Blauw lampje brandt continu | |
Autorisatie-node is aan maar niet in staat is om RFID-tokens te scannen | Blauw lampje brandt knipperend | Uit patroon is op te maken wat het probleem is |
Gebruiker is geautoriseerd | Groen lampje brandt zo lang het akkoord is | Wanneer vervalt het akkoord? |
Gebruiker is afgewezen | Rood lampje brandt gedurende 1 seconde | Afgewezen is een tijdelijke status |
Aan apparaatsturing laten weten dat de autorisatiemodule werkt | Nader te bepalen signaal | |
Aan het apparaat laten weten dat de gebruiker geautoriseerd is | Nader te bepalen signaal |
Niet 'aan' betekent altijd 'uit'. |
Functie Apparaatbesturings-deel | Indicator | Opmerkingen |
Gebruiker is geautoriseerd | Groen lampje brand zo lang het akkoord is | Hoort gelijk te zijn aan die van de autorisatie |
Gebruiker is niet geautoriseerd | Rood lampje zo lang het niet akkoord is | Inverse van dat het akkoord is |
Input dat gebruiker het apparaat aan wil zetten | Groene '1' of 'On' knop | |
Input dat de gebruiker het apparaat uit wil zetten | Rode '0' of 'Off' knop | Betekent meestal einde autorisatie |
' |
Huidige states en signalen =
Aart LED
Huidige Aart LED (Groen bij de meeste machines) - typisch
- Langer dan 5 seconden uit - CPU hangt of geen power.
- Langzame flash - alles normaal
- kortje flitsjes - kaart gescanned en wordt gechecked.
- Snelle flash voor 1-2 seconden - kaart rejected, timeout, etc -- transient fout
- Snel lang flashen - er is iets mis
- In sommige gevallen kan dit iets in het safety circuit zijn - zoals de operator switch op ON, een ingedrukte noodstop of de detectie van een lopende motor terwijl die uit zou moeten zin
- Morse patroon - er is iets 'echt' miss - zoals geen netwerk, stroom, etc.
- Continue aan - machine vrijgegeven
Uitzonderingen zijn de deur nodes.
State engine NODE
- Node is uit
- Node is powerd
- Oude nodes - 1 of 2 hebben een zichtbare powerled
- Vanaf generatie WNH - allemaal een powerled; niet altijd zichtbaar.
- Node heeft volledig geboot / geen netwerk
- Leeuwendeel van de nodes heeft een of andere indicatie (AartLed)
- WNH: led of display
- Waiting for card
- Leeuwendeel van de nodes heeft een of andere indicatie (AartLed)
- WNH: led of display
- Card word geswiped
- Oude nodes: sommige geven een piepje
- WNH: allemaal een buzzer met korte piep; meeste display
- Denied of time-out of geen netwerk -EN- niet in de cache
- Oude nodes: meeste geven een LED signaal
- WNH: buzzer signaal
- Approved (via de server of via de cache als er geen netwerk is)
- Oude nodes: meeste geven een LED signaal. sommige alleen klick (tussendeur), buzzer (voordeur) of stappenmotor (spacedeur)
- WNH: Allemaal buzzer; meeste display text
- Indrukken van een of andere 'uit knop'
- Node valt terug naar waiting for card.
Sommige nodes
- Led of buzzer signaal indien de safety interlock een probleem heeft.
State safety interlock
- Geen power
- Power; en in de veilige stand
- kan niet aan - noodknop ingedrukt
- kan niet aan - clickson of andere interlock in motor (zoals open deur) blokkeert dit
- kan niet aan - de operator switch staat in de 'aan' stand.
- kan niet aan - niet vrijgegeven door de node
- kan niet aan - er ontbreekt een fase (maar bij één machine)
- kan aan met rode knop - paar nodes hebben dan een lamp die aan gaat
- operator switch van uit->aan
- Motor gaat lopen
- operator switch van aan->uit
- Motor stopt
- Iets dat de interlock verbreekt (node crash, noodknop, overload, overtemp, deurtje open, etc)
- Naar veilige staat
- Meeste nodes - node ziet dit, blokkeert vrijgave onmiddelijk & stuurd warning naar MQTT
- Groene knop ingedrukt bij motor UIT- apparaat naar veilige staat
- Meeste nodes - node ziet dit en stopt na 10-120 seconden de vrijgave van de safety
- Groene knop ingedrukt bij motor AAN - apparaat naar veilige staat
- Meeste nodes - node ziet dit, blokkeert vrijgave onmiddelijk & stuurd warning naar MQTT en soms beheerders/bestuur