Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:efi-2023:project-workflow [2024/01/17 11:09] Ivo Blöchligerlehrkraefte:blc:informatik:efi-2023:project-workflow [2024/03/12 06:22] (current) – [Datenbank] Ivo Blöchliger
Line 1: Line 1:
 +====== Bereiche ======
 +===== XML to graphic =====
 +Muss flexibel sein, d.h. es sollen jeweils Rechtecke definiert werden können, wo der Inhalt automatisch eingepasst wird.
 +
 +===== ESP32 =====
 +  * WiFi-Verbindung aufbauen.
 +    * MAC-Adresse und WiFi-SSID anzeigen, wenn Verbindung fehlschlägt. Nach 1,2,4,8,16 min wieder probieren (deep sleep)
 +  * Verbindung zum Server aufnehmen.
 +    * MAC-Adresse und Fehlermeldung anzeigen, wenn Verbindung fehlschlägt. Nach 1,2,4,8,16 min wieder probieren (deep sleep)
 +  * Alle nötige Information mitsenden. Mögliche URL: /anzeige?mac=123456789012&volt=3.97
 +    * MAC-Adresse, Batterie-Zustand, aktuelle Firmware-Version
 +  * Server-Antwort auswerten:
 +    * OTA? (Over the air update) (mit URL, z.B. /static/image-xy.bin)
 +    * Neues Bild? (als URL, z.B. /static/h21/data.bin)
 +    * Schlafenszeit in Sekunden.
 +  * Wenn OTA, neues image laden
 +  * Wenn neues Bild, Bild laden (von URL) und anzeigen
 +  * Schlafen (deep sleep).
 +
 +===== Server =====
 +  * Minimale Flask-App für μC, siehe auch https://flask.palletsprojects.com/en/3.0.x/tutorial/
 +  * Routes /anzeige, static
 +
 +
 +===== Datenbank =====
 +Mit SQLite. Nötige Daten (nicht ablschliessend):
 +  * MAC-Adressen
 +  * Räume mit Zusatzinformationen:
 +    * Name, Verantwortliche Lehrpersonen, Wann Schliessen, Aufstuhlen.
 +  * Log der Batteriespannungen, inkl. Datetime
 +  * Custom-Grafiken: Was und wie lange
 +
 +[[lehrkraefte:blc:informatik:ffprg2-2023:sqlite|Ein bisschen was zu SQLite.]]
 +===== Web-GUI =====
 +Flask-App ausbauen für
 +  * Zuordnung MAC-Zimmer
 +  * Zusatzinfo pro Zimmer
 +  * Log Batterien (und welche Zimmer einen Batteriewechsel benötigen)
 +  * Upload einer eigenen Grafik, evtl. Zusatzgrafiken (dafür nur 3 Tage anzeigen)
 +
 +====== GitHub Workflow ======
 +  * Inspiration: https://dev.to/jorenrui/a-look-into-how-i-manage-my-personal-projects-my-git-github-workflow-1e7h
 +
 +===== Unser Repo =====
 +
 +<code bash>
 +git clone git@github.com:techlabksbg/epaper-zimmerinfo.git
 +</code>
 +
 +===== Unser Workflow =====
 +  * https://github.com/orgs/techlabksbg/projects/1/views/1