Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
S
Smart Grid Modell
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Armin Co
Smart Grid Modell
Commits
4a37a70e
Commit
4a37a70e
authored
4 years ago
by
Armin Co
Browse files
Options
Downloads
Patches
Plain Diff
Readme mit Installationsanleitung
parent
37e3439d
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
Readme.md
+35
-21
35 additions, 21 deletions
Readme.md
with
35 additions
and
21 deletions
Readme.md
+
35
−
21
View file @
4a37a70e
# 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
)
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.
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.
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.
`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, we
r
nn 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
-
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.
# Durchgeführte Arbeiten
*
Systemupdate des Raspberry Pi
*
updaten der WiringPi Library auf den aktuellen Stand 2.32 -> 2.60 aufgrund von Kompatibilitätsproblemen
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.
#
Notwendige Änderung
en
#
#
Ausführ
en
*
Neues Build-System mit aktuellem Stand (CMake & C++)
*
Aufteilen in eine SGM-Runnable mit API für GUI, CLI oder OPC UA.
*
Überarbeiten der Simulationsparameter
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.
# 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
-
Adresse des Lux-Sensors: 0x23
\ No newline at end of file
So kann man sich zum Beispiel per ssh mit dem Pi verbinden.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment