Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Integrado

Atualizações OTA para Embedded Linux, parte 2 - Uma comparação de sistemas de atualização prontos para uso


No artigo anterior, discutimos os fundamentos e a implementação dos sistemas de atualização do Embedded Linux. Aqui, discutimos uma seleção de sistemas de atualização de código-fonte aberto prontos para uso que estão disponíveis para integração com seu projeto Embedded Linux hoje.

Reparador

Este sistema de atualização parece muito profissional e utilizável fora da caixa. Ele usa um sistema de atualização de rootfs duplo muito semelhante ao que foi descrito no artigo anterior. Ele se integra perfeitamente ao U-Boot para permitir o fallback no caso de uma imagem não inicializada.

É muito fácil começar a usar o Mender, pois há uma boa documentação passo a passo sobre como configurar e integrar os vários componentes. Eles fornecem implementações de referência em plataformas populares como o Raspberry Pi e o BeagleBone Black, e podem dar uma ideia sobre a quantidade de trabalho necessária para fazê-lo funcionar em sua plataforma.

Descobri que demorou cerca de três dias para integrar e começar a trabalhar. Houve muitas pequenas mudanças para fazê-lo funcionar com minha configuração de compilação do Yocto (com base no Morty). Requer alguma experiência em OpenEmbedded para contornar esses problemas. O conhecimento do U-Boot é necessário para integrar o mecanismo de inicialização dupla corretamente.

No final disso, ele produz um “sdimg”, contendo o carregador de inicialização e o sistema de arquivos, que precisa ser de alguma forma escrito em sua memória flash. Como você faz isso depende do seu hardware de destino. Ele também produz os chamados "artefatos", que contêm a nova imagem do sistema de arquivos e vários metadados.

Os artefatos podem ser instalados por meio da ferramenta de linha de comando do Mender para uma instalação manual (que pode então, teoricamente, ser estendida para instalação automática a partir de um pendrive). Os artefatos também podem ser carregados no serviço da web de atualização de back-end por meio de uma interface da web e, a partir daqui, podem ser enviados para unidades individuais.

A interface da web que controla o servidor de atualização de backend é bem projetada e fácil de usar. A configuração é feita por meio do Docker, o que torna a configuração inicial muito direta. Experiência em Docker será necessária em um sistema totalmente pronto para produção. A partir dessa interface da web, você pode ver todos os dispositivos atualmente implantados no campo e enviar atualizações para eles individualmente ou em grupos.

clique para ampliar a imagem

Figura 1:Mender contém uma interface da web sob medida para enviar atualizações para dispositivos (Fonte:Mender)

A maior parte do Mender é escrita na linguagem de programação Go. Algum conhecimento em Go será necessário para lançamentos de produção e adoção de longo prazo. Embora ainda seja uma linguagem incomum no mundo incorporado, ela pode se tornar mais amplamente usada no futuro.

Você está vinculado a um único dispositivo de inicialização codificado (por exemplo:/ dev / mmcblk0), portanto, não há uma maneira direta de permitir a inicialização de vários meios. Ele também faz muitas suposições sobre o seu sistema, como várias opções no carregador de inicialização e no kernel (por exemplo:incluindo suporte para determinados sistemas de arquivos). Crucialmente, ele requer o systemd, o que pode torná-lo inadequado para alguns projetos.

SWUpdate

Este sistema de atualização é altamente configurável. Você o configura usando o sistema “kconfig”, que é familiar para a maioria dos desenvolvedores de Embedded Linux. Para alguns exemplos de opções de configuração:ele suporta vários bootloaders (U-Boot, GRUB, EFI Boot Guard); pode assinar e verificar imagens assinadas com base em uma determinada chave pública; ele pode oferecer suporte à criptografia de imagens usando criptografia de chave simétrica.


Figura 2:o sistema de configuração para SWUpdate (Fonte:SWUpdate)

Integrado

  1. Qual plataforma de orquestração de contêiner AWS é a melhor para sua organização?
  2. O que é depuração:tipos e técnicas em sistemas incorporados
  3. Função de sistemas incorporados em automóveis
  4. O que são sistemas incorporados e seus aplicativos em tempo real
  5. Memória de mudança de fase incorporada de amostragem ST para microcontroladores automotivos
  6. Cervoz:armazenamento NVMe ultrafino para aplicação industrial embarcada
  7. Projetando controles de motor para sistemas robóticos
  8. 10 Melhor IDE C # para Windows, Linux, Mac (atualização de 2021)
  9. Vantagens Tecnologias incorporadas para projeto modular
  10. Sistemas de visão 3D – qual é o certo para você?