@ -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 |