Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial Internet of Things >> Incrustado

Actualizaciones OTA para Embedded Linux, parte 2 - Una comparación de los sistemas de actualización estándar

En el artículo anterior discutimos los fundamentos y la implementación de los sistemas de actualización Embedded Linux. Aquí discutimos una selección de sistemas de actualización de código abierto listos para usar que están disponibles para integrarse con su proyecto de Linux embebido hoy.

Reparador

Este sistema de actualización se siente muy profesional y utilizable desde el primer momento. Utiliza un sistema de actualización dual-rootfs muy similar al descrito en el artículo anterior. Se integra estrechamente con U-Boot para permitir un respaldo en el caso de una imagen que no se inicia.

Es bastante fácil comenzar con Mender, ya que existe una buena documentación clara paso a paso sobre cómo configurar e integrar los diversos componentes. Proporcionan implementaciones de referencia en plataformas populares como Raspberry Pi y BeagleBone Black, que pueden darle una idea de la cantidad de trabajo necesario para que funcione en su plataforma.

Descubrí que me llevó unos tres días integrarme y ponerme a trabajar. Hubo muchos cambios pequeños para que funcione con mi configuración de compilación de Yocto (basada en Morty). Se requiere cierta experiencia en OpenEmbedded para solucionar estos problemas. Se necesita experiencia en U-Boot para integrar correctamente el mecanismo de arranque dual.

Al final de esto, genera un "sdimg", que contiene el cargador de arranque y el sistema de archivos, que debe escribirse de alguna manera en su memoria flash. La forma de hacerlo depende del hardware de destino. También genera lo que se denominan "artefactos" que contienen la nueva imagen del sistema de archivos y varios metadatos.

Los artefactos se pueden instalar a través de la herramienta de línea de comandos Mender para una instalación manual (que, en teoría, puede extenderse a la instalación automática desde una memoria USB). Los artefactos también se pueden cargar en el servicio web de actualización de backend a través de una interfaz web y desde aquí se pueden enviar a unidades individuales.

La interfaz web que controla el servidor de actualización backend está bien diseñada y es fácil de usar. La configuración se realiza a través de Docker, lo que hace que la configuración inicial sea muy sencilla. Se requerirá experiencia en Docker en un sistema completo listo para producción. Desde esta interfaz web, puede ver todos los dispositivos actualmente implementados en el campo y enviarles actualizaciones individualmente o en grupos.

haz clic para ampliar la imagen

Figura 1:Mender contiene una interfaz web personalizada para enviar actualizaciones a los dispositivos (Fuente:Mender)

La mayoría de Mender está escrito en el lenguaje de programación Go. Será necesaria cierta experiencia en Go para la adopción a largo plazo y las versiones de producción. Si bien este sigue siendo un lenguaje poco común en el mundo integrado, es posible que se use más ampliamente en el futuro.

Está atado a un único dispositivo de arranque codificado de forma rígida (por ejemplo:/ dev / mmcblk0), por lo que no hay una forma sencilla de permitir el arranque desde varios medios. También hace muchas suposiciones sobre su sistema, como varias opciones en el cargador de arranque y el kernel (por ejemplo, incluida la compatibilidad con ciertos sistemas de archivos). Fundamentalmente, requiere systemd, lo que puede hacer que sea inadecuado para algunos proyectos.

SWUpdate

Este sistema de actualización es altamente configurable. Lo configura usando el sistema "kconfig" que será familiar para la mayoría de los desarrolladores de Embedded Linux. Para ver algunos ejemplos de opciones de configuración:admite varios cargadores de arranque (U-Boot, GRUB, EFI Boot Guard); puede firmar y verificar imágenes firmadas basándose en una clave pública determinada; puede admitir el cifrado de imágenes mediante cifrado de clave simétrica.


Figura 2:el sistema de configuración de SWUpdate (Fuente:SWUpdate)


Incrustado

  1. ¿Qué plataforma de orquestación de contenedores de AWS es mejor para su organización?
  2. Qué es la depuración:tipos y técnicas en sistemas embebidos
  3. Rol de los sistemas integrados en automóviles
  4. Qué son los sistemas integrados y sus aplicaciones en tiempo real
  5. Un resumen sobre la tecnología IC para microcontroladores y sistemas integrados
  6. Memoria de cambio de fase incorporada de muestreo ST para microcontroladores automotrices
  7. Cervoz:almacenamiento NVMe ultradelgado para aplicaciones industriales integradas
  8. Diseño de controles de motor para sistemas robóticos
  9. Los 10 mejores IDE de C# para Windows, Linux, Mac (actualización de 2021)
  10. Ventajas de las tecnologías integradas para el diseño modular
  11. Sistemas de visión 3D:¿cuál es el adecuado para usted?