Skip to content
Snippets Groups Projects
Commit 4a37a70e authored by Armin Co's avatar Armin Co
Browse files

Readme mit Installationsanleitung

parent 37e3439d
No related branches found
No related tags found
No related merge requests found
# Smart-Grid-Modell (SGM) # Smart-Grid-Modell (SGM)
## Installation
Voraussetzungen und Abhängigkeiten ## Voraussetzungen und Abhängigkeiten
Dieses Repository [https://gitlab.cvh-server.de/aco/smart-grid-modell](https://gitlab.cvh-server.de/aco/smart-grid-modell) Dieses Repository [https://gitlab.cvh-server.de/aco/smart-grid-modell](https://gitlab.cvh-server.de/aco/smart-grid-modell)
Darin werden die Bibliotheken [spdlog](https://github.com/gabime/spdlog) für das Loggen von Benachritigungen und
Darin werden die Bibliotheken [spdlog](https://github.com/gabime/spdlog) für das Loggen von Benachrichtigungen und
[freeopcua](https://github.com/FreeOpcUa/freeopcua) für OPC-UA Server und Client. [freeopcua](https://github.com/FreeOpcUa/freeopcua) für OPC-UA Server und Client.
Für freeopcua werden zusätzliche Pakete benötigt. Für Debian sind diese in der Datei 'debain.soft' aufgelistet. Für freeopcua werden zusätzliche Pakete benötigt. Für Debian sind diese in der Datei 'debain.soft' aufgelistet.
Die Git-Submodules müssen vor dem kompilieren mit Die Git-Submodules müssen vor dem kompilieren mit
'git submodule init && git submodule update' heruntergeladen werden. `git submodule init && git submodule update` heruntergeladen werden.
Alternativ kann beim erstmaligen Clonen des Repositories die Option `--recurse-submodules` mir übergeben werden.
Die derzeitig auf dem Pi installierte Version von Raspbian hat nur Zugriff auf die alte CMake Version 3.6.2
für 'spdlog' wird jedoch 3.10 erwartet.
Für die vollständige Erzeugung aller Bestandteile der FreeOpcUa Bibliothek (nicht notwendig) werden noch die folgenden Pakete benötigt.
Weitere, wernn diese Pakete auf Raspbian nicht zur Verfügung stehen, dann kann TLS deaktiviert werden: Weitere, wenn diese Pakete auf Raspbian nicht zur Verfügung stehen, dann kann TLS deaktiviert werden:
- libmbedx509-0 - libmbedx509-0
- libmbedcrypto1 - libmbedcrypto1
- libmbedtls-dev - libmbedtls-dev
## Installation druchführen
Sind alle Abhängigkeiten für das Projekt installiert kann mit dem bereitgestellten Skript `install.sh`
das gesamte Projekt gebaut werden.
Auf dem Raspberry-Pi dauert das Kompilieren der FreeOpcUa Bibliothek einige Minuten,
die Entwicklungsarbeit kann jedoch ohne Probleme auf einem anderen Linux-Desktop durchfegührt werden und nur zum finalen
ausführen auf dem Pi kompiliert werden.
Während der Installation wird das Verzeichnis `build` angelegt.
Darin finden sich alle generierten Dateien von CMake die zum kompilieren benötigt werden, sowie die
fertig kompilierten Programme.
# Durchgeführte Arbeiten Zum manuellen kompilieren kann in das `build` Verzeichnis gewechselt werden,
mit dem Befehl `cmake ..` wird dann das Makefile generiert und anschließend kann mit dem Befehl
* Systemupdate des Raspberry Pi `make` kompiliert werden.
* updaten der WiringPi Library auf den aktuellen Stand 2.32 -> 2.60 aufgrund von Kompatibilitätsproblemen Auf einem Desktop-Linux Rechner kann mit der Option `-j14` die Anzahl der zu verwenden Threads angegeben werden,
dies beschleunigt den Kompiliervorgang.
Auf dem Raspberry-Pi sollten nicht mehr als zwei Threads gewählt werden, da der Arbeitsspeicher knapp werden kann.
Beim manuellen Kompilieren ist zu beachten, dass die ausführbare Datei unter `build/libs/freeopcua/bin` abgelegt wird.
Diese muss anschließend manuell in das `build` Verzeichnis kopiert werden, damit die Skripte zum ausführen verwendet werden können.
# Notwendige Änderungen ## Ausführen
* Neues Build-System mit aktuellem Stand (CMake & C++) Mit dem beigelegten Skript `start_server.sh` kann der OPC UA Server einfach gestartet werden.
* Aufteilen in eine SGM-Runnable mit API für GUI, CLI oder OPC UA. Beendet werden kann der Server dann mit dem Drücken der Taste `q`.
* Überarbeiten der Simulationsparameter Wird die `smart_grid.exe` manuell ausgeführt, dann werden die Ausgänge des Modells beim Beenden nicht deaktiviert.
Dies kann bei Bedarf mit den Skripten `all_off.sh` oder `windmill_off.sh` nachgeholt werden.
# Tools
- kleines Kommandozeilen-Programm zur manuellen Kommunikation mit dem Arduino (i2c_control.exe) ## Infos
Der OPC UA Server ist unter der lokalen ihm per DHCP zugewiesenen IP-Adresse auf dem Port 4840 zu erreichen.
Alternativ kann auch der Hostname raspberrypi.local verwendet werde.
# Notizen Der angelegte Benuzter auf dem Raspberry Pi ist: "pi"
das zugehörige Passwort ist ebenfalls "pi"
- Adresse des Arduinos: 0x14 So kann man sich zum Beispiel per ssh mit dem Pi verbinden.
- Adresse des Lux-Sensors: 0x23
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment