#import "@preview/diatypst:0.9.0": * #set text(font: "TeX Gyre Adventor") #show: slides.with( title: "SITREP Busanzeiger", subtitle: "Aktueller Stand und Zukunftsausblick", date: "25.01.2026", authors: ("Christian & Pascal"), // Optional (for more see docs at https://mdwm.org/diatypst/) ratio: 16/9, layout: "medium", title-color: blue.darken(30%), toc: true, ) = Recap == Erstkontakt mit den Stadtwerken (Februar 2023) #figure( grid( columns: 2, gutter: 2mm, image("stadtwerke1.PNG", width: auto), image("stadtwerke2.PNG", width: auto), ) ) == Anlieferung der Anzeiger (Oktober 2023) #figure( grid( columns: 2, gutter: 2mm, image("36cbc47d30c88e94.png", width: auto), image("7c3f89ceae88b388.jpg", width: auto), ) ) == Reverse Engineering Versuche #figure( grid( columns: 2, gutter: 2mm, image("06229735a9d36e8c.jpg", width: auto), image("e993d285f6279cdd.jpg", width: auto), ) ) == Durchbruch in Entropia (April 2025) #align(center)[ #image("entropia.jpg", width: auto) ] == Erster Einsatz auf der GPN 2025 #grid( columns: 2, gutter: 15mm, "\n- ESP32\n- Embedded Rust\n- Daten aus Pretalx", image("0c914abfddc86330.png", width: auto), ) == Weitere Einsätze: TDF4 & Cyborx #figure( grid( columns: 2, gutter: 2mm, image("ae85ca78a01cae0d.png", width: auto), image("a05077ee7e192d99.jpg", width: auto), ) ) == Weiterentwicklung {vor/für} de{m/n} 39c3 #grid( columns: 2, gutter: 15mm, "\n- weiterhin ESP32\n- weiterhin embedded Rust\n- Rewrite der Anzeigelogik\n- Neues Datenformat (Bitmap basiert)\n- Binary Blob wird von Server geladen", image("signal-2026-01-23-233504_002.jpeg", width: auto), ) = Entwicklung Hardware & Firmware == Datenformat für Busanzeiger Das Datenformat ist ein Binaerformat, das sequenziell abgelaufen wird. Alle indivduellen Eintraege sind auf 1 Byte ausgerichtet, notfalls wird mit 0-Bits aufgefuellt. Alle Koordinaten fangen links oben bei (0, 0) an. Eine Bitmap ist ein mapping eines binaeren 2D-Bildes auf eine Byte-Sequenz. Um auf das Pixel (x, y) zuzugreifen muss man erst den Pixel-Index n bestimmen ueber n = y \* width + x Ein Bitmap der Breite `width` und Hoehe `height` benoetigt N = (breite \* hoehe + 7) / 8 Bytes an Speicher. $ & nabla integral_x^4 laplace x = 1 + 2 + EE phi Phi phi.alt 1/(1/4) sum_a^n \ & 1+2 $ == Custom PCB #align(center)[ #image("signal-2026-01-25-180621.png", width: auto) ] #align(center)[ #image("signal-2026-01-25-180701.png", width: auto) ] = Entwicklung Webinterface == Busanzeiger Paint #grid( columns: 2, gutter: 15mm, "\n- Zeichnen mit verschiedenen Brushsizes\n- Rudimentäres Textrendering\n- Radieren\n- Importieren von Bildern / GIFs\n- Erstellung von Animationen\n- Erstellung von Binary Blob in JS oder PHP", image("paint_start.PNG", width: auto), ) == Logo import #align(center)[ #image("paint_logo.PNG") ] == Ausblick - System zur Verwaltung - Zeitpläne - Bestehende Slides Bearbeiten - Mehreren Displays Slides zuweisen - Idee: Zeichnen von Bildern auf dem TDF5 - Bild / eine Animation erstellen und absenden übers Webinterface - Einreichungen werden moderiert - Anstößige Inhalte werden entfernt, andernfalls wird es für eine gewisse Zeit angezeigt