Raspberry Pi 5 and LabVIEW

Seit LabVIEW 2021 ist das ehemalig LINX Toolkit unter dem Namen LabVIEW Hoobyist Toolkit verfügbar. Auch für die aktuellste LabVIEW Version 2024 Q1 (32 Bit) ist das LabVIEW Hobbyist Toolkit in der Version 2024 Q1 verfügbar.

Mit diesem kostenfreien Toolkit können Arduino´s, Raspberry Pi´s und BeagleBone´s in Kombination mit LabVIEW verwendet werden. Wir fokussieren uns heute auf die Variante einen Raspberry Pi 5 damit in Betrieb zu nehmen und ein erstes einfaches Programm aufzuspielen. Dieser Post ist ein kleiner Vorgeschmack auf unseren Academic Day in Kapfenberg.

Verwendete Software:

  • NI Package Manager
  • LabVIEW 2024 Q1 32 Bit English
  • LabVIEW Real-Time 2024
  • Hobbyist Toolkit 2024 Q1
  • Raspberry Pi Imager
  • Advanced IP Scanner

Verwendete Hardware:

  • Raspberry Pi 5
  • Dell Notebook mit Windows 11
  • USB C Netzteil für Raspberry Pi 5
  • Micro SD Karte mit 32 GB
  • Micro SD to SD Converter
Raspberry Pi 5

Um die Micro SD Karte für den Raspberry Pi 5 vorzubereiten, verwenden wir den Raspberry Pi Imager.

Raspberry Pi Imager herunterladen, installieren und starten.

Im Raspberry Pi Imager wählen wir nun unser Device aus. In unserem Fall den Raspberry Pi 5. Als Operating System wählen wir Raspberry Pi OS (32 Bit). Weiters wählt ihr euern Storage aus. Typischerweise eine Micro SD Karte. Nach einem Klick auf Next müssen wir nun OS Customisation´s vornehmen. Dazu gehen wir auf Edit Settings. In unserer Demonstration verwenden wir als Standard Usernamen pi und als Passwort raspberry. (bitte verwendet in eurem Fall ein eigenes, starkes Passwort)

Weiters könnt ihr hier zum Beispiel auch schon die Einstellungen für euer WLAN hinterlegen, wenn ihr den Raspberry Pi 5 mit eurem WLAN verbinden möchtet. Alternativ könnt ihr für alle folgenden Schritte auch die Ethernet Schnittstelle verwenden um euren Raspberry Pi 5 mit eurem Netzwerk oder direkt mit eurem Rechner zu verbinden.

Da bei uns der offizielle Weg, den Raspberry Pi 5 über die Option “Target Configuration” vorzubereiten nicht funktioniert hat, mussten wir den weg über SSH gehen und die benötigten Packages per Hand nachinstallieren. Dazu ist es essenziell, SSH am Raspberry Pi 5 zu aktivieren.

Um später per SSH mit dem Raspberry Pi 5 kommunizieren zu können, müsst ihr SSH aktivieren. Enable SSH, entweder nutzt ihr die Authentifizierung mit dem User Passwort, oder ihr generiert und verwendet einen SSH Key.

Abschließend bestätigt Ihr mit YES die customisation settings und beginnt die Micro SD Karte zu beschreiben. Sobald dieser Prozess fertig ist, könnt ihr die Mirco SD Karte in euren Raspberry Pi 5 einbauen.

Versorgt nun euren Raspberry Pi 5 mit einem USB C Netzteil. (stellt sicher, dass euer USB C Netzteil ausreichend Leistung zur Verfügung stellt) Details dazu findet ihr in der Raspberry Pi 5 Dokumentation. Nachdem euer Raspberry Pi 5 hochgefahren ist, könnt ihr seine IP Adresse zum Beispiel mit einem Tool wie Advanced IP Scanner herausfinden.

Wir können nun die SSH Verbindung zum Raspberry Pi 5 testen. Startet dazu ein Terminal (ab Windows 11) oder die Windows Command Line. mit dem Befehlt ssh username@ip-adresse. Also in unserem Fall ssh pi@192.168.178.24. Als Passwort verwenden wir raspberry. Dies haben wir in den customisation settings im Raspberry Pi Imager festgelegt.

Erstelle ein neues leeres LabVIEW Projekt zum Beispiel in einem neuen Arbeitsverzeichnis mit dem Namen LabVIEW-RaspberryPi-5-Demo.

Jetzt installieren wir am Raspberry Pi 5 die nötige Software damit er mit LabVIEW nutzbar wird. Dazu gehen wir in LabVIEW unter Tools auf Hobbyist > Target Configuration. Hier müsst ihr die IP Adresse den Usernamen sowie das Passwort eures Raspberrys eingeben. Danach solltet ihr euch mit Connect verbinden können. Wenn die Verbindung klappt, könnt ihr anschließend unter Installation die benötigte Software aufspielen. (wie links unten im Screenshot zu sehen ist, hat das in unserem Fall nicht geklappt, daher wählen wir den manuellen Workaround, der auch beim Raspberry Pi 4 bereits funktioniert hat.

Hier die Anleitung zum manuellen Workaround. Diese verwendet ihr, sollte der Punkt Target Configuration nicht funktioniert haben.

Externe Anleitung, welche auch bei älteren Versionen zum Einsatz kommt. Diese funktioniert auch mit 2024 und Raspberry Pi 5 in ähnlicher Form.

https://forums.ni.com/t5/Hobbyist-Toolkit/Labview-CE-2020-connects-to-raspberry-but-CE-2021-does-not/m-p/4199478#M1077

Stellt eine SSH Verbindung zu eurem Raspberry Pi 5 her, wie zuvor gezeigt. Zuerst führt ihr sudo apt-get update aus.

Anschließend sudo apt-get upgrade (je nach Internet Verbindung und SD Karten Geschwindigkeit kann diese einige Minuten dauern)

Um mit apt-get die LabVIEW Packages herunterladen zu können, müssen wir die LabVIEW Makerhub Community als trusted source hinzufügen.
sudo sh -c ‘echo “deb [trusted=yes] http://feeds.labviewmakerhub.com/debian/ binary/” >> /etc/apt/sources.list’

Danach führen wir nochmals ein sudo apt-get update aus.

Vorab müssen nun einige Dependencies für das LabVIEW Package installiert werden. Python 3 ist eventuell schon installiert. Dies könnt ihr mit python -V prüfen.

Als nächstes installieren wir das package schroot. (sudo apt-get install -y schroot)

Weiters wird das package debhelper benötigt. (sudo apt-get install -y debhelper)

Nun sollten alle Dependencies installiert sein. Als nächstes können wir uns das LabVIEW Package herunterladen. In unserem fall die Version lvrt24-schroot_24.1.0-2.deb.

Wechselt vorher mit dem Befehl cd Downloads in den Download Ordner eures Raspberrys.

Mit dem Befehl apt-get download lvrt24-schroot:armhf wird das Package heruntergeladen. Unter folgendem Link könnt ihr überprüfen, welche Package Versionen verfügbar sind. http://feeds.labviewmakerhub.com/debian/binary/

Nach dem herunterladen, könnt ihr euer package im Downloads Ordner sehen. Gebt dazu den Befehl ls ein.

Nun installieren wir das LabVIEW Package mit dem Befehl sudo dpkg -i lvrt24-schroot_24.1.0-2_armhf.deb

Nachdem alles erfolgreich installiert ist, sollte der LabVIEW Service installiert und aktiv sein. Damit ist es nun möglich eine Verbindung vom LabVIEW Projekte zum Rasprberry Pi 5 herzustellen. Ob der Service läuft könnt ihr mit dem Befehl sudo systemctl status labview.service testen.

Öffnen jetzt euer zuvor erstelles LabVIEW Projekt und bindet euren Raspberry Pi 5 in das Projekt ein. Dazu Rechtsklick auf das Projekt > New > Targets and Devices…

Im Abschnitt LINX klickt ihr auf das + Icon. Hier sollte euer Raspberry Pi 5 erscheinen. Wählt diesen aus und klickt auf OK.

Ob die Verbindung klappt, könnt mir mit einem Rechtsklick auf den Raspberry und Connect überprüfen.

Nach erfolgreicher Verbindung sollte es so aussehen.

Nach dem Verbinden erstellen wir ein neues VI, welches auf den Raspberry Pi 5 hinuntergespielt und ausgeführt wird.

Rechtsklick auf den Raspberry Pi 5 im LabVIEW Projekt > New > VI. Mit STRG+S oder File > Save speichern wir das neue VI im Projekt Ordner ab. Als Namen haben wir RT Main.vi verwendet. Als einfaches Beispiel senden wir mit dem System Exec.vi den date befehl an die Linux shell als Rückgabe erhalten wir als String das aktuelle Datum und die Uhrzeit des Raspberry Pi´s.

Generell könnt ihr nun den Raspberry PI 5 als eigenständiges lauffähiges System mit Hilfe von LabVIEW Programmieren.

Hier noch eine Auflistung der Themen, die wir erfolgreich mit LabVIEW am Raspberry Pi ausprobiert haben. (Hinweis, diese Tests wurden auf einem Raspberrry PI 4 durchgeführt)

Dinge, die wir ausprobiert haben.

  • Deployment von RT VIs auf dem Raspberry. Temporär, Debuggen wie gewohnt möglich.
  • Erstellen von rtEXE und als Startup für Raspberry konfigurieren
  • WebService im LabVIEW Projekt erstellt und am Raspberry deployed (Integration des WebService in die rtEXE ist möglich)
    • Somit startet der WebServer nach Neustart des Targets mit der rtEXE
  • Erstellung eines schönen Web UIs mit Hilfe des G-Web Development Tools
    • Dieses User Interface wird dann über den WebService am Raspberry gehostet
    • Andere Clients (es wird lediglich ein Browser benötigt) können dieses UI dann per IP/URL aufrufen.
    • Das WebGUI kommuniziert über Webservices mit der LabVIEW Applikation (rtEXE)
  • Ansteuern eines Servos (per USB am Raspberry angeschlossen. Ansteuerung mittels VISA Commands)
  • Auslesen und Ansteuern der Digital I/Os
  • ADC über SPI (ADS1256)
  • Digital Input war für unser Projekt schnell genug für eine Drehzahlmessung
  • HX711 Wägezelle über Local-IO
  • MAX31865 für PT100 über SPI
  • Python am Raspberry installert. Python Scripts am Raspberry ausführen.
  • Python Scripts über LabVIEW am Raspberry ausführen

Hier eine Liste vieler Hats und Driver Chips, welche unterstützt sind: https://github.com/MediaMongrels-Ltd/RPi-LINX-Addons

Diese und viele weitere Tricks lernt ihr in unseren Schulungen und Consultings. Link zu den Terminen


Link zum Beispielprojekt:
Die Programm Beispiele stellen nur einen Ausschnitt einer Gesamtapplikation dar. Verwendung der Code Beispiele auf eigene Gefahr.

Unsere Website enthält Links zu externen Websites, auf deren Inhalt wir keinen Einfluss haben. Aus diesem Grund übernehmen wir keine Gewähr für die Richtigkeit, Vollständigkeit und Aktualität der dort bereitgestellten Informationen. Die Verantwortung für den Inhalt der verlinkten Seiten liegt ausschließlich bei den Betreibern der jeweiligen Websites. Verwendung auf eigene Gefahr.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert