4. Werkzeuge

Dieser Abschnitt beschreibt ein paar Werkzeuge, die praktisch sind beim Erstellen von Berichten.

  • Inkscape - Zeichen von Vektordiagramme

Die nächsten zwei Programme sind eher für Berichte von Technischen Informatikern und Elektrotechnikern gedacht:

  • Fritzing - Dokumentation von Steckbrett-Aufbauten

  • KiCad - Anfertigen von professionellen Schaltplänen und Platinen

Die Skriptsprache Python https://www.python.org eignet sich für fast beliebige Programmieraufgaben. So ist z.B. auch Sphinx in Python geschrieben. Manchmal muss man Plots in den Bericht aufnehmen, diese kann man in sehr hoher Qualität mit dem Matplotlib Framework https://matplotlib.org erzeugen, das ebenfalls in Python geschrieben wurde. Das Ansteuern der seriellen Schnittstelle („UART“) ist wieder eine Aufgabe die eher TI’ler haben, auch das ist in Python mit PySerial möglich.

Den Abschluss macht eine kurze Anleitung wie man die mit Sphinx erzeugte HTML-Ausgabe auf das WWW Home des Rechenzentrum kopieren kann.

4.1. Inkscape

Inkscape ist ein professionelles vektorielles Zeichenprogramm für Linux, Windows und MAC-OSX.

_images/inkscape-logo.png

https://inkscape.org

Auf Ihrem Linux-Rechner heisst das Programm inkscape und ist sicher schon installiert. Falls nicht, dann installieren Sie es nach mit:

sudo apt install inkscape

Anmerkung: Wer ein gutes pixelorientiertes Zeichenprogramm sucht, der sollte sich gimp (GNU Image Manipulation Program) ansehen. Die Homepage ist https://www.gimp.org.

4.2. Fritzing

_images/fritzing-logo.png

Fritzing, https://fritzing.org

Fritzing ist ein einfach zu verstehendes Schaltplan-Programm, das die Elektronik auch einem nicht-professionellen Publikum näher bringen möchte. Es wird häufig bei Arduino-Projekten verwendet. Man kann es jedoch für beliebige Projekte verwenden, natürlich auch für die Dokumentation des DVA Praktikums.

Der folgende „Steckplan“ wurde mit Fritzing gezeichnet.

_images/test_bb.png

Abb. 4.1.1 Ein Fritzing Beispiel.

Auf Ihrem Linux Rechner sollte es folgende Pakete geben:

fritzing - Easy-to-use electronic design software
fritzing-data - Easy-to-use electronic design software (data files)
fritzing-parts - Easy-to-use electronic design software (parts files)

Es genügt, wenn man fritzing mit

sudo apt install fritzing

installiert.

4.3. Schaltpläne, Platinen

_images/kicad-logo.png

Abb. 4.2.1 KiCad, https://www.kicad.org

KiCad ist ein professionelles Schaltplan- und Platinenzeichenprogramm, das auch von grossen Firmen und Institutionen verwendet wird. Es steht unter der GPL V3 Lizenz. Folgende Pakete sind auf Ihrem Linux-Rechner bereit zur Installation:

$ apt-cache search kicad
kicad - Electronic schematic and PCB design software
kicad-common - Common files used by kicad
kicad-doc-de - Kicad help files (German)
... (ausserdem help files fuer viele andere Sprachen)

4.4. Python

_images/python-logo-master-v3-TM.png

Abb. 4.2.2 Python, https://www.python.org

Ich empfehle die Programmiersprache Python für alle Aufgaben, bei denen schnell Ergebnisse entstehen müssen. Python ist eine dynamische high-level Programmiersprache, die sich für fast alle Gebiete der Programmierung eignet (ausser Systemprogrammierung).

Für Technische Informatiker ist die Kombination aus C und Python unschlagbar. C eignet sich für alle Aufgaben der Systemprogrammierung und Mikrocontrollerprogrammierung und die Sprache Python eignet sich für alle restlichen rapid-prototyping Aufgaben.

Typische Aufgaben, die in C gelöst werden:

  • Betriebssystementwicklung

  • Treiberentwicklung

  • Mikrocontrollerprogrammierung

Typische Aufgaben, die in Python gelöst werden:

  • GUI Entwicklung

  • Web-Programmierung

  • Automatisierungsaufgaben

  • Analyse grosser Datenmengen

  • Zugriff auf Datenbanken

  • Robotik

  • Numerische Berechnungen (mit Numpy https://www.numpy.org)

  • Ersatz von Matlab (mit SciPy https://www.scipy.org)

  • Softwaretest

4.5. Diagramme

Zum Zeichnen von Diagrammen empfehle ich die Matplotlib Bibliothek. Man verwendet sie in der Sprache Python.

_images/matplotlib-logo.png

Abb. 4.3.1 Matplotlib, https://matplotlib.org

In der „Gallery“ findet man viele Anwendungsbeispiele mit Python-Code:

https://matplotlib.org/stable/gallery/index.html

4.6. Serielle Schnittstelle

Oft muss man im Labor mit dem PC externe Hardware ansteuern. Eine einfache und deswegen oft verwendete Kommunikationsschnittstelle nach Aussen ist die serielle Schnittstelle. Ältere Rechner hatten dazu noch eine oder mehrere 9-polige „Sub-D“ Stecker eingebaut. Bei neueren Rechner und Notebooks gibt es diese meist nicht mehr, sondern man verwendet USB-zu-Seriell Adapter, die man an die USB Schnittstelle steckt.

Die „pyserial“ Bibliothek eignet sich hervorragend, um die serielle Schnittstelle unabhängig vom Betriebssystem (Windows, Linux, MAC-OSX) in der Programmiersprache Python anzusteuern.

_images/pyserial.png

Abb. 4.4.1 pyserial, https://pythonhosted.org/pyserial (im Logo sieht man noch den früher oft verwendeten 9-poligen SubD Steckverbinder).

4.7. Auf Webspace übertragen

In diesem Abschnitt geht es darum, wie man die mit Sphinx erzeugten HTML Seiten auf einen Webserver überträgt, so dass man auf den Text von aussen zugreifen kann.

Alle Studierenden und MitarbeiterInnen der Hochschule Augsburg haben einen Web Space im Rechenzentrum. Wenn man die RZ Kennung user123 hat, dann lautet der URL zum Aufruf der eigenen Seite

https://www.hs-augsburg.de/~user123

Die Seiten werden auf dem RZ Server login.rz.hs-augsburg.de gespeichert. Man kann sich auf dem Server einloggen mit dem secure shell Kommando ssh:

ssh user123@login.rz.hs-augsburg.de

Nachdem man eingeloggt ist, findet man das Web-Verzeichnis unter /www/user123/. Wenn man einen mit Sphinx erzeugten Bericht auf den Web-Space ablegen möchte, dann legt man erst auf dem RZ Server ein Verzeichnis an, z.B. DVA-Bericht:

mkdir /www/user123/dva-bericht/

Danach geht man wieder auf den lokalen Rechner, auf dem der Sphinx Bericht ist. Jetzt kann man den ganzen HTML Ausgabebaum mit secure copy (scp) kopieren:

scp -r _build/html/* user123@login.rz.hs-augsburg.de:/www/user123/dva-bericht

Damit wurde das gesamte HTML Verzeichnis auf den Server übertragen. Unter dem Link

kann man den Text nun sehen.

Alternativ kann man auch das rsync Werkzeug verwenden:

rsync -zav --delete _build/html/ user123@login.rz.hs-augsburg.de:/www/user123/dva-bericht/

Sie können auch einen Passwortschutz einrichten. Man legt dazu die Datei .htaccess an unter:

/var/www/user123/.htpasswd

Der folgende Text beschreibt, welche Möglichkeiten man zum Passwortschutz hat:

https://www.hs-augsburg.de/Binaries/Binary25048/Beschreibung-eigeneHomepage.pdf

Diesen Demobericht finden Sie im HTML Format an der folgenden Stelle in meinem RZ WWW Home:

Ausserdem ist er noch unter folgendem Link auf einem anderen Server zu finden: