Bausteine für das Internet of Things – Embedded Linux

Das „Internet of Things“ erfordert u.a. die technische Möglichkeit, Geräte (wie den oft zitierten Kühlschrank) intelligent zu machen, damit diese Geräte dann Daten mit anderen Geräten austauschen können.

Heutzutage werden hierfür oft kleine Computer verwendet, die unter dem Betriebssystem „Linux“ laufen.

In der letzten Woche habe ich hierzu das Umfeld erforscht, und bin dabei auf eine interessante Plattform gestoßen, die den Einstieg in das Thema „Embedded Linux“ erleichtert.

Embedded Linux

Trotz allem Tagesgeschäft ist es sinnvoll, gelegentlich über den Tellerrand zu schauen, um das Potential neuer Technologien besser verstehen und einordnen zu können. Ein solches Thema ist (für mich) das Thema des „Internet of Things“ („Internet der Dinge„).

Die spannende Frage ist, wie ich die ersten Schritte tun kann, um dann später ggf genügend Erfahrungen für die komplexen Anwendungen zu besitzen ohne mich hierbei fachlich zu übernehmen.

Hierfür ist es zunächst hilfreich festzustellen, welche Werkzeuge man überhaupt benötigt, um in diesem Umfeld Prototypen entwerfen zu können.

Das „Internet der Dinge“ besteht aus einer Vielzahl von intelligenten Geräten, die miteinander vernetzt sind, und Informationen austauschen. Hierdurch werden neue Anwendungsszenarien möglich, die sicher bald über das Standardbeispiel des Kühlschranks hinausgehen werden, der seinen notwendigen Nachschub selbst bestellt.

Im Kern werden solche Geräte von kleinen Computern gesteuert, die oft unter Linux laufen, und dient das Internet als Übertragungsmedium. Daher stammt wohl auch der neudeutsche Name „Embedded Linux“ (eingebettetes Linux).

Die zur Umsetzung Anwendungsszenarien erforderlichen Entwicklungssysteme sind bisher sehr teuer, und erschweren damit den einfachen Einstieg.

Derzeit entsteht rund um die bekannten Kleincomputer „Arduino„, „Raspberry Pi„, etc aber ein Universum von kleinen Geräten und preiswerten Erweiterungsmodulen. Daher liegt es nahe, diese kleinen Computer zu verwenden, um hiermit Anwendungen in Richtung embedded Linux zu entwickeln.

Bisher haben diese kleinen Geräte allerdings das Problem, daß die Software, die man für sie schreibt nicht einfach portierbar ist.

Entwurf von Anwendungen

Die vernetzten Computer, von denen ich oben gesprochen habe, können alleine für sich genommen noch nicht viel erreichen. Vielmehr besitzen diese Geräte üblicherweise Sensoren, oder Aktoren, die dazu dienen, die Umweltparameter zu erfassen.

Beispielsweise benötigt ein Kühlschrank, der in der Lage sein soll, Lebensmittel zu bestellen, die zur Neige gehen ja von irgendwoher die Information, welche Lebensmittel in welchen Mengen noch vorhanden sind. Schliesslich benötigt ein solcher Kühlschrank auch einen Aktor, mit dessen Hilfe er die Bestellung abgeben kann.

Wer sich einmal mit Technik befaßt hat, kennt ein großes Problem, das gerne in der Entwurfs- und Testphase entsteht, und diese Phase so kompliziert macht – die Hilfsmittel arbeiten nicht wie erwartet, und man muss sich mit Problemen beschäftigen, die einen von dem eigenen Projektziel abhalten, eine Steuerung auszuprobieren.

Anforderungen

Aus dem bisher gesagten ergeben sich für mich die folgenden Anforderungen an eine Entwicklungsumgebung für den Einstieg:

  • Entwicklungsumgebung, die sich relativ preiswert umsetzen läßt.
  • Module die sich einfach und „genormt“ verwenden lassen.
  • Unterschiedliche Sensoren und Aktoren, die sich nach demselben Muster verwenden lassen.
  • Ein System das einfach einzusetzen ist.
  • Die entstehende Software soll einfach portierbar sein.

Gnublin

Die Firma „embedded projects GmbH“ aus Augsburg hat zusammen mit der dortigen Universität unter dem Namen „Gnublin“ eine Produktfamilie im Angebot, die das schnelle Entwerfen von linuxbasierten Steuerungssystemen erlaubt. Die entsprechenden Lösungen werden u.a. in der Elektronikzeitschrift „Elektor“ behandelt (so bin ich darauf gestoßen).

Wie Sie aus den Referenzen in den „weiterführenden Informationen“ am Artikelende entnehmen, kommt die Entwicklungsumgebung ursprünglich aus dem Schulungsbereich. Sie wurde deshalb so konzipiert, daß hiermit der Einstieg in die Thematik einfach möglich ist.

Daneben bietet die Plattform eine große Anzahl von Erweiterungsmodulen, die alle nach demselben Schema eingebunden werden können – reines Zusammenstecken reicht.

Das folgende Video zeigt, wie man mehrere solcher Module zusammenschalten kann, um sich damit die Bausteine für komplexe Steuerungen zusammenzustellen, und verdeutlicht, daß es garnicht so schwer ist, eigene Steuerungen zu entwerfen:

Wenn Ihnen die Idee gefällt, eigene Projekte umzusetzen, finden Sie im Anhang die notwendigen Links.

Abschliessend wäre erwähnenswert, daß ich keinen persönlichen Nutzen aus dieser Empfehlung ziehe, u.a da ich in keiner Beziehung zu den erwähnten Firmen stehe.

Weiterführende Informationen

Das Original dieses Artikels ist auf Der Produktmanager erschienen (©Andreas Rudolph). Folgeartikel zum Thema gibt es über die (→Mailingliste), oder indem Sie →mir auf Twitter folgen.

In der Online Version des Artikels finden Sie hier die versprochenen weiterführenden Links:

Comments are closed.