Raspi

Aus
Wechseln zu: Navigation, Suche
RaspberryPI B+ Pinout.jpg

Wir verwenden den Kleincomputer Raspberry Pi (genannt Raspi) für verschiedene Zwecke. Er hat einige Vorteile:

  • kleine Bauform (Scheckkartengröße)
  • geringer Stromverbrauch bei 5V
  • preiswert
  • Linux-System
  • WLAN- und Bluetooth-Module auf der Karte
  • 24 digitale I/Os zur Hardwareansteuerung

Wir wollen für jeden Bahnhof einen Raspi verwenden, zudem noch einen für die zentrale Datenbank und einen optionalen als Show-System mit einem großen Bildschirm. Zur Übersicht hier eine Liste der verwendeten WLAN Adressen.


Um die Raspis alle gleich aufzusetzen und damit kompatibel zu unserer Software zu sein, sollten die folgenen Informationen beachtet werden (Stand Jan. 2019):

Bei meinen Bestellungen (Nov.2017) wurde das Betriebssystem NOOBS mit dem Release Jessie ausgeliefert. Ich fand im Netz eine Anleitung, wie ich ein Qt-Programm mit Bluetooth auf dem Raspberry installieren konnte. Die zusätzlichen Pakete sind hier unten gelistet. Leider klappte das nicht richtig und ich habe von raspbian.org das aktuelle Release (Stretch) geholt und auf meine SD-Karte gespielt. Dann klappten auch alle Installationen.

Wenn ihr ein System habt, schaut bitte mit cat /etc/os-release nach, welches Release ihr habt. Die Releases sind die Grundversionen des Betriebssystems. Man kann zwar von einem zum nächsten Release im laufenden System updaten, das ist jedoch mit sehr viel Arbeit verbunden und kann beim Raspberry schon einige Stunden dauern. Leider hat das bei mir nicht funktioniert, wahrscheinlich habe ich bei den vielen Tests vorher die Paketverwaltung durcheinander gebracht.

Nachdem das Release aufgespielt und gestartet wurde, sollte man noch die Landeseinstellungen (Sprache, Uhrzeit, Tastaturlayout) sowie die Netzwerkverbindungen (WLAN, VNC) einstellen. Zudem sollte mittels sudo raspi-config die SD-Karte komplett nutzbar gemacht werden. Bedenkt bitte, dass nach dem ersten Aufspielen des Systems nur mit Monitor, Maus, Tastatur gearbeitet werden kann. Nach diesen Vorarbeiten können die folgenden Pakete installiert werden (im Terminal eintippen, ohne den Kommentar in Klammern bitte - und alle abhängigen Pakete installieren lassen):

  • sudo apt-get update (um die Paketverwaltung zu aktualisieren)
  • sudo apt-get install qtcreator (die Entwicklungsumgebung)
  • sudo apt-get install qt5-qmake (Werkzeug zur Projekterstellung)
  • sudo apt-get install qt5-default (macht die Qt5 Bibliotheken zum Standard)
  • sudo apt-get install libbluedevil2 (Bluetooth-Bibliotheken und Tools für Qt)
  • sudo apt-get install libkf5bluezqt-dev (Ergänzungen für Bluetooth zur Entwicklungsumgebung für Qt)
  • sudo apt-get install bluetooth (Basisfunktionen der Bluetooth-Schnittstelle)
  • sudo apt-get install qtconnectivity5-dev (Ergänzungen für Schnittstellen zur Entwicklungsumgebung für Qt)

Ab jetzt können die Softwarepakete von der EAKJ-Webseite genutzt werden. Diese Pakete sind allerdings im geschützten Bereich der Webseite.

Wem das eintippen der obigen Befehle zu mühsam ist, kann sich im geschützten Bereich ein Script herunterladen, mittels chmod +x qtinstall.sh ausführbar machen und dann starten.


Anleitung, um ein Programm nach dem booten des Raspberrys automatisch starten zu lassen:

Es gibt im Netz ein schönes Tutorial, in dem alle Möglichkeiten aufgelistet sind. Hier beschreibe ich die einfache Variante, die für uns in Frage kommt. Da unser Kommunikationsprogramm eine grafische Oberfläche benötigt, muss zuerst das komplette System hochgefahren sein, bevor unser Programm gestartet wird.

Dazu wird eine Datei an einer bestimmten Stelle angelegt, der Name ist frei wählbar:

$ mkdir ~/.config/autostart (Das Anlegen des Verzeichnisses ist beim ersten Mal nötig)
$ nano ~/.config/autostart/Modulsteuerung.desktop

Als Inhalt der Datei wird folgendes geschrieben:

Dateiinhalt zeilenweise Bemerkungen
[Desktop Entry] Kennung für das System.
Name=Autostart-Script Der Name ist frei wählbar.
Comment=Kommentar Ein Kommentar kann, muss aber nicht sein.
Type=Application Legt den Typ des Programms fest.
Exec=/home/pi/Modulsteuerung/modulpi/modulpi Hier kommt der absolute Pfad und Filename des Programms hin.
Terminal=false Hier ein true und es wird das Programm im Terminal ausgeführt. Macht für uns wenig Sinn.