Besser als Kuchen: Web HMI mit Raspberry Pi
Web HMIs stellen die technologisch fortschrittlichste Form von HMI-Technologie dar, da sie vollen Zugriff auf sämtliche Web-Technologien haben wie responsives Verhalten, Multi-Benutzer-Schnittstellen imd die Möglichkeiten, auf diese weltweit über Netzwerke zugreifen zu können.
Seit der Einführung des Raspberry Pi im Jahr 2012 ist aus dem Raspberry Pi ein großes Ökosystem geworden, für das immer neue Fähigkeiten zur Verfügung gestellt werden – sowohl in Hardware als auch in Software. Es begann als ein System für Hobby-Benutzer und Menschen, die lernen möchten, wie man Computer programmiert – ganz wie in den „guten alten Zeiten“ der Home Computer in den 1980er Jahren.
Das System wurde von der gemeinnützigen Raspberry Pi Foundation entwickelt, welche „die Stärke von Computern und digitaler Schöpfung in die Hände der Menschen auf der ganzen Welt“ legen möchte.
Mit der Veröffentlichung des Compute Module im Jahr 2014 ermöglichte es die Raspberry Pi Foundation den Raspberry Pi in professionelle Systeme zu integrieren zur Nutzung in industriellen und Umgebungen und in Embedded Systemen wie Internet of Things (IoT) Geräten – und natürlich auch IIoT.
Von diesem Zeitpunkt an wuchs es nicht nur im privaten Bereich, sondern auch in professionellen Industrie-Umgebungen mit vielen Anbietern, die Embedded-Systeme “Powered by Raspberry Pi” anboten.
Dies sind die Haupt-Features des Raspberry Pi
- 32- & 64-Bit Betriebssysteme verfügbar (Raspberry Pi OS, Ubuntu, ArchLinux, FreeBSD, Windows 10 IoT Core und viele weitere)
- Standardisiserte Hardware basierend auf ARMv7/ARMv8 Architektur
- 512MB RAM bis zu 8 GB RAM
- Riesiges Software-Archiv, insbesondere Open-Source Software
- Viele Hardware-Addons erhältlich (allerdings nicht für das Compute Modul, da es über keinen GPIO-Port verfügt)
- Große Anzahl an bereits beantworteten Fragen auf Grund der großen Community online
Warum sollte man daher keinen Raspberry Pi für eine Web HMI verwenden? Oder noch besser: warum sollte man nicht WebIQ auf einem Raspberry-Pi-System verwenden?
WebIQ – Ihre HMI auf einem Raspberry Pi
WebIQ ist auch für Raspberry Pi verfügbar (32 and 64 Bit) und wir unterstützen offiziell nur WebIQ auf einem 32-Bit System, aber im allgemeinen funktioniert WebIQ auch auf einem 64-Bit-System mit Raspberry Pi OS oder Ubuntu.
WebIQ sollte auch auf anderen ARM-basierten Systemen funktionieren, allerdings bitten wir um Verständnis, dass wir auf Grund der immensen Anzahl unterschiedlichster ARM-basierter Systeme WebIQ nicht auf allen diesen Systemen testen können.
Allerdings können Sie natürlich auch selbst WebIQ auf einem ARM-basierten System Ihrer Wahl testen, indem Sie die kostenfreie Version von WebIQ für den Raspberry Pi direkt aus dem Downloadbereich herunterladen. Diese Version ist begrenzt auf 30 Items und einen gleichzeitigen Client-Zugriff – aber wir denken, dass dies ausreichen sollten, um herauszufinden, ob WebIQ auf Ihrem System funktioniert und Ihren Anforderungen entspricht.
Test einer einfachen OPC-IA Web HMI App
Um WebIQ auf einem Raspberry Pi zu Demonstrationszwecken zu testen habe ich bewusst die erste Version des Raspberry Pi (1, B) verwendet, die 2012 veröffentlicht wurde und die nur 512 MB RAM hat.
Ich habe dazu eine einfache App im WebIQ Designer erstellt, welche 25 OPC UA Items aus einer Steuerung anzeigt, bei denen es sich um aktuelle Sensorwerte handelt:
Der (virtuelle) Speicherverbrauch (RAM) eines WebIQ Server 2.9 sah dabei so aus (getestet unter Raspberry Pi OS (buster)):
- ~10 MB RAM ohne geladene App
- ~120 MB RAM mit einer Nicht-OPC-UA-App (nur interne Items)
- ~230 MB RAM mit einer OPC-UA App
Mit diesem RAM-Verbrauch würde meine simple App sicherlich auf einem Raspberry Pi 1 laufen (nicht vergessen: er hat nur 512MB RAM) als Server – nur nicht für ein angeschlossenes Display, welches direkt mit dem Raspberry Pi verbunden ist.
Aber ohne in technische Details zu gehen – dies wäre ein gutes Thema für einen weiteren Blog-Beitrag – kann man sehen, dass meine einfache App sogar auf dem ersten Raspberry Pi läuft.
Jetzt stelle man sich nur vor, was mit einem Raspberry Pi 4 mit 8 GB RAM (bzw. dem entsprechenden Compute Modul in einem Industrie-PC) möglich wäre!
Aber was ist mit dem Browser?
Wenn man einen Browser zur Anzeige der HMI auf einem solchen System verwenden möchte mit einem angeschlossenen Touchscreen müsste dafür die Desktop-Umgebung mit aktiviert werden – also nicht nur Konsolenzugriff, sondern ein Linux-Desktop mit Mausbedienung analog zu Windows.
Außerdem wird der eingebaute Chromium Browser – die Open-Source-Version von Google Chrome – regelmäßig von der Raspberry Pi Foundation optimiert (nur bei Verwendung von Raspberry Pi OS), daher empfehlen wir auch, diesen auf einem Raspberry Pi mit Raspberry Pi OS zu verwenden.
Dies kann bei Indsutrie-PCs anders sein und hängt vom jeweiligen Hersteller ab.
Wenn man nun einige Tests durchführt, wird man schnell herausfinden, dass der Browser bis zu 1GB RAM benötigt (Browser sind Schwergewichte), was schnell klar werden lässt, dass man ein System mit Raspberry Pi (Compute Module) verwenden sollte, das mindestens 2 GB RAM hat – je mehr desto besser – sofern man die HMI auch direkt auf einem an den Raspberry Pi angeschlossenen Bildschirm anzeigen möchte.
Da keins der Systeme vor dem Raspberry Pi 4 mehr als 1 GB RAM zur Verfügung stellt ist es somit erst ab Version 4 sinnvoll, einen Browser direkt auf dem Raspberry Pi für die Anzeige zu verwenden.
Wenn Sie jedoch ein Raspberry-Pi (powered) System für den WebIQ Server verwenden möchten, wäre dennoch aus Performancegründen ein industrielles Touch-Screen-System für dem Browser und die Anzeige der HMI sicher besser geeignet.
Ich hoffe, dass dieser Artikel einige Informationen zu WebIQ auf dem Raspberry Pi geliefert hat.
Warum probieren Sie nicht einfach WebIQ selbst jetzt kostenlos aus? Natürlich auch für Windows!