Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Eingebettet

OTA-Updates für Embedded Linux, Teil 2 – Ein Vergleich von Standard-Update-Systemen

Im vorherigen Artikel haben wir die Grundlagen und die Implementierung von Embedded Linux-Update-Systemen diskutiert. Hier besprechen wir eine Auswahl von Standard-Open-Source-Aktualisierungssystemen, die heute zur Integration in Ihr Embedded-Linux-Projekt verfügbar sind.

Reparatur

Dieses Update-System fühlt sich sehr professionell und sofort einsatzbereit an. Es verwendet ein Dual-Rootfs-Aktualisierungssystem, das dem im vorherigen Artikel beschriebenen sehr ähnlich ist. Es ist eng in U-Boot integriert, um ein Fallback im Fall eines nicht bootenden Images zu ermöglichen.

Der Einstieg in Mender ist recht einfach, da es eine gute, übersichtliche Schritt-für-Schritt-Dokumentation zur Einrichtung und Integration der verschiedenen Komponenten gibt. Sie bieten Referenzimplementierungen auf beliebten Plattformen wie Raspberry Pi und BeagleBone Black. Diese können Ihnen eine Vorstellung davon geben, wie viel Arbeit erforderlich ist, um es auf Ihrer Plattform zum Laufen zu bringen.

Ich stellte fest, dass es ungefähr drei Tage dauerte, um mich zu integrieren und zu arbeiten. Es gab viele kleine Änderungen, damit es mit meinem Yocto-Build-Setup (basierend auf Morty) funktioniert. Es erfordert einige OpenEmbedded-Kenntnisse, um diese Probleme zu umgehen. U-Boot-Expertise ist erforderlich, um den Dual-Boot-Mechanismus korrekt zu integrieren.

Am Ende gibt es ein „sdimg“ aus, das den Bootloader und das Dateisystem enthält, das irgendwie in Ihren Flash-Speicher geschrieben werden muss. Wie Sie dies tun, hängt von Ihrer Zielhardware ab. Es gibt auch sogenannte "Artefakte" aus, die das neue Dateisystem-Image und verschiedene Metadaten enthalten.

Die Artefakte können über das Mender-Kommandozeilentool für eine manuelle Installation installiert werden (die dann theoretisch auf eine automatische Installation von einem USB-Stick erweitert werden kann). Artefakte können auch über ein Webinterface auf den Backend-Update-Webservice hochgeladen und von hier aus auf einzelne Einheiten übertragen werden.

Das Web-Interface, das den Backend-Update-Server steuert, ist gut gestaltet und einfach zu bedienen. Die Einrichtung erfolgt über Docker, was die Ersteinrichtung sehr einfach macht. Kenntnisse in Docker werden in einem vollständigen produktionsbereiten System benötigt. Von dieser Weboberfläche aus können Sie alle derzeit im Feld eingesetzten Geräte sehen und Updates einzeln oder in Gruppen an sie senden.

Klicken für größeres Bild

Abbildung 1:Mender enthält eine maßgeschneiderte Weboberfläche zum Pushen von Updates auf Geräte (Quelle:Mender)

Der Großteil von Mender ist in der Programmiersprache Go geschrieben. Für eine langfristige Einführung und Produktionsfreigaben sind einige Kenntnisse in Go erforderlich. Obwohl dies in der eingebetteten Welt noch immer eine ungewöhnliche Sprache ist, wird sie in Zukunft möglicherweise weiter verbreitet.

Sie sind an ein einzelnes hartcodiertes Bootgerät gebunden (z. B.:/dev/mmcblk0), daher gibt es keine einfache Möglichkeit, das Booten von mehreren Medien zu erlauben. Es macht auch viele Annahmen über Ihr System, wie z. B. verschiedene Optionen im Bootloader und im Kernel (z. B. einschließlich der Unterstützung bestimmter Dateisysteme). Entscheidend ist, dass es systemd erfordert, was es für einige Projekte ungeeignet machen kann.

SWUpdate

Dieses Update-System ist hochgradig konfigurierbar. Sie konfigurieren es mit dem „kconfig“-System, das den meisten Embedded-Linux-Entwicklern bekannt ist. Einige Beispiele für Konfigurationsoptionen:Es unterstützt mehrere Bootloader (U-Boot, GRUB, EFI Boot Guard); es kann signierte Bilder basierend auf einem bestimmten öffentlichen Schlüssel signieren und verifizieren; Es kann die Verschlüsselung von Bildern mit symmetrischer Schlüsselverschlüsselung unterstützen.


Abbildung 2:das Konfigurationssystem für SWUpdate (Quelle:SWUpdate)


Eingebettet

  1. Welche AWS-Container-Orchestrierungsplattform eignet sich am besten für Ihr Unternehmen?
  2. Was ist Debugging:Typen und Techniken in eingebetteten Systemen
  3. Rolle eingebetteter Systeme in Automobilen
  4. Was sind eingebettete Systeme und ihre Echtzeitanwendungen
  5. ST-Sampling eingebetteter Phasenwechselspeicher für Automobil-Mikrocontroller
  6. Cervoz:ultradünner NVMe-Speicher für industrielle Embedded-Anwendungen
  7. Entwicklung von Motorsteuerungen für Robotersysteme
  8. 10 beste C#-IDE für Windows, Linux, Mac (Update 2021)
  9. Vorteile eingebetteter Technologien für modulares Design
  10. 3D-Vision-Systeme – welches ist das Richtige für Sie?