Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

OTA-updates voor Embedded Linux, deel 2 – Een vergelijking van kant-en-klare updatesystemen

In het vorige artikel hebben we de basisprincipes en implementatie van Embedded Linux-updatesystemen besproken. Hier bespreken we een selectie van kant-en-klare open-source updatesystemen die vandaag beschikbaar zijn om te integreren met uw Embedded Linux-project.

Mender

Dit updatesysteem voelt zeer professioneel en bruikbaar uit de doos. Het gebruikt een dual-rootfs-updatesysteem dat erg lijkt op het systeem dat in het vorige artikel werd beschreven. Het integreert nauw met U-Boot om terugval mogelijk te maken in het geval van een niet-opstartende afbeelding.

Het is vrij eenvoudig om met Mender aan de slag te gaan, omdat er goede duidelijke stapsgewijze documentatie is over het instellen en integreren van de verschillende componenten. Ze bieden referentie-implementaties op populaire platforms zoals de Raspberry Pi en BeagleBone Black, deze kunnen u een idee geven van de hoeveelheid werk die nodig is om het op uw platform te laten werken.

Ik merkte dat het ongeveer drie dagen duurde om te integreren en aan het werk te gaan. Er waren veel kleine veranderingen om het werkend te krijgen met mijn Yocto build-setup (gebaseerd op Morty). Het vereist enige OpenEmbedded-expertise om deze problemen te omzeilen. U-Boot-expertise is nodig om het dual-booting-mechanisme correct te integreren.

Aan het einde hiervan voert het een "sdimg" uit, met daarin de bootloader en het bestandssysteem, die op de een of andere manier in uw flash-geheugen moeten worden geschreven. Hoe u dit doet, hangt af van uw doelhardware. Het voert ook zogenaamde 'artefacten' uit, die de nieuwe afbeelding van het bestandssysteem en verschillende metadata bevatten.

De artefacten kunnen worden geïnstalleerd via de opdrachtregeltool van Mender voor een handmatige installatie (die dan theoretisch kan worden uitgebreid tot automatische installatie vanaf een USB-stick). Artefacten kunnen ook via een webinterface naar de backend-update-webservice worden geüpload en van hieruit naar afzonderlijke eenheden worden gepusht.

De webinterface die de backend-updateserver bestuurt, is goed ontworpen en gemakkelijk te gebruiken. Het instellen gebeurt via Docker, wat de eerste installatie heel eenvoudig maakt. Expertise in Docker is vereist in een volledig productieklaar systeem. Vanuit deze webinterface kunt u alle momenteel geïmplementeerde apparaten in het veld zien en updates naar hen afzonderlijk of in groepen pushen.

klik voor grotere afbeelding

Figuur 1:Mender bevat een op maat gemaakte webinterface voor het pushen van updates naar apparaten (Bron:Mender)

Het merendeel van Mender is geschreven in de programmeertaal Go. Enige expertise in Go is nodig voor adoptie op lange termijn en productiereleases. Hoewel dit nog steeds een ongebruikelijke taal is in de embedded wereld, kan het in de toekomst op grotere schaal worden gebruikt.

U bent gebonden aan een enkel hardgecodeerd opstartapparaat (bijv. /dev/mmcblk0), dus er is geen eenvoudige manier om opstarten vanaf meerdere media toe te staan. Het maakt ook veel aannames over je systeem, zoals verschillende opties in de bootloader en de kernel (bijvoorbeeld:inclusief ondersteuning voor bepaalde bestandssystemen). Cruciaal is dat het systemd vereist, wat het voor sommige projecten ongeschikt kan maken.

SWUpdate

Dit updatesysteem is zeer configureerbaar. Je configureert het met behulp van het "kconfig"-systeem dat bekend zal zijn bij de meeste Embedded Linux-ontwikkelaars. Voor een paar voorbeelden van configuratie-opties:het ondersteunt verschillende bootloaders (U-Boot, GRUB, EFI Boot Guard); het kan ondertekende afbeeldingen ondertekenen en verifiëren op basis van een bepaalde openbare sleutel; het kan codering van afbeeldingen ondersteunen met behulp van symmetrische sleutelcodering.


Figuur 2:het configuratiesysteem voor SWUpdate (Bron:SWUpdate)


Ingebed

  1. Welk AWS-platform voor containerorkestratie is het beste voor uw organisatie?
  2. Wat is foutopsporing:typen en technieken in ingebedde systemen
  3. Rol van geïntegreerde systemen in auto's
  4. Wat zijn ingebedde systemen en de realtime toepassingen ervan
  5. Een kort overzicht van IC-technologie voor microcontrollers en ingebedde systemen
  6. ST sampling ingebed Phase-Change Memory voor automotive microcontrollers
  7. Cervoz:ultradunne NVMe-opslag voor industriële embedded applicatie
  8. Motorbesturingen ontwerpen voor robotsystemen
  9. 10 Beste C# IDE voor Windows, Linux, Mac (2021 Update)
  10. Voordelen ingesloten technologieën voor modulair ontwerp
  11. 3D-visiesystemen – welke is geschikt voor u?