Partilhar via


Atualizações OTA downstream com o Azure Sphere

Muitas soluções do Azure Sphere incorporam um MCU certificado pelo Azure Sphere e outros processadores como parte de uma solução completa de IoT. Esses outros processadores precisam de atualizações regulares de firmware. Este guia descreve como habilitar atualizações OTA downstream usando o Azure Sphere.

Dependendo do cenário específico do aplicativo, há várias maneiras diferentes de conseguir isso. Cada solução tem um fluxo comum:

  1. Acione a atualização de firmware.
  2. Adquira a atualização de firmware.
  3. Determine um local de download intermediário.
  4. Valide o firmware e atualize o processador a jusante.

Etapa 1: Acionar a atualização de firmware

Problema: Como é iniciado o processo de atualização de firmware?

Opções:

  • Cada versão do aplicativo Azure Sphere está vinculada a uma versão de firmware downstream:

    • Descrição: Quando o aplicativo Azure Sphere é iniciado, a versão de firmware com suporte é comparada com a versão implantada no processador downstream. Se as versões não corresponderem, será necessária uma atualização.
    • Prós: Contrato de suporte definido entre o aplicativo Azure Sphere e a versão de firmware. Além disso, aproveita o processo de atualização do aplicativo Azure Sphere existente.
    • Contras: Deve atualizar o aplicativo Azure Sphere para disparar uma atualização de firmware, mesmo que não haja alterações no aplicativo Azure Sphere. Além disso, deve adicionar monitoramento do progresso da atualização.
  • Atualização de firmware de gerenciamento de dispositivos do Hub IoT do Azure:

    • Descrição: Quando uma atualização de firmware está pronta, um operador de Solução IoT cria uma nova configuração de gerenciamento de dispositivos com o firmware atualizado. O aplicativo Azure Sphere recebe a solicitação de atualização de firmware e pode iniciar a atualização.
    • Prós: Solução de gerenciamento fácil para definir, acionar e monitorar uma atualização.
    • Contras: Deve usar o Hub IoT do Azure, nenhum outro ponto de extremidade de nuvem é suportado.
  • Verificação de firmware separada (solução personalizada):

    • Descrição: crie uma verificação de firmware personalizada no aplicativo Azure Sphere. Verifique regularmente um ponto de extremidade definido para uma nova versão e, se for detetado, inicie uma atualização.
    • Prós: Funciona com qualquer endpoint na nuvem para baixar firmware.
    • Contras: Deve adicionar monitoramento do processo de atualização. Solução personalizada, portanto, sem aproveitar nenhum caminho de atualização existente.

Solução recomendada: se acionar atualizações para processadores downstream por meio das atualizações do aplicativo Azure Sphere funcionar para seu cenário, essa abordagem será recomendada. Essa solução garante que as versões de firmware do Azure Sphere e downstream sejam sempre correspondidas e não requer a criação de outro sistema para acionar atualizações. Caso contrário, se o aplicativo já usa o Hub IoT do Azure, o Gerenciamento de Dispositivos IoT é a solução recomendada, caso contrário, uma solução personalizada será necessária.

Exemplos:

  • A solução de referência ExternalMcuUpdate mostra como exigir uma versão de firmware específica em um dispositivo downstream para cada versão do aplicativo Azure Sphere.
  • O Azure Sphere External MCU OTA implementa uma atualização de firmware para o Azure Sphere utilizando o gerenciamento de dispositivos do Hub IoT do Azure.
  • O tutorial de atualização de firmware do Hub IoT do Azure descreve como acionar atualizações por meio das propriedades gêmeas do dispositivo do Hub IoT do Azure.

Etapa 2: Adquirir a atualização de firmware

Problema: Como o firmware deve ser baixado dadas as restrições de memória do Azure Sphere MT3620?

Opções:

  • Inclua o firmware downstream no pacote de imagens implantado no MT3620. Isto é possível se o tamanho total do software MT3620, incluindo a imagem a jusante, não exceder o limite de flash documentado.

  • Baixe o firmware de um local hospedado, por exemplo, usando o Armazenamento de Blobs do Azure. Pode ser necessário baixar o firmware em partes, uma vez que o limite de RAM do MT3620 pode impedir que toda a imagem seja baixada para a RAM. É importante validar o servidor usado para o download do firmware, por exemplo, usando HTTPS, para garantir que apenas o firmware confiável seja baixado e aplicado no processador downstream. Observe que, nesse caso, é possível que um dispositivo esteja online enquanto o aplicativo Azure Sphere é atualizado, mas fique offline antes que o novo aplicativo possa baixar o novo firmware downstream. Se essa for uma possibilidade para seu caso de uso, é importante manter a compatibilidade entre o aplicativo Azure Sphere e versões de firmware downstream mais antigas.

Solução recomendada: Se a imagem de firmware se encaixar no limite de flash do pacote de imagens do Azure Sphere e se for aceitável atualizar o software MT3620 sempre que uma atualização downstream for necessária, é recomendável incluir a imagem downstream no pacote de imagens MT3620. Caso contrário, terá de descarregar a imagem do firmware a partir da sua localização alojada.

Exemplos:

  • A solução de referência ExternalMcuUpdate mostra como incluir uma imagem de firmware downstream como parte de um pacote de imagens do Azure Sphere.
  • HTTPS Curl Easy Sample mostra como executar um download em partes usando um buffer de RAM de tamanho fixo.

Etapa 3: Determinar um local de download intermediário

Problema: Este problema só é relevante se não estiver a utilizar uma imagem de firmware incorporada no pacote de imagens do Azure Sphere e em que o firmware transferido for maior do que a RAM disponível no MT3620.

Opções:

  • Flash externo conectado ao Azure Sphere.
  • Armazenamento MCU ou PC a jusante.

Não há uma resposta certa ou errada para onde armazenar o firmware baixado. Esta escolha depende da configuração e do custo do hardware. Qual é a melhor opção para si? Você pode considerar anexar memória flash externa ao seu dispositivo Azure Sphere ou selecionar um processador downstream com armazenamento grande o suficiente para receber a atualização de firmware.

Solução recomendada: Selecione a melhor opção para a sua configuração.

Exemplos:

Etapa 4: Validar o firmware e atualizar o processador a jusante

Problema: Como você valida e aplica a atualização de firmware ao seu processador downstream?

Opções: Cada processador terá uma solução diferente. A maioria dos fabricantes de processadores tem exemplos que mostram como executar atualizações de firmware em seus dispositivos e você deve seguir as práticas recomendadas para sua solução específica. O download e a atualização do firmware devem realizar uma verificação de integridade para validar o firmware antes de iniciar a atualização.

Solução recomendada: Difere para cada processador. Consulte o exemplo do fabricante do processador.

Exemplo: A solução de referência ExternalMcuUpdate demonstra como atualizar um nRF52 nórdico sobre uma interface UART da MT3620.