3. Prüfung
Mögliche Prüfungsfragen
- Warum wird eine Linie grau, wenn man diese in SVG auf ganzzahligen Koordinaten mit 1 Pixel Breite zeichenet?
- Schriften und Dithering, warum geht das schief? Mögliche Lösungsansätze.
- Python Type-Annotations. Sinn und Nutzen, Einschränkungen.
- Python Pillow: Code erklären, Grundsätzliche Funktionsweise (pixelbasiert, Image und Drawing Contexts). Vorteile für unser Projekt.
- Webcrawling: Prinzipien.
- E-Ink Technologie: Funktionsweise, Vor- und Nachteile.
- Architektur unseres Schulzimmeranzeige-Systems: Was wird wo gespeichert? Welche Komponente initiiert die Kommunikation? Welche Daten werden ausgetauscht?
- Microkontroller mit Display
- Meldet sich nach Aufwachen und Reboot beim Server mit:
- MAC-Adresse (fix pro Chip)
- Firmware Version (überlebt reboot)
- Bild-Hash (wird beim reboot zurückgesetzt, überlebt aber deep sleep)
- Batteriespannung (direktes Messresultat)
- Erhält folgende mögliche Antworten:
update
mit URL, wo die neue Firmware zu finden ist (wenn eine neuere auf dem Server vorhanden ist). Das Update wird ausgeführt und neu gestartet, der Rest wird ignoriert.bild
mit URL, wo das aktuell anzuzeigende Bild zu finden ist. Das Bild wird heruntergeladen und angezeigt.hash
mit HASH vom aktuellen Bild (nur wenn auch ein Bild herunterzuladen ist).sleep
mit Anzahl Sekunden. Die Anzeige schläft so viele Sekunden, bis sie sich wieder beim Server meldet. Das ist der letzte Eintrag einer Antwort.
- «Bild»-Server (auf für «alle» zugänglicher Server)
- Speichert alle MAC-Adressen (automatisches Hinzfügen)
- Speichert alle Batteriezustände als Zeitreihe
- Verwaltung der Zuordnung MAC zu Zimmer
- Verwaltung Zusatz-Information zu Zimmern (z.B. Zimmerverantwortliche, Sonderbilder)
- Empfängt neue XML-Dateien vom «Nesa»-Programm und erzeugt die Stundenplanbilder (mit letztem bekannter Batterie-Ladung)
- «Nesa»-Programm (auf privatem Server)
- Holt sich Zimmerliste und Update-Zeiten vom «Bild»-Server.
- Lädt XML-Dateien vom Montag aktueller Woche plus 14 Tage herunter.
- Schickt neue, veränderte XML-Dateien an «Bild-Server» (min. 1x täglich am Morgen)