Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Embarqué

Mises à jour OTA pour Linux embarqué, partie 2 – Une comparaison des systèmes de mise à jour standard

Dans l'article précédent, nous avons discuté des principes fondamentaux et de la mise en œuvre des systèmes de mise à jour Linux embarqués. Nous discutons ici d'une sélection de systèmes de mise à jour open source prêts à l'emploi qui sont disponibles pour s'intégrer à votre projet Linux embarqué dès aujourd'hui.

Réparateur

Ce système de mise à jour est très professionnel et utilisable dès la sortie de la boîte. Il utilise un système de mise à jour dual-rootfs très similaire à celui qui a été décrit dans l'article précédent. Il s'intègre étroitement avec U-Boot pour permettre le repli dans le cas d'une image qui ne démarre pas.

Il est assez facile de démarrer avec Mender, car il existe une bonne documentation claire et détaillée sur la configuration et l'intégration des différents composants. Ils fournissent des implémentations de référence sur des plates-formes populaires telles que Raspberry Pi et BeagleBone Black. Celles-ci peuvent vous donner une idée de la quantité de travail nécessaire pour le faire fonctionner sur votre plate-forme.

J'ai trouvé qu'il m'a fallu environ trois jours pour m'intégrer et travailler. Il y a eu beaucoup de petits changements pour le faire fonctionner avec ma configuration de build Yocto (basée sur Morty). Cela nécessite une certaine expertise OpenEmbedded pour contourner ces problèmes. L'expertise U-Boot est nécessaire pour intégrer correctement le mécanisme de double amorçage.

À la fin, il génère un "sdimg", contenant le chargeur de démarrage et le système de fichiers, qui doit être écrit d'une manière ou d'une autre dans votre mémoire flash. La façon dont vous procédez dépend de votre matériel cible. Il génère également ce que l'on appelle des « artefacts » qui contiennent la nouvelle image du système de fichiers et diverses métadonnées.

Les artefacts peuvent être installés via l'outil de ligne de commande Mender pour une installation manuelle (qui peut ensuite théoriquement être étendue à une installation automatique à partir d'une clé USB). Les artefacts peuvent également être téléchargés sur le service Web de mise à jour du backend via une interface Web et à partir de là, ils peuvent être transférés vers des unités individuelles.

L'interface Web qui contrôle le serveur de mise à jour principal est bien conçue et facile à utiliser. La configuration se fait via Docker, ce qui rend la configuration initiale très simple. Une expertise en Docker sera requise dans un système prêt pour la production. À partir de cette interface Web, vous pouvez voir tous les appareils actuellement déployés sur le terrain et leur envoyer des mises à jour individuellement ou en groupes.

cliquez pour agrandir l'image

Figure 1 : Mender contient une interface Web sur mesure pour envoyer des mises à jour aux appareils (Source :Mender)

La majorité de Mender est écrit dans le langage de programmation Go. Une certaine expertise en Go sera nécessaire pour l'adoption à long terme et les versions de production. Bien qu'il s'agisse encore d'un langage peu courant dans le monde embarqué, il pourrait devenir plus largement utilisé à l'avenir.

Vous êtes lié à un seul périphérique de démarrage codé en dur (par exemple :/dev/mmcblk0), il n'y a donc aucun moyen simple d'autoriser le démarrage à partir de plusieurs supports. Il fait également de nombreuses hypothèses sur votre système, telles que diverses options dans le chargeur de démarrage et le noyau (par exemple, la prise en charge de certains systèmes de fichiers). Surtout, cela nécessite systemd, ce qui peut le rendre inadapté à certains projets.

SWUpdate

Ce système de mise à jour est hautement configurable. Vous le configurez à l'aide du système « kconfig » qui sera familier à la plupart des développeurs Linux embarqués. Pour quelques exemples d'options de configuration :il prend en charge plusieurs bootloaders (U-Boot, GRUB, EFI Boot Guard); il peut signer et vérifier des images signées sur la base d'une clé publique donnée; il peut prendre en charge le cryptage des images à l'aide du cryptage à clé symétrique.


Figure 2 :le système de configuration de SWUpdate (Source :SWUpdate)


Embarqué

  1. Quelle plate-forme d'orchestration de conteneurs AWS convient le mieux à votre organisation ?
  2. Qu'est-ce que le débogage :types et techniques dans les systèmes embarqués
  3. Rôle des systèmes embarqués dans les automobiles
  4. Mémoire à changement de phase intégrée à échantillonnage ST pour microcontrôleurs automobiles
  5. Cervoz :stockage NVMe ultra-mince pour application industrielle embarquée
  6. Conception de commandes de moteurs pour systèmes robotiques
  7. 10 meilleurs IDE C # pour Windows, Linux, Mac (mise à jour 2021)
  8. Avantages des technologies embarquées pour la conception modulaire
  9. Systèmes de vision 3D – lequel est fait pour vous ?