Öppetskylt

From Umeå Hackerspace
Jump to: navigation, search

Idé

Ha en knapp vid ingången för att signalera att spacet är öppet. Den ska även ha lägen för lunch och stängt. Någon slags indikator utanför visar denna status. Bonuspoäng om hemsidan uppdateras m. RSS-stöd samt IRC-bot.

Manöverpanel

Till-från-till brytare med relä-NOR för "lunch" kopplad till lysdioder på kretskort. Fyra kablar (R, Y, G, GND) dras till skylt. Nätaggregat (12V+5V finnes). Kopplingen till PC sker via ex. Arduino (dvs FTDI + AVR). Ev. en RC-krets som automagiskt ställer om till rött om det varit gult för länge (~1h). Montera i låda.

Skylt

Tre samlingar lysdioder (röda, gula, gröna). Plexi-sak som kan hålla papper med information om öppettider och kommande evenemang. Ev. belyst. Solskydd om sommarljus blir ett problem.

Kablage

Dra TP-kabel från panel till skylt. Lysdioder drar inte mycket ström, så det bör räcka.

Mjukvara

Enkelt seriellt protokoll på AVR. Mindre enkla saker på PC.

State-distributionen

Vilken öppetstatus spacet är i anges via vippbrytaren i lokalerna. Signalen läses in av en mikrokontroller ansluten via seriell anslutning (ttyUSB) till en allt-i-allo-dator (pluto) vid nämnda brytare. För att sedan informera omvärlden om vilket öppetstatus spacet är i för närvarande så skickar spacebot@pluto ut nuvarande state på multicast till ff02::1 (ip6-allnodes) och port 11001. Denna broadcast startas genom cron:

@reboot while true; do socat - UDP6-DATAGRAM:[ff02::1]:11001 < "$(cat ~/.opensign_serial_device)" ; sleep 1; done

Broadcasten läses in på datorn som kör spacebot (f.n. främst asbest via IRC-bot) t.ex. genom py3k:

import subprocess
sub = subprocess.Popen(['socat', 'UDP6-RECVFROM:11001,fork', '-'], stdout=subprocess.PIPE)
sub.stdout.readline()

Förutom att alla på det lokala nätverket kan läsa denna state så kan även alla anslutna datorer bråka med denna dataström och kasta in egna states genom t.ex:

yes 0010 | socat - UDP6-DATAGRAM:[ff02::1]:11001

Tidigare har en ssh-anslutning från asbest till pluto skött spacebots inläsning av öppetstatus men nu saknas alltså verifikation av strömmens integritet helt och hållet pga MMN-o som bytte inläsningsmetod.

Framtiden

  • VGA-skärm eller motsvarande med information (ist. för papper)
  • Plingklocka -> XMPP (push notifications)
  • Kaffe-knapp och Makita-knapp