projects:spacemap

SpaceMap

Het verbindende element in Hackerspace TDvenlo gerealiseerd door Ron Theelen.

De SpaceMap is een landkaart waarop wordt weergegeven welke hackerspaces er in Nederland open of dicht zijn. De kaart blijft actueel door de status van elke hackerspace regelmatig via WiFi op te vragen.

In de TDgram is een stukje over de SpaceMap te lezen: TDgram (In de toekomst ergens...)

Op dit moment wordt er van 13 hackerspaces de status op de SpaceMap weergegeven:

# Hackerspace
0 Frack
1 TkkrLab
2 Hack42
3 Bitlair
4 TechInc
5 RevSpace
6 Pixelbar
7 RandomData
8 NURDspace
9 Hackerspace Nijmegen
10 Hackalot
11 TDvenlo
12 Ackspace

Om een hackerspace aan de kaart toe te voegen moet deze in de firmware toegevoegd worden, samen met een nieuwe LED op de landkaart. SpaceAPI urls worden van de SpaceAPI directory opgehaald.

Beschrijving Onderdeel
Microprocessor Heltec WiFi Kit 32 (ESP32)
Scherm P3 smd RGB 32×64 led matrix
Leds op kaart WS2812 8mm led pixels
MP3 module MP3-module serieel
Speakers Speakerset 8Ω 5W WS-14595
Audio versterker Adafruit 2x10W (aparte voeding)
Level shifter TXS0108E module
Voeding1 Meanwell RS-25-5 (5V 5A)
Voeding2 (Audio) Stekkervoeding 12V 1A
Poster Posterpoint 50x70cm Nederland
Wissellijst 50x70cm aluminium frame
Hout Vuren balken, MDF platen

Hiernaast is het achteraanzicht van de SpaceMap te zien toen het houtwerk bijna klaar was. Hiervoor zijn geen 3D/cad tekeningen gemaakt en is er gewoon gezaagd en gevijld totdat alles op zijn plek viel.

Het scherm van de SpaceMap is een RGB led matrix van 64×32 pixels. Deze panelen worden normaal gesproken gebruikt om grote videoschermen te maken. Gelukkig zijn ze ook met een ESP8266 of ESP32 vrij gemakkelijk aan te sturen. Het enige nadeel is dat deze schermen actief aangestuurd moeten worden omdat de leds met shiftregisters aan worden gestuurd. Dit betekend dat de ESP rij voor rij de leds moet afgaan en de gewenste kleuren inschakelt. Dit gebeurt zo snel dat het met het oog niet te zien is. Deze manier van aansturen heet multiplexen.

  • Resolutie: 64×32 leds
  • Pixelafstand: 3mm (tussen middelpunten)
  • Kleuren: Rood, groen, blauw
  • Voeding: 5V 5A (2A is te weinig)
  • Aanstuurwijze: Actief multiplexen (1/16 scan)
  • Speelt geluiden af wanneer een hackerspace open of dicht gaat.
  • De geluiden bevinden zich op een SD kaart die in het voedingscompartiment gevonden kan worden. Deze steekt door een kleine gleuf in het hout.
  • De geluidsuitgang van de MP3 module wordt versterkt met een aparte geluidsversterker die met een aparte netvoeding wordt gevoed. Dit is om hem te ontkoppelen van de stoorsignalen die door het aansturen van de led matrix ontstaan.
  • De speakers zitten aan de linker en rechter zijkant van de SpaceMap.

Geprogrammeerd met Arduino.

Link naar de broncode: spacemap_broncode_v1.0.zip

Library Auteur Versie Bron
FastLED Daniel Garcia 3.3.3 Arduino Library Manager
U8g2 oliver 2.25.10 Arduino Library Manager
PxMatrix Dominic Buchtaller 1.7.0 Arduino Library Manager
ArduinoJson Benoit Blancho 6.14.1 Arduino Library Manager
ESP_WiFiManager khoih-prog ??? https://github.com/khoih-prog/ESP_WiFiManager
Board Auteur Versie Board Manager URL
esp32 Espressif Systems 1.0.4 https://dl.espressif.com/dl/package_esp32_index.json
Core Prio Taak Beschrijving
0 2 task_updateLEDS Aansturen van leds op landkaart
0 2 task_drawDisplay Naar de buffer van de led matrix schrijven
1 2 task_displayUpdater Aansturen van de led matrix (multiplexen)
0 0 task_manageWifi Wifi gerelateerde taken uitvoeren

Afwisselende schermen
De SpaceMap heeft een scherm waarop drie verschillende schermen worden afgewisseld. Dit gaat volgens een cyclus die zich elke 5 minuten herhaald. De drie schermen A, B en C worden volgens het tijdschema afgewisseld dat in de tabel is te zien.

Scherm A Scherm B Scherm C
Scherm A = Hackerspace namen met status en statistieken.
Scherm B = Voorbijscrollende namen gekleurd volgens status.
Scherm C = Grafiek die de geschiedenis van het aantal open hackerspaces weergeeft.

Schermen getriggerd door gebeurtenis
Naast de drie afwisselende schermen zijn er nog drie andere schermen, D, E en F, die getriggerd worden met een gebeurtenis.

Scherm D Scherm E Scherm F
Actief bij verbinden met netwerk Activatie door statusverandering Activatie door toetscombinatie
Scherm D = Verbinden met het netwerk.
Scherm E = Notificatie wanneer een hackerspace van status veranderd.
Scherm F = Menu met instelling geactiveerd door een toetscombinatie.

De schermen A t/m F worden in de komende hoofdstukken verder uitgelegd.

Knopjes
Aan de zijkant van het scherm zitten 4 knopjes die per scherm een andere functie hebben. De functie per scherm wordt hieronder in een tabel weergegeven. 1 is het bovenste knopje en 4 de onderste. Scherm E wordt geactiveerd door twee knoppen tegenlijkertijd ingedrukt te houden.

Knop Scherm A Scherm B Scherm C Scherm D Scherm E Scherm F
1 Volgende space Scroll naar links Omhoog
2 Vorige space Scroll naar rechts Omlaag
3 Kiezen
4 Rouleren tussen scherm A, B en C Terug

Weergave van de status van hackerspaces
Op scherm A wordt de naam en status van elke hackerspace een voor een weergegeven. Op regel 2 staat de naam van de hackerspace in wit met daaronder de status in de bijbehorende kleur. Op de onderste regel wordt weergegeven hoeveel hackerspaces er open (groen) en dicht (rood) zijn. Wanneer de status van een of meerdere hackerspaces onbekend zijn zal dit met een extra getal weergegeven worden dat wit is gekleurd.

Knipperende led op de kaart
Van de hackerspace die op het scherm wordt weergegeven zal er op de landkaart een led gaan knipperen die aangeeft waar deze zicht bevindt.

Led balkje op het scherm
In de rechter onderhoek staat een balkje met leds die elk met kleur de status van een hackerspace weergeven. Aan de linkerzijde van het balkje geeft een witte led aan welke hackerspace er op dat moment op het scherm weergegeven wordt. Aan de rechterzijde geeft een blauwe led aan waar op dat moment de status van opgehaald wordt.

Bij dit scherm komen de namen van alle hackerspaces voorbij gescrold. De namen zijn verdeeld over 3 regels en geven met kleur de status van de hackerspaces weer. (Rood = dicht, groen = open)

Een naam verschijnt telkens op een andere regel
Een leuk feitje is dat elke naam telkens op een andere regel verschijnt. Dit komt doordat er in totaal 13 hackerspaces worden weergegeven op drie regels. Als 13 hackerspaces over 3 regels worden verdeeld moet je afgerond 15 namen voorbij laten komen. Op deze manier ontstaan er twee lege plekken. Om deze lege plekken te voorkomen worden de namen na elke ronde aangeschoven.

Hoeveel hackerspaces zijn er open geweest?
Op dit scherm wordt met een grafiek weergegeven hoeveel hackerspaces er de laatste 5 uur en 20 minuten open, dicht, en onbekend zijn geweest. Dit wordt elke 5 minuten opgeslagen in het flashgeheugen van de ESP32 met een maximaal geheugen van 64 samples. Deze 64 samples worden op het scherm als grafiek weergegeven. Aan de rechterkant verschijnen de nieuwste samples en schuiven elke keer door naar links. Onderin wordt in een tijdschaal de hele uren met getallen en lange streepjes weergegeven.

Gestapelde grafiek
De status wordt weergegeven in gestapelde grafiek. Dat betekent dat het aantal hackerspaces die open zijn met de onderste groene ledjes wordt aagegeven. Daar bovenop wordt het aantal gesloten hackerspaces met rode ledjes gestapeld. Als laatste worden helemaal bovenaan het aantal hackerspaces waarvan de status onbekend is met witte leds aangegeven. Het totale aantal ledjes in de stapel komt overeen met het totale aantal hackerspaces.

Dit scherm wordt getoond wanneer de SpaceMap verbinding aan het maken is met het netwerk. Wanneer er voor de eerste keer verbinding wordt gemaakt (bij het opstarten) zal er een geluid klinken. De scrollende witte tekst laat zien met welk netwerk er verbinding wordt gemaakt. Deze tekst wordt vergezeld door een mooie regenboogkleurige golf.

Visueel
Wanneer een hackerspace van status veranderd wordt dit visueel met een notificatie weergegeven. De naam van de desbetreffende hackerspace wordt in het wit op het scherm weergegeven met daaronder de nieuwe status in de bijbehorende kleur. In de zelfde kleur verschijnt er een kader met strepend die om het scherm heen cirkelen. Op de kaart zal ook een led gaan knipperen om aan te geven waar deze hackerspace zich bevindt.

Geluid
Naast visueel wordt er ook met geluid aangegeven dat er een hackerspace van status is veranderd. Dit geluid bestaat uit twee tonen. Deze twee tonen zijn oplopend wanneer de nieuwe status open is. Waneer de nieuwe status gesloten is, zullen de tonen aflopend zijn.

Via het menu kun je meerdere dingen van de SpaceMap instellen. Je komt in het menu door twee aangrenzende knoppen tegenlijkertijd ingedrukt te houden. Deze bevinden zich aan de linkerzijde van het scherm. Wanneer je je in het menu bevindt geven de witte pijlen aan wat de functie van de knopjes zijn.

Klok verstellen
Met het menu-item “Tijd instelling” kun je de klok bijstellen wanneer zomer of wintertijd ingaat. De klok synchroniseert via het netwerk, maar past zich niet automatisch aan aan de zomer- of wintertijd.

Wifi-netwerk en IP-adres
Met het menu-item “Wifi info” is in te zien met welk wifi-netwerk de SpaceMap is verbonden. Hier wordt ook het IP-adres weergegeven waarmee je toegang kunt verkrijgen tot de lokale webpagina van de SpaceMap. Op deze webpagina is de gedetailleerde status van elke hackerspace te zien.

Wifi-netwerk instellen
Met het menu-item “Wifi instellen” kun je het wifi-netwerk wijzigen of instellen waarmee de SpaceMap verbinding maakt. Dit gaat via een wifi portal. Dit wilt zeggen dat de SpaceMap zelf een netwerk opzet waarmee je met jouw telefoon verbinding mee maakt. Jouw telefoon zal een melding tonen dat je bij dit netwerk in moet loggen. Als je hierop drukt kom je op een webpagina waar je het wifi-netwerk in kunt stellen.

Hieronder zijn alle menu-items in een tabel weergegeven:

Menu-item Beschrijving
1Tijd instelling Het verstellen van de klok
2Audio volume Het volume van geluiden aanpassen
3Led helderheid Helderheid van de leds op de kaart aanpassen
4Matrix helderheid Helderheid van het scherm aanpassen
5Wifi info Geeft het IP adres van de SpaceMap weer
6Wifi instellen Activatie van de Wifi protal om het netwerk in te stellen
7Bedrijfsuren Weergave van het aantal uren dat de SpaceMap aan heeft gestaan
8Reset alle instellingenReset van de instellingen: 1,2,3 en 4
  • projects/spacemap.txt
  • Last modified: 2020/10/30 21:18
  • by ron