You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
3.3 KiB
137 lines
3.3 KiB
#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
|
|
|