Blog

Warum das “Yocto Projekt” eine echte Power-Lösung im Kontext von IoT ist

Das Internet der Dinge (kurz: IoT) kann aus verschiedenen Blickwinkeln betrachtet werden. Wir bei der com2m haben einen ganz klaren Fokus auf den „Internet“-Teil des IoT und entsprechend darauf, wie Daten eines IoT-fähigen Gerätes in die Cloud kommen und wie sie dort gewinnbringend verarbeitet werden können.  

In diesem Artikel möchten wir den Fokus jedoch auf die „Dinge“ im Internet of Things legen – also auf die Geräte, die die Daten für eine IoT-Plattform liefern. 

Ein Artikel von
Davide Beretta und Dr. Olaf Neugebauer

Lesezeit: ca. 4 Minuten

Code als Beispiel für das Yocto Project im Kontext von IoT

Viele IoT-Geräte verwenden ein linux-artiges Betriebssystem. Und Hersteller erstellen mitunter sogar eine eigene Distribution, die genau auf ihre Bedürfnisse zugeschnitten ist. Mit dem Yocto-Projekt hat sich ein Ökosystem von Entwicklungswerkzeugen und Prozessen entwickelt, das es ermöglicht, genau diese eigenen Distributionen schnell und reproduzierbar zu entwickeln. Erfahren Sie in diesem Gastbeitrag unseres Kollegen Davide Beretta (Embedded Software Engineer bei der adesso Schweiz) warum das Yocto Projekt eine echte Power-Lösung im Kontext von IoT ist. Im Anschluss zeigen wir, wie Yocto mit der com2m IoT-Plattform zusammenspielen kann. 

Was genau verbirgt sich hinter dem Namen “Yocto Projekt”?

Die Antwort auf diese Frage lautet oft, dass es sich beim Yocto “nur” um eine Embedded-Linux-Distribution handelt – aber nein, falsche Antwort! Das Yocto Projekt ist keine reine Embedded-Linux-Distribution, sondern eine voll konfigurierbare Toolchain, mit der Sie eine eigene Distribution erstellen können: Und zwar maßgeschneidert und perfekt zugeschnitten auf Ihr eigenes Gerät und passend zu ihren Bedürfnissen. 

Aber gehen wir der Frage noch etwas weiter auf den Grund. 

Überblick zum “Yocto Projekt”

Das Projekt wurde offiziell 2011 von der Linux Foundation mit dem Ziel ins Leben gerufen, den Softwareentwicklungsprozess für eingebettete Linux-Distributionen zu verbessern. Zusammengefasst könnte man auch sagen: Es wurde tatsächlich dafür entwickelt, das Leben von Softwareentwicklern einfacher zu machen. 

Da die Kernfunktionen von Yocto vom Open Embedded Framework übernommen wurden, basiert es auch auf den gleichen drei Säulen. Yocto wird von allen großen Technologiefirmen (Intel, Arm, Xilinx, NXP, Facebook, AWS, Microsoft, …) unterstützt, so dass stetiger Fortschritt und Weiterentwicklung gewährleistet sind. 

Major-Releases finden etwa alle 6 Monate statt – bisher sind es 21, einschließlich der im April 2021 veröffentlichten 3.3 Hardknott. 

So geht’s: die drei Konzepte von Yocto

Wenn Sie in die Yocto-Umgebung eintauchen, werden Sie sicherlich auf “Rezepte”, “Meta-Layer” und “Bitbake” stossen. Und um genau diese Begrifflichkeiten geht es in den drei grundlegenden Konzepten: 

  1. “Rezepte”: Diese „.bb“-Dateien sind fundamentale Bestandteile der Yocto-Umgebung. Jedes Softwarepaket, das vom Build-System gebaut werden soll, benötigt eines, um sich zu definieren. Sogenannte “Recipes” enthalten Informationen über die Quell-URL, Abhängigkeiten, Kompilier- und Installationsoptionen. 
  2. “Meta-Layer”: Sie sind die grundlegende Einheit der geschichteten Infrastruktur des Projekts und gruppieren verwandte Funktionalitäten (Rezepte und relative Konfigurationsdateien) in separate Bündel. Bei Bedarf können Sie schrittweise Ihre eigene benutzerdefinierte Meta-Schicht zu Ihrem Projekt hinzufügen.
  3. “Bitbake”: Hier geht es um ein Build-Tool wie “GNU make”, das als eigentlicher Motor von Yocto betrachtet werden kann. Es parst alle Rezepte und plant die Kompilieraufgaben.

Am Ende ist es ganz einfach, oder? Sie müssen nur die Rezepte lesen, alle Zutaten holen und schichten, den Ofen anheizen und das Bitbake kann beginnen! 

Aber warum nun Yocto?

Die Wahl der richtigen Linux-Distribution für Ihr Embedded-Gerät ist eine heikle Aufgabe. Doch Yocto bietet ein interessantes Gesamtpaket. Und zwar aus folgenden Gründen: 

  • Die Toolchain ist zu 100% anpassbar, so dass Sie eine Linux-Distribution erstellen können, die spezifisch zu Ihrem Projekt passt und die bestmögliche Optimierung von Ressourcen und Leistung gewährleistet.
  • Dadurch, dass die Lösung von mehreren Siliziumherstellern unterstützt wird, ist sie plattformübergreifendend und hardwareunabhängig. Dies erlaubt Ihnen, den Mikroprozessor zu wählen, der am besten zu Ihrem Projekt passt.
  • Sie können von einer der weltweit größten Communities profitieren, die Yocto jederzeit auf dem neuesten Stand der Technik hält.
  • Es ist ein Open-Source-Projekt und somit frei von kostenpflichtigen Lizenzen. 

Welche Rolle spielt adesso in diesem Zusammenhang?

Der Umgang mit Yocto kann schwierig werden, wenn man nicht mit der richtigen Einstellung und ausreichend Vorwissen an die Sache herangeht. Fest steht, dass das «Yocto Projekt» sehr umfangreich ist und sowohl ungewollte Abhängigkeiten als auch Nebeneffekte verbergen kann, derer man sich bei der Auswahl seines Lösungswegs gar nicht bewusst ist. Es kann vorkommen, dass Sie nicht die nötige Zeit oder Kompetenz haben, um all diese Aspekte zu analysieren, was das Risiko mit sich bringt, in irgendeiner Phase des Projekts stecken zu bleiben. 

Das adesso-Team begleitet Sie durch den gesamten Lebenszyklus Ihres Projekts,um den Weg zum Ziel so reibungslos wie möglich zu gestalten: Wir unterstützen Sie von Anfang an bei der Auswahl der Hardware-Plattform und der Evaluierung der Board-Support-Package(BSP)-Fähigkeiten, helfen Ihnen bei der Erstellung und Anpassung der Linux-Distribution, um die beste Performance und den besten Ressourcenverbrauch zu erzielen, und sind Ihnen bei der Erstellung des SDK (Software Development Kit) für Ihr Team behilflich. Und – last but not least – wir können Ihre High-End-Anwendung auf dem Zielgerät entwickeln, migrieren und debuggen. 

Mehr Informationen zu Embedded Software Lösungen inklusive einem One Pager zum Yocto Projekt finden Sie hier. 

Wie funktionieren Yocto und die com2m IoT-Plattform zusammen?

Doch welchen Mehrwert bringt Yocto in Kombination mit der com2m IoT-Plattform? Mit Yocto ist es möglich, eine Distribution zu erstellen, die bereits alle relevanten Verbindungsinformationen enthält, damit sich ein Gerät eigenständig bei der Plattform anmelden und integrieren kann. So ist es möglich, die Distribution im Werk auf das Gerät zu installieren und bei der Inbetriebnahme des Geräts sind bereits alle wichtigen Einstellungen getätigt. Zusätzlich ist es möglich, die Yocto Distribution gezielt über unsere IoT-Plattform an die Geräte zu verteilen. Gepaart mit einem Rolloutmanagement wissen Sie immer mit welcher Version ein Gerät läuft und können Updates z. B. zeitlich oder standortspezifisch verteilen – ein echter Mehrwert also! 

Sie haben Fragen oder Interesse? Dann sprechen Sie uns an!

Dieses Thema interessiert Sie? Nehmen Sie Kontakt mit uns auf.

Olaf Neugebauer Head of Development bei der com2m

Dr. Olaf Neugebauer ist Head of Development bei der com2m.

Weitere Themen für Sie

Predictive Maintenance in der Produktion

Mit Predictive Maintenance Maschinen-Stillstandzeiten reduzieren

Stillstehende Maschinen und teure Service- und Technikereinsätze sind ein Albtraum in der industriellen Produktion.

Doch tatsächlich gibt es Möglichkeiten, diesem Schreckensszenario zu begegnen: Eine vorausschauende Wartung (Predictive Maintenance, PdM) kann die Standzeiten Ihrer Maschine und die damit verbundenen Serviceeinsätze reduzieren.

Weiterlesen >
IoT Entwicklung im Mittelstand

Schlanke IoT-Entwicklung im Mittelstand. Ein Kurzleitfaden.

Kürzere Lebenszyklen, agile Entwicklungsmethoden, disruptive Geschäftsmodelle, IoT-Clouds. Unternehmen sehen sich aktuell mit diversen neuen Begriffen konfrontiert, die sich häufig völlig von bisherigen Themen unterscheiden. Doch obwohl es sich bei diese Begriffen zum Teil um ganz unterschiedliche Fachdisziplinen handelt, greifen sie sehr stark ineinander. Der folgende Beitrag soll ein wenig Licht ins moderne Dunkel bringen und Beispiele aufzeigen, inwiefern die Zusammenarbeit mit der com2m aussehen kann.

Weiterlesen >