Skip to content
Snippets Groups Projects
Armin Co's avatar
Armin Co authored
72386e11
History

Smart-Grid-Modell (SGM)

Voraussetzungen und Abhängigkeiten

Dieses Repository https://gitlab.cvh-server.de/aco/smart-grid-modell

Darin werden die Bibliotheken spdlog für das Loggen von Benachrichtigungen und 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.

Die Git-Submodules müssen vor dem kompilieren mit git submodule init && git submodule update heruntergeladen werden. Alternativ kann beim erstmaligen Clonen des Repositories die Option --recurse-submodules mir übergeben werden.

Für die vollständige Erzeugung aller Bestandteile der FreeOpcUa Bibliothek (nicht notwendig) werden noch die folgenden Pakete benötigt.

Weitere, wenn diese Pakete auf Raspbian nicht zur Verfügung stehen, dann kann TLS deaktiviert werden:

  • libmbedx509-0
  • libmbedcrypto1
  • 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.

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 make kompiliert werden. 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.

Ausführen

Mit dem beigelegten Skript start_server.sh kann der OPC UA Server einfach gestartet werden. Beendet werden kann der Server dann mit dem Drücken der Taste q. 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.

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.

Der angelegte Benuzter auf dem Raspberry Pi ist: "pi" das zugehörige Passwort ist ebenfalls "pi"

So kann man sich zum Beispiel per ssh mit dem Pi verbinden.