@ -0,0 +1 @@ |
||||
main.pdf |
||||
|
After Width: | Height: | Size: 255 KiB |
|
After Width: | Height: | Size: 2.3 MiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 155 KiB |
|
After Width: | Height: | Size: 687 KiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 414 KiB |
|
After Width: | Height: | Size: 126 KiB |
@ -0,0 +1,137 @@ |
||||
#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 |
||||
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 218 KiB |
|
After Width: | Height: | Size: 264 KiB |
|
After Width: | Height: | Size: 521 KiB |
|
After Width: | Height: | Size: 352 KiB |
|
After Width: | Height: | Size: 51 KiB |