NodeTrash

Uit MakerSpace Leiden
Ga naar: navigatie, zoeken


De TrashNode is een PoE powered Node die aangeeft om wanneer het tijd is om de vuilcontainer buiten te zetten. Vooralsnog houdt de node alleen de kleine vuilcontainer in de gaten, die normaliter elke tweede dinsdag geleegd wordt.

NodeTrash.jpeg

Werking

De basiswerking van de node is gebaseerd op drie ledjes en drie knoppen. Een brandende led geeft aan dat de vuilcontainer (volgens de node) op de aangegeven locatie staat:

  • Een brandende GROENE led geeft aan dat de vuilcontainer op zijn plaats binnen staat
  • Een brandende RODE led geeft aan dat de vuilcontainer buiten op straat staat
  • Een brandende GELE led geeft aan dat iemand heeft aangegeven (zie verder) dat de vuilcontainer "zoek" is

Een brandende led geeft dus aan wat de "huidige" positie van de vuilcontainer is. Met een knipperende led wordt aangegeven wat de "gewenste" situatie is, als die afwijkt van de "huidige":

  • Een knipperende GROENE led geeft aan dat de vuilcontainer (na te zijn geleegd) weer naar binnen mag
  • Een knipperende RODE led geeft aan dat de vuilcontainer naar buiten moet, om geleegd te worden

De GELE led knippert nooit, het "zoek" zijn van de vuilcontainer is immers nooit een "gewenste" situatie.

NodeTrashCloseup.jpeg

Use-cases

De belangrijkste use-case van de node is om aan te geven dat de vuilcontainer naar buiten moet om geleegd te worden:

  • Normaliter brandt de GROENE led
  • De avond vóór de dag van leging gaat daarbij de RODE led knipperen en de ledlamp bovenop de node branden, om aan te geven dat de vuilcontainer buitengezet moet worden
  • Als er minder dan drie mensen in de Space aanwezig zijn, gaat de ledlamp bovenop de node knipperen
  • De persoon die de vuilcontainer buitenzet swipet zijn tag op de node, het gele ledje gaat branden om aan te geven dat de node 'energized' is
  • Die persoon drukt vervolgens op de knop naast het RODE ledje om aan te geven dat hij/zij de vuilcontainer buiten gaat zetten
  • De GROENE led dooft en de RODE led gaat branden, om aan te geven dat de nieuwe "gewenste" situatie bereikt is

Opmerkingen:

  • De RODE led gaat knipperen vijftien uur vóór het officiële moment dat de vuilcontainer buiten verwacht wordt (normaliter: elke tweede dinsdag om 8:30 's morgens). Dat is wellicht een beetje vroeg. Dit moet wellicht nog functioneel getweakt worden
  • Op het moment dat de knop naast de RODE led wordt ingedrukt verstuurt de node een "small-container":"outside" approval-message naar de server. Die lijken echter nog niet zichtbaar in de logs van de server. Dit bericht zou gebruikt kunnen worden voor verder integratie van de node met het CRM-systeem.

Het binnenzetten van de vuilcontainer werkt ongeveer hetzelfde:

  • De RODE led brandt om aan te geven dat de vuilcontainer buiten staat
  • Als de vuilcontainer weer naar binnen mag, gaat daarbij de GROENE led knipperen
  • De persoon die de vuilcontainer binnenzet swipet zijn tag en drukt vervolgens op de knop naar het GROENE ledje om aan te geven dat hij/zij de container heeft binnengezet
  • De RODE led dooft en de GROENE led gaat branden, om aan te geven dat de nieuwe "gewenste" situatie bereikt is

Opmerkingen:

  • De GROENE led gaat knipperen op het moment dat het officiële moment van buitenzetten voorbij is. Dat is misschien een optimistische benadering. De node weet (natuurlijk) niet of de vuilcontainer ook daadwerkelijk al geleegd is.
  • Op het moment dat de knop naast de GROENDE led wordt ingedrukt verstuurt de node een "small-container":"inside" approval-message naar de server. Ook die lijkt nog niet zichtbaar in de server-logs

Een corner-case is dat de vuilcontainer naar binnen of buiten moet, maar dat deze nergens te bekennen is ("zoek" is). Deze conditie kan worden aangegeven door na een swipe de knop naast de GELE led te drukken. De GELE led gaat branden en de node verstuurt een "small-container":"lost" approval-message naar de server. Dit bericht zou gebruikt kunnen worden om een alarmconditie in de server te triggeren.

Netwerk

Ethernet address: 8c:4b:14:85:8d:d7 IP address: 192.168.6.92 Logging: MQTT, Telnet, Serial-port 119200/8N1

Electronics

De node is gebaseerd op de NodeStandard-print (versie 0.9)

  • RFID-kaartje
  • Drie ledjes om de "huidige" en "gewenste" positie aan te geven
  • Eén ledje om aan te geven of de node "energized" is
  • Deze ledjes zijn aangesloten op de UEXT-connector van het ESP32 bordje
  • Drie drukknoppen, om aan de "huidige" positie van de vuilcontainer te kunnen aanpassen
  • Deze drukknoppen zijn aangesloten op de Switch1, -2, en -3 van de NodeStandard-print
  • Een 12volt led-lamp, aangesloten op Fet2 van de NodeStandard-print

Source code

https://github.com/MakerSpaceLeiden/TrashNode

De huidige versie van de TrashNode is gecompileerd tegen een fork van de arduino-libs in 'AccessSytem':

git@github.com:dfijma/AccesSystem.git

Op de branch 'trash' van deze repo staat een paar kleine fixes die nodig waren om (met name) de approvals aan de praat te krijgen. Deze wijzingen zouden nog gemerged kunnen worden in de originele repo (git@github.com:MakerSpaceLeiden/AccesSystem.git)