Prüfungsamtprojekt

Zweck

Der Zweck des Prüfungsamtprojektes ist, die Wartenummern, welche die Prüfungsämter vergibt, online verfügbar zu machen. Da die Wartezeiten, bis die eigene Nummer dran ist, sehr hoch waren/sind, wird durch eine Verfügbarkeit online immerhin ein Warten zu eigenen Konditionen möglich. Das Prüfungsamtprojekt erreicht ihr über https://pa.freitagsrunde.org/, Fragen und Hinweise (insb. Ausfälle oder Fehler) zum Prüfungsamtprojekt könnt ihr an schicken.

Umsetzung

Abfilmen der Warteanzeige per Webcam.

Raspberry Pi

  • powered USB-Hub
    • Webcam
  • LAN
  • Webcam nimmt Bilder auf, Tafel wird erkannt und die Nummern mittels OCR bestimmt, welche dann auf den Server gepushed werden.
  • LAN und ein bash-watchdog sorgen nebenbei für eine stabile Verbindung
  • Auf dem Server läuft Django und darauf Features wie Benachrichtigungen.

Stand der Dinge

Changelog 03. Juli 2014

  • Netzwerk:
    • H02 mit Dose ans LAN angeschlossen
  • Kamera:
    • ssocr durch eigene Bilderkennung auf Segmentbasis ersetzt
      • Kompletter Rewrite
      • Wird Anfang nächsten Jahres auf github erscheinen (bis dahin Masterarbeit)
    • ca. 1 Hz, aber viel Last.
    • evtl. auf 0.5 Hz reduzieren
  • Features:
    • Durchschnittliche Nummernabstände hinzugefügt
    • Durchschnittlich 2 Minuten pro Studi


Changelog 10. Januar 2014

Mal wieder was schreiben...

  • Netzwerk:
    • ca. seit September 2013 Netzwerkdosen und tubIT-VPN.
    • ca. seit Dezember 2013 Netzwerkdosen mit eigenem Subnetz.
    • Netzwerk abgeschlossen.
  • Kamera:
    • diverse Bash-Skripte durch ein python-System ersetzt.
    • Erkennung der Tafel mittels TemplateFinding direkt in OpenCV
    • SSOCR für die Nummern aus python heraus (subprocess)
    • Nummernranges der Prüfungsämter bekannt, gegen false Positives
    • Nummernupdates alle ~2sek
    • In Retrospect: RaspberryPi Cam hätte 1080p, weniger Last und brauch keinen externen Strom.
      • Wir haben da oben genug Platz und Strom
    • Kamera abgeschlossen.
  • Features:
    • Django-Seite seit Juli 2013 benutzt.
      • noch über gunicorn
      • Alles auf einer VM (scaled das?)
    • Integrierte Newseinträge der Freitagsrunde und des Prüfungsamtes
    • Öffnungszeiten und Disclamer für das Prüfungamt
    • Benachrichtigungsservice für XMPP, Email und SMS
      • IRC-Bot müsste noch refactored werden für Einsatz (Aufwand vs. Nutzen)
    • Integration des Systems in MoCCha, tub2go und myDESK
    • Der H02 wurde leider übersehen und muss nachträglich hinzugefügt werden
      • Auftrag für Kabellegung Ende Januar
      • Komponentenkauf Mitte Januar
      • Stromverlegung seit Mitte Dezember in Auftrag

Changelog 05. Juni 2013

  • Wlan:
    • Ausfall ist behoben, TUBit hatte gemäß Frequenzbänderregulation die US-Frequenzbänder abgeschaltet, der WLan-Stick war auf US eingestellt.... "iw reg set DE" behebt das.
    • Jedoch noch Ausfälle teilweise und ~20x <5min Disconnects pro Tag.
    • Die Möglichkeiten für kabelbasiertes Internet werden also nochmal sehr genau untersucht (Bauabteilung). Prof. Kao spricht uns seinen Segen aus :)
  • Kamera:
    • tesseract erkannte schon ~40% der Ziffern selbst bei schlechtem Licht.
    • Kurzum wurde eine Logitech C310 HD webcam für 30€ gekauft, um bessere Ergebnisse zu bekommen.
    • tesseract war gut, aber ist auf generelle digits trainiert, würde also training auf unser display erfordern
    • ...oder google nach einer Sieben-Segment OCR Erkennung... Und das OCR funktioniert!
    • ssocr (GPLv3) der TU Kaiserslautern erkennt alle Ziffern und besitzt einige praktische Bildverarbeitungsalgorithmen (teilweise mit imagemagick). Es kann zwar nur eine Zeile Ziffern, aber Teilen des Bildes durch 3 ergibt ja 3 einzelne Zeilen :)
      • Bilderkennung der Tafel an sich auf dem ganzen Bild, um das Bild nach einem Wackeln der Kamera wieder auszurichten, wäre immer noch praktisch.
    • Last auf <0.7 komplett mit HD-Cam und OCR
  • Features:
    • IRC-Bot von Florian in einem Anfall von nächtlichem Prokrastinierens :) Danke!
      • Push-Funktionalität auch noch gleich mit ins Framework gepatcht.
    • pa2 kann also bald zur Hauptseite migriert werden.


Changelog 11. Mai 2013

  • 5Ghz machen Eduroam stabil
    • Grade zur Zeit Ausfall des gesamten 5ghz-Bandes. Evtl CRDA-Länderkonfiguration Schuld
    • Kabel ist somit nicht nötig
  • fswebcam mit crop,greyscale und exec=curl bringen die Last auf ~0,3 runter
    • Kamera wirft jpeg-Fehler? Nicht relevant, aber Error-Meldunge
    • HD-Cam sollte gekauft werden, da besonders nachts der Kontrast zu stark sinkt
  • OCR ist so halb da
    • Code ist da, allerdings sind die Pixel statisch gesetzt. Womit der Code quasi nicht da ist / nicht funktioniert...
  • Befestigung ist geklärt, die Schaltwarte hat uns freundlicherweise Verteilerkästen bereitgestellt, wo das Pi perfekt reinpasst.
    • Danke dafür an Herr Krüger!
  • to_go:
    • OCR
    • Neue Kamera
    • Features
    • permanente Befestigung


Changelog 31. Januar 2013

  • Seit den Wahlen läuft das System nun durch, täglich von einer digitalen Zeitschaltuhr resettet.
    • Restart- und Instabilitätsprobleme gelöst durch ersetzen von streamer durch direktes ffmpeg (avconv). Dadurch keine ständigen Fehler, dadurch keine USB-Treiberfehler und dadurch keine USB-Hub Probleme, die zu reboots führen.
    • Weitere Folge: Neuer USB-Hub noch nicht ausprobiert, Backfeeding dürfte weiterhin bestehen, durch fehlende reboots jedoch umgangen.
  • Last zwischen 1.1 und 0.6. Neue Systemfunktion:
    • avconv (yuv) => bmp. convert (cropen des Bildes) => curl (2x, da sowohl das testsystem, als auch das Produktivsystem versorgen)
    • Seit heute gibt es ausführliche Informationen auf der Webseite, die News des PAs und der Freitagsrunde (gecached) und die Öffnungszeiten. Eine elegante Visualisierung der Nummern ist in Arbeit.
  • 3 Studenten befinden sich in Arbeit an der OCR-Umsetzung (mit jeweils wenig Zeit).
    • Umsetzbarkeit der aktuellen Position ist nun doch gegeben, hier wurden wohl die richtigen Filter gefunden.
  • Umpositionierung an den Pfeiler möglich, Aussprache mit der Leiterin von Abteilung IV B noch nötig, Brandschutz ist geklärt.
  • Dank super stabilem Eduroam in der Top-Zeit von 11-16 Uhr (nicht!) wird auf die TUBit zugegangen, um Ethernet-Kabel dorthin verlegen zu lassen.


Changelog 15. Januar 2013

  • Nach nun 2 Wochen lang fast jeden Tag das System manuell Neustartens befindet sich das RpiPA wieder in der Freitagsrunde, zu extensiven Tests. Zu den Wahlen wird es spätestens mit neuem Hub wieder aufgestellt.
    • Hauptproblem: Die USB-Devices fliegen ständig raus, ein hardware- und ein software-Watchdog müssen permanent Fehler fixen und den Pi neustarten.
    • Der USB-Hub hat wohl ein Problem mit Backfeeding. Zufällig klappt das Powern des Pi mittels USB->Hub Erweiterungskabel, mal nicht. Nur kann das Backfeeding nicht abgestellt werden, nur umgangen durch späteres Reinstecken des USB-Kabels, bei reboots unmöglich. Die Folge sind zufällige Freezes des kompletten Systems, wohl durch zu wenig Strom. => Manueller Reset benötigt.
    • Eventuell wird es auf der Lampe zu heiß, könnte Komponentenfehler verursachen.
  • Last ist immer noch bei grob 1, bei curl+streamer+wpa_supplicant. Das croppen des Bildes auf dem Pi nimmt Netzwerklast, also Last vom USB runter. Wird demnächst integriert.
  • Das neue django-Web Interface ist fertig, temporär noch auf https://pa.freitagsrunde.org/pa2. Es wird die Integrierbarkeit von neuen Features wesentlich erleichtern und "anständiges Web-Frontend in python" > "krudes php, was bash-Skripte called, die Nummern in .txts speichern"
  • Bild ist natürlich immernoch zu klein für OCR. Anstrengungen für eine bessere (nähere) Position sind im Gange, um den Griff zur HD-Webcam (zweifelhaft, ob nicht zu CPU-intensiv) zu vermeiden.


Geschichte

Seit die Situation im Prüfungsamt durch Mitarbeiter*innen-Ausfall und Überarbeitung ins Blickfeld der Freitagsrunde gelangte, wurde nach einer Lösung der teils extremen Wartezeiten und unwirtlichen Wartebedingungen gesucht. Gegen Winter 2012 wurde dann die Idee der Visualisierung der Nummern als Verbesserung der Wartesituation an sich praktisch angegangen. Das erste, funktionierende und mit privater Hardware gestellte Testsystem ging Mitte Dezember 2012 für die Wartetafel des H23 in Betrieb, woraufhin die private Hardware immer weiter durch neue Hardware ersetzt wurde, sodass ein komplett neues System entstand, welches dann auf die verbleibenden zwei Prüfungsamttafeln erweitert werden konnte.