From 6de2d219456800a71e97c19ad8636249d62cf07b Mon Sep 17 00:00:00 2001 From: Bernhard Heinloth <heinloth@cs.fau.de> Date: Wed, 6 Apr 2022 14:01:20 +0200 Subject: [PATCH] Installationshinweise zum Webfrontend --- .gitignore | 2 +- INSTALL.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- 3 files changed, 46 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index aa9c465..63dd15e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,5 @@ firmware/build/ firmware/esp-idf/ firmware/xtensa-esp32-elf/ firmware/main/config.h -server/config.php +server/www/config.php sketch_timecube/config.h diff --git a/INSTALL.md b/INSTALL.md index 0f7e2b5..c556afc 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -109,3 +109,47 @@ Auch hier muss zuerst eine Konfiguration (im Beispiel `config.h` im aktuellen Ve wozu die Vorlage im Repo unter `firmware/main/example-config.h` verwendet werden kann. docker run --rm -it -v $(pwd)/config.h:/timecube/firmware/main/config.h --device=/dev/ttyUSB0 inf4/timecube + + + +Webfrontend +=========== + +Der Zeitwürfel läd die Daten regelmäßig über das WLAN an das Frontend. +Dafür wird ein Webserver mit PHP und einer PostgreSQL Datenbank benötigt (kann aber leicht zu einer anderen Datenbank geändert werden, siehe `server/www/index.php:18`). +Die Zugangsdaten werden in `server/www/config.php` konfiguriert, ein Beispiel ist unter `server/example-config.php` zu finden. + + +Lokal +----- + +Das Frontend des Zeitwürfels kann einfach in eine bestehende Serverinfrastruktur integriert werden. + +### Webserver + +Es muss sichergestellt werden, dass die Submodule im Repo geladen sind: + + git submodule init + git submodule update + +Danach muss lediglich noch das Verzeichnis `server/www/` über die Webserverkonfiguration zugänglich gemacht werden. + + +### Datenbank + +Eine neue Datenbank muss erstellt werden, das Schema ist unter `server/database.sql` zu finden. +Um neue Benutzer anzulegen, wird die MAC Adresse des Würfels benötigt (kann z.B. über eine serielle Konsole beim verbundenen Zeitwürfel ausgelesen werden), die Datei `server/insert_new_user.sql` zeigt den dafür notwendigen SQL Query. + + +Docker +------ + +Alternativ kann das ganze Webfrontend (Webserver und Datenbank) auch in Docker gestartet werden, dazu gibt es mit `server/docker_compose.yml` eine vorgegeben Spezifikation, welche einfach gestartet werden kann: + + cd server + docker-compose up -d + +und schon kann über http://localhost/ zugegriffen werden +(für den Beispielbenutzer `chris` einfach http://localhost/chris/ aufrufen) + +Dieser Dienst muss nun noch über das Netzwerk erreichbar sein, die Würfelkonfiguration muss den dazu passenden Host haben. diff --git a/README.md b/README.md index d9cab9a..ac0f941 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Anleitung --------- * [Detaillierte und bebilderte Montageanleitung](MONTAGE.md) - * [Anleitung zum Bauen der Firmware für den Würfel](INSTALL.md) + * [Anleitung zum Bauen der Firmware für den Würfel und die Einrichtung des Webfrontends](INSTALL.md) Lizenz -- GitLab