Sie sind hier: HomeTelekommunikation

Internet der Dinge: Die Sprache der vernetzten Dinge

Mittlerweile stehen Entwicklern über 1.000 Programmiersprachen zur Verfügung. Jede hat ihren besonderen Fokus. Gerade was Effizienz und Performance angeht, schraubt das Internet der Dinge die Messlatte nach oben. Ein Überblick über die Herausforderungen, denen Programmierer hier gegenüberstehen.

Top Programmiersprachen IoT Bildquelle: © IoT Developer Survey 2018, Eclipse Foundation

Die Entwicklung von IoT-Lösungen erfordert eine Vielzahl von Sprachkenntnissen. Die Wahl der Programmiersprache hängt dabei in der Regel von der zu erfüllenden Aufgabe, der Leistung des Gerätes und den Vorlieben des Programmierers ab.

Es gibt noch keine einheitliche Progammiersprache für das IoT. Man bedient sich also gängiger Sprachen, die den Herausforderungen im Internet der Dinge gerecht werden. Populär sind dabei Java und
C beziehungsweise C++. Aber auch Elixir gewinnt zunehmend an Bedeutung. Insgesamt erfordert die Entwicklung von IoT-Lösungen eine Vielzahl von Sprachkenntnissen. Die Wahl der Sprache hängt dabei von der zu erfüllenden Aufgabe sowie von der Leistung des Gerätes ab.  

Aufbau einer IoT-Andwendung
Ein komplettes IoT-Programm von Endgerät bis User Interface umfasst mehrere einzelne Applikationen:

  1. Die Things: Dazu zählen alle Endgeräte, die überwacht und gesteuert werden, sowie Sensoren und Microcontroller. Sie sammeln die wichtigen Daten und sind das ausführende Element.
  2. Edge: Netzwerkkomponenten sind die Schnittstelle zwischen Endgerät und weiteren Geräten sowie Servern.
  3. Data Management: Endgeräte erzeugen jede Menge Daten. Diese werden in Datenbanken und im Datenmanagementsystem gespeichert. Darauf können Machine-Learning- und Optimierungsprozesse aufsetzen.
  4. APIs: API sind Programmierschnittstellen. Sie ermöglichen den Daten- und Befehlsaustausch zwischen Applikationen.
  5. Backend: In der Cloud oder auf einem Server wird die eigentliche Anwendung gehostet. Sie ist der Kern des Systems, sie steuert vernetzte Geräte und bereitet Daten für den Nutzer auf.
  6. Frontend: Das User Interface oder Frontend ist das, was der Nutzer zur Interaktion mit dem Programm nutzen kann. Das können Websites, Apps, industriespezifische Oberflächen, Web- und Mobile-Plattformen sein.

Applikation im IoT
Die „reine IoT-Applikation“ umfasst die ersten beiden Punkte. Sie hat in der Regel eine Client-Server-Architektur. Das IoT-Device ist dabei der Client, der mit einem Endpunkt in der Cloud oder auf einem Server über ein bidirektionales Protokoll kommuniziert. Auf dem Server werden die Daten dann in eine Datenbank geschrieben, wo sie zur weiteren Nutzung zur Verfügung stehen. Ein einfaches Beispiel wäre, wenn der Helligkeitswert eines Sensors unter eine bestimmte Grenze fällt, wird das Event ausgelöst, das Licht anzuschalten.

Challenge: Schnelligkeit und Speicher
Die größte Herausforderung im Internet der Dinge ist es, die Reaktions- beziehungsweise Verarbeitungszeit möglichst kurz zu halten, sodass Applikationen in Echtzeit reagieren. Die Programmiersprache muss also enorm schnell sein. Hinzu kommt, dass viele vernetzte Geräte im direkten Automatisierungsumfeld über nur sehr begrenzte Rechenkraft und Speicher verfügen. Die Sprache muss also ressourcenfreundlich sein, um auf beispielsweise industriellen Microcontrollern oder auch heimischen Microwellen zu laufen.