Login


 
Newsletter
Werbung
Fr, 14. Januar 2011, 09:00

Heimautomatisierung für Hardwarebastler

Klickibunti mit Anspruch

Ein Projekt, das bei der Recherche nach passenden Softwarelösungen im Suchfilter hängen bleibt, ist die OpenAPC-Software. Das Kürzel OpenAPC steht dabei für Open Advanced Process Control und bedeutet so viel wie offene, fortgeschrittene Prozesssteuerung. Die Software selbst ist anscheinend für den industriellen Einsatz gedacht, kann dank der direkten Unterstützung von z.B. einfachen Parallelports oder der LCDproc-Display-Ansteuerungssoftware aber auch problemlos für Heimautomatisierungsprojekte verwendet werden. Die hier vorgestellte Version 1.2 (Codename Cocoa Beach) besitzt deswegen auch viele Funktionen, wie beispielsweise eine Benutzer- und Rechteverwaltung, welche für heimische Steuerungsaufgaben eher irrelevant sind. Was letztendlich den Ausschlag gegeben hat, eben diese Softwarelösung zu wählen, sind vier Argumente:

  • Die Software ist frei und kostenlos.
  • Es ist ein GUI-Editor enthalten, mit dem sich Oberflächen schnell und ohne Programmieraufwand erstellen lassen.
  • Benutzer- und Logikelemente lassen sich mittels einer Schaltplansymbol-ähnlichen Syntax miteinander verknüpfen, sodass auch hier nichts programmiert werden muss.
  • Die Software ist als fertiges Binärpaket für alle wichtigen Linux-Systeme verfügbar (und sogar für ARM-Plattformen zu haben).

Bei weiterer Vertiefung in das Paket finden sich dann doch – optional – noch Möglichkeiten, selbst geschriebene Software zu integrieren, um z.B. eigene Hardware anzubinden oder komplexere Steuerungsaufgaben zu übernehmen. Beispielprogramme, Sourcen und Dokumentationen dazu hält ein eigenes SDK bereit.

Doch der Reihe nach: Auf der Downloadseite des Projektes finden sich die verschiedenen Softwarepakete. Neben einer Variante für Windows gibt es dort auch fertige Pakete im RPM-Format für Fedora, Red Hat und Co. sowie im DEB-Format für Ubuntu, Debian und kompatible. Dies gilt jedoch nur für das Gesamtpaket, welches quasi die Entwicklungsumgebung darstellt.

Darüber hinaus sind auf der Downloadseite auch noch als Runtime titulierte Pakete als ZIP- bzw. tar.bz2-Archiv zu haben. Diese sind für das Zielsystem gedacht und müssen dort manuell installiert werden. Das ist umständlich, hat aber den Vorteil, dass nur die Komponenten auf das eigentlichen Zielsystem kopiert werden müssen, die wirklich benötigt werden. Das spart Platz, was bei knappen Ressourcen interessant sein kann. Insbesondere bei typischer Embedded-Hardware sind diese ja meist sehr knapp bemessen. Um diesen doch etwas mühsamen Kopiervorgang zu erleichtern, enthalten diese Runtime-Pakete die Daten aber bereits in einer Struktur, welche das Dateisystem und die Lage der einzelnen Teile in selbigem reflektiert.

Doch zurück zum Entwicklungspaket: Nach der Installation des zur Distribution und zur Plattform passenden Paketes (es werden gesonderte Varianten für x86_64, x86 und ARM angeboten) findet sich im Startmenü ein neuer Eintrag OpenAPC Editor. Dieser versteckt sich entweder unter Sonstiges oder ist unter ElektronikAutomation zu finden. Nach dem Start dieses Editors präsentiert sich eine sehr aufgeräumte Oberfläche mit nur wenigen Menüs und Toolbar-Buttons. Die eigentlich interessanten Funktionen sind allesamt in Kontextmenüs versteckt. So ergibt sich der erste Aha-Effekt, wenn man im HMI-Editor die rechte Maustaste betätigt: Es öffnet sich ein Popup-Menü, welches Zugriff auf verschiedenste GUI-Elemente bietet, die wiederum in logischen Untergruppen wie z.B. Steuerung, Statisch oder Anzeige angeordnet sind.

Dieser HMI-Editor selbst ist sozusagen der Oberflächendesigner, was der Name auch schon selbst aussagt: HMI steht für Human Machine Interface, also Mensch-Maschine-Schnittstelle und stellt eine Verbindung dar, welche auf der einen Seite Mensch spricht (also leicht verständliche Bedienelemente anbietet) und diese in Maschine übersetzt (also Kommandos und Datenflüsse generiert, welche vom Computer verstanden und verarbeitet werden können).

Pro-Linux
Frohe Ostern
Neue Nachrichten
Werbung