diff --git a/.gitignore b/.gitignore index aa9c4655930340c711b4b8906cc3ea13190a3976..63dd15e1b11768ce2d2e6add4b9d4841736ada43 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 0f7e2b50ef6c306efba02377ebda2a7379665e47..c556afc818ab4a53a8a0bbcba3fd172ee7217d7b 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 d9cab9a66e625321d26cc01133868a0e4e3f7e76..ac0f941e98ea40f0eeb97ba1f4de9514de5cb9f8 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