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.