“Und genau wie jedes Unternehmen, das das Internet um die Jahrhundertwende glückselig ignoriert hat, laufen diejenigen, die das Internet der Dinge ablehnen, Gefahr, auf der Strecke zu bleiben.” Jared Newman, Tech-Journalist
Alle sprechen über das “Internet der Dinge” (Internet of Things, IoT) - mal über das Gute, mal über das Schlechte. Aber was ist “IoT” überhaupt? - Eine einfache Begriffsklärung für jedermann:
Was ist IoT?
Let´s keep it simple: das Internet der Dinge ist ein Netzwerk von physischen Geräten, die mit Software, Sensoren und Netzwerkkonnektivität ausgestattet sind, um Daten zu sammeln und auszutauschen. Das Internet der Dinge macht Alltagsgegenstände “smart”, indem es ihnen ermöglicht, Daten zu übertragen und Aufgaben zu automatisieren, ohne dass ein manuelles Eingreifen erforderlich ist. Oder wie Thomas Eichstädt-Engelen sagt: alles was blinkt.
Ein IoT-Device könnte etwas so Einfaches wie ein tragbares Gerät zur Verfolgung des Gesundheitszustands (bspw. FitBit) sein oder so komplex wie eine intelligente Stadt mit Sensoren in allen ihren Regionen. Eines der prominentesten Beispiele für IoT ist vielleicht das “Smart Home”. Es ermöglicht Ihnen, alles in Ihrem Haus zu steuern - vom Thermostat über die Beleuchtung bis hin zum Surround-Sound. Im Grunde ist jedes Objekt, das mit dem Internet verbunden und auf diese Weise gesteuert werden kann, ein Kandidat für ein IoT-Gerät.
Was sind embedded Systeme?
Seit dem Aufkommen des Internet der Dinge (Internet of Things, IoT), des autonomen Fahrens und auch der Robotik werden Low-Level-Firmware und Embedded-Systems immer wichtiger, gerade auch am Technologie-Standort Deutschland. Ein embedded System ist ein Computer mit einer bestimmten Funktion innerhalb eines größeren mechanischen oder elektrischen Systems. Sie führen oft vordefinierte Aufgaben mit sehr spezifischen Anforderungen aus.
Embedded Systeme können Mikroprozessoren sein, die winzigen elektronischen Chips, die sich in der CPU eines Computers befinden und die Befehle berechnen und ausrechnen. Sie können auch Mikrocontroller-basiert sein, was normalerweise ein SoC (System on a Chip) mit Logikeinheiten, Speichersteckplätzen und E/A-Peripheriegeräten usw. ist. In beiden Fällen befindet sich im Herzen des Produkts ein integrierter Schaltkreis (IC), der im Allgemeinen für die Durchführung von Berechnungen für Echtzeitoperationen ausgelegt ist.
Was sind einige Beispiele für embedded Systeme?
Stellen Sie sich ein embedded System als jedes elektronische Gerät vor, das Sie bei der Lösung eines bestimmten Problems unterstützt. Mobiltelefone, Mikrowellen, Kaffeemaschinen, Kühlschränke, Klimaanlagen, Ampeln und Fernbedienungen sind alles Beispiele für embedded Systeme. Es gibt viele embedded Systeme in Autos, wie zum Beispiel Airbags, Antiblockiersysteme, Spurhalteassistenten und Navigationssysteme.
Hieraus ergeben sich spezielle Herausforderungen bei der Entwicklung von embedded Sytemen: Ingenieure für embedded Systeme haben in der Regel die Kontrolle sowohl über das Hardware- als auch über das Software-Design. Dies erfordert in der Regel ein vertieftes Wissen über embedded Architekturen.
Was ist der Unterschied zwischen Embedded-Entwicklung und Software-Entwicklung?
Das Entwickeln von embedded Software erfordert ganz andere Fähigkeiten als die Entwicklung von Unternehmens- oder Anwendungssoftware. Wie Software-Ingenieure programmieren, debuggen, testen und schreiben Embedded-Ingenieure die entsprechende Dokumentation. Im Gegensatz zur Software-Entwicklung liegt bei jedoch der Fokus auf Hardware und oft muss ein kundenspezifisches Betriebssystem entwickelt oder konfiguriert werden, das auf die Hardware und die Speicherzuordnung des Geräts abgestimmt ist. Ein weiteres wichtiges Thema ist zudem die Sicherheit: das embedded System, das für sicherheitsrelevante Systeme eines Autos, wie Bremsen oder Airbags, zuständig ist, darf nicht ausfallen.
Das typische embedded System ist eine hochgradig kundenspezifische Lösung - und der Großteil des Codes ist neu entwickelt - also kein Copy/ Paste und ein wenig Glue Code. Das bedeutet auch, dass mehr Entwicklungszeit und mehr Entwickler benötigt werden.
Wie verhält sich IoT zu embedded Systemen?
Die meisten Produkte des Internet der Dinge (Internet of Things, IoT) sind in der Tat embedded Geräte, die mit dem Internet verbunden sind. IoT-Fans stellen sich eine Welt vor, in der das Internet und Cloud-Ressourcen riesige Datenmengen verarbeiten, die von diesen Geräten gesammelt werden und diese zur Verbesserung der Dienste und Geräte nutzen.
Was bedeutet MVP im IoT?
Das “lean Startup” hat die meisten Entwickler überzeugt, dass ein “minimum viable product”, also minimales realisierbares Produkt, oder MVP, ein guter Weg ist, um die Realisierbarkeit und den Marktwert von neuen Produkten und Innovationen zu verstehen. Ein MVP soll ein “niedrig auflösender” Prototyp sein, der gerade genug Funktionalität besitzt, um Ihren Kunden und Ihnen selbst zu zeigen, worum es bei dem Produkt geht und welchen Wert es hat. Hierbei wird zum einen die technische Machbarkeit aber auch Prozesse und die generelle Fähigkeit des Unternehmens getestet, das Produkt zu adaptieren.
Was ist ein MVE?
Im Gegensatz zu einem MVP, welches sich weitgehend auf ein Unternehmen und ein Produkt konzentriert, sind an einem Minimum Viable Ecosystem (MVE) explizit mehrere Unternehmen - und möglicherweise mehrere Produkte - beteiligt, die eine Orchestrierung erfordern, um das “Minimum Viable”-Niveau zu erreichen. So geht es hierbei darum, ganze “minimum viable” Ökosysteme zu schaffen, in denen eine Landschaft diverser IoT-Systeme zuhause ist.