OTA a jusante Atualizações com o Azure Sphere
Muitas soluções do Azure Sphere incorporam um MCU certificado do Azure Sphere e outros processadores como parte de uma solução de IoT completa. Estes outros processadores precisam de atualizações regulares de firmware. Este guia descreve como ativar atualizações OTA a jusante com o Azure Sphere.
Consoante o cenário de aplicação específico, existem várias formas diferentes de o conseguir. Cada solução tem um fluxo comum:
- Acione a atualização de firmware.
- Adquirir a atualização de firmware.
- Determinar uma localização de transferência intermédia.
- Valide o firmware e atualize o processador a jusante.
Fase 1: Acionar a atualização de firmware
Problema: Como é iniciado o processo de atualização de firmware?
Opções:
Cada versão da aplicação do Azure Sphere está associada a uma versão de firmware a jusante:
- Descrição: Quando a aplicação Azure Sphere é iniciada, a versão de firmware suportada é comparada com a versão implementada no processador a jusante. Se as versões não corresponderem, é necessária uma atualização.
- Profissionais: Contrato de suporte definido entre a aplicação Azure Sphere e a versão de firmware. Além disso, tira partido do processo de atualização da aplicação do Azure Sphere existente.
- Contras: Tem de atualizar a aplicação Azure Sphere para acionar uma atualização de firmware, mesmo que não existam alterações à aplicação Azure Sphere. Além disso, tem de adicionar monitorização do progresso da atualização.
Hub IoT do Azure atualização de firmware de gestão de dispositivos:
- Descrição: Quando uma atualização de firmware está pronta, um operador de Solução IoT cria uma nova configuração de gestão de dispositivos com o firmware atualizado. A aplicação do Azure Sphere recebe o pedido de atualização de firmware e pode iniciar a atualização.
- Profissionais: Solução de gestão fácil para definir, acionar e monitorizar uma atualização.
- Contras: Tem de utilizar Hub IoT do Azure, não são suportados outros pontos finais da cloud.
Verificação de firmware separada (solução personalizada):
- Descrição: Crie uma verificação de firmware personalizada na aplicação do Azure Sphere. Verifique regularmente um ponto final definido para uma nova versão e, se for detetada, inicie uma atualização.
- Profissionais: Funciona com qualquer ponto final da cloud para transferir firmware.
- Contras: Tem de adicionar a monitorização do processo de atualização. Solução personalizada criada, pelo que não pode tirar partido de quaisquer caminhos de atualização existentes.
Solução Recomendada: Se acionar atualizações para processadores a jusante através das atualizações de aplicações do Azure Sphere funcionar para o seu cenário, esta abordagem é recomendada. Esta solução garante que o Azure Sphere e as versões de firmware a jusante são sempre correspondidas e não requer a criação de outro sistema para acionar atualizações. Caso contrário, se a aplicação já utilizar Hub IoT do Azure, o IoT Gestão de Dispositivos é a solução recomendada, caso contrário, é necessária uma solução personalizada.
Exemplos:
- A solução de referência ExternalMcuUpdate mostra como exigir uma versão de firmware específica num dispositivo a jusante para cada versão da aplicação do Azure Sphere.
- O OTA de MCU Externo do Azure Sphere implementa uma atualização de firmware para o Azure Sphere com Hub IoT do Azure gestão de dispositivos.
- Hub IoT do Azure tutorial de atualização de firmware descreve como acionar atualizações através Hub IoT do Azure propriedades do dispositivo duplo.
Fase 2: Adquirir a atualização de firmware
Problema: Como deve o firmware ser transferido, dadas as restrições de memória do MT3620 do Azure Sphere?
Opções:
Inclua o firmware a jusante no pacote de imagens implementado 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.
Transfira o firmware a partir de uma localização alojada, por exemplo, com Armazenamento de Blobs do Azure. Pode ser necessário transferir o firmware em segmentos, uma vez que o limite de RAM de MT3620 pode impedir que toda a imagem seja transferida para a RAM. É importante validar o servidor utilizado para a transferência de firmware (por exemplo, através de HTTPS) para garantir que apenas o firmware fidedigno é transferido e aplicado no processador a jusante. Tenha em atenção que, neste caso, é possível que um dispositivo esteja online enquanto a aplicação do Azure Sphere é atualizada, mas, em seguida, fique offline antes de a nova aplicação poder transferir o novo firmware a jusante. Se esta for uma possibilidade para o seu caso de utilização, é importante manter a compatibilidade entre a aplicação do Azure Sphere e versões de firmware a jusante mais antigas.
Solução Recomendada: Se a imagem de firmware se ajustar ao limite de flash do pacote de imagens do Azure Sphere e se for aceitável atualizar o software MT3620 sempre que for necessária uma atualização a jusante, recomenda-se que inclua a imagem a jusante no pacote de imagens MT3620. Caso contrário, terá de transferir a imagem de firmware a partir da sua localização alojada.
Exemplos:
- A solução de referência ExternalMcuUpdate mostra como incluir uma imagem de firmware a jusante como parte de um pacote de imagens do Azure Sphere.
- HttpS Curl Easy Sample (Exemplo Fácil de Curl https ) mostra como efetuar uma transferência segmentada com uma memória intermédia de RAM de tamanho fixo.
Fase 3: Determinar uma localização de transferência intermédia
Problema: Este problema só é relevante se não estiver a utilizar uma imagem de firmware incorporada no pacote de imagens do Azure Sphere e se o firmware transferido for maior do que a RAM disponível no MT3620.
Opções:
- Flash externo ligado ao Azure Sphere.
- Armazenamento de PC ou MCU a jusante.
Não existe uma resposta certa ou errada para onde armazenar o firmware transferido. Esta opção depende da configuração e do custo do hardware. Qual é a melhor opção para si? Pode considerar anexar memória flash externa ao seu dispositivo do Azure Sphere ou selecionar um processador a jusante com armazenamento suficientemente grande para receber a atualização de firmware.
Solução Recomendada: Selecione a melhor opção para a sua configuração.
Exemplos:
Fase 4: Validar o firmware e atualizar o processador a jusante
Problema: Como valida e aplica a atualização de firmware ao processador a jusante?
Opções: Cada processador terá uma solução diferente. A maioria dos fabricantes de processadores tem exemplos que mostram como efetuar atualizações de firmware nos respetivos dispositivos e deve seguir as melhores práticas para a sua solução específica. A transferência e atualização de firmware devem efetuar uma verificação de integridade para validar o firmware antes de iniciar a atualização.
Solução Recomendada: Difere para cada processador. Veja o exemplo do fabricante do processador.
Exemplo: a solução de referência ExternalMcuUpdate demonstra como atualizar um nRF52 nórdico através de uma interface UART a partir do MT3620.