Expertise
4 minutos de leitura
5 de outubro de 2023
5 de outubro de 2023
Guia do desenvolvedor para garantir a manutenção do produto por 10 anos
Embora o Dispositivos IoT Embora os dispositivos estejam se tornando cada vez mais parte do nosso dia a dia, oferecendo inúmeros benefícios, eles também trazem consigo uma série de riscos evitáveis e inevitáveis. Isso pode afetar o desenvolvimento, interromper o funcionamento dos dispositivos e dificultar a manutenção de rotina. Consequentemente, construir uma base de clientes fiéis para o produto exige que os desenvolvedores garantam um funcionamento perfeito a longo prazo.
Segurança como fator determinante no projeto da arquitetura de firmware
Uma tendência que os desenvolvedores de IoT devem priorizar em relação ao projeto da arquitetura de firmware é atender às demandas de segurança.
No final de 2022, a estimativas sugeriu-se que havia 14.3 bilhões de dispositivos conectados. Agora, o mercado é previsto O mercado deverá crescer para US$ 483 bilhões até 2027, o que poderá resultar em mais de 29 bilhões de dispositivos conectados. No entanto, ataques cibernéticos e bugs continuam a aumentar a apreensão dos consumidores, enquanto a adoção desses dispositivos persiste. Isso significa que se espera que os desenvolvedores aumentem a confiabilidade de seus produtos.
Em termos de segurança, os desenvolvedores sentem a pressão tanto dos usuários finais quanto dos órgãos reguladores. Primeiro, as vulnerabilidades são abundantes em sistemas operacionais, microcontroladores e protocolos de conectividade. Segundo, os usuários finais esperam que os dispositivos protejam seus dados. Portanto, é provável que os governos implementem requisitos de conformidade e regulamentação mais rigorosos. Exemplos existentes dessas regulamentações incluem a Lei de Melhoria da Segurança Cibernética da IoT nos Estados Unidos e a Lei de Segurança Cibernética da UE.
Utilizando as ferramentas DRE para otimização de dispositivos IoT
Para facilitar a manutenção a longo prazo de produtos de IoTOs desenvolvedores agora podem aproveitar as ferramentas de engenharia de confiabilidade de dispositivos (DRE). A DRE fornece aos engenheiros de hardware dados tanto em nível de dispositivo individual quanto em nível de frota, simplificando a entrega de dispositivos de IoT e de borda e reduzindo os riscos.
Corrigindo Bugs
Em vez de depender de relatórios de erros dos usuários nos dias de lançamento, é mais eficaz incorporar correções e atualizações regulares ao ciclo de vida do dispositivo. Essa solução garantirá que:
- Os dispositivos podem ser redefinidos para as configurações de fábrica.
- Caso contrário, é possível restaurar uma versão anterior do firmware.
- É possível estabelecer uma rotina mínima de firmware.
- As equipes são capacitadas para seguir um fluxo de trabalho do Dia 0.
- O firmware pode ser mantido em um estado mínimo indispensável.
Essa abordagem permite que as equipes lancem produtos com a confiança de que os algoritmos podem ser continuamente aprimorados e que os dispositivos podem receber atualizações após o envio.
Tradicionalmente, a depuração tem sido um processo demorado e dispendioso, exigindo que as equipes de suporte atendam telefonemas ou respondam a e-mails, que as organizações coletem feedback e o convertam em registros para os clientes e, em seguida, enviem os dispositivos de volta aos engenheiros.
Alternativamente, é possível fazê-lo remotamente, permitindo que os dispositivos reportem problemas automaticamente através de um pipeline na nuvem, onde os dados são analisados, organizados em instâncias de erro, removendo duplicados, e posteriormente distribuídos à equipe de engenharia.
Uma técnica comum de depuração é conhecida como "core dump" (despejo de memória), que envolve a captura automática de diagnósticos detalhados para quaisquer problemas. Isso inclui coletar logs, gerar rastreamentos de pilha e coletar informações de memória, fornecendo aos engenheiros dados para a resolução de problemas. Os desenvolvedores geralmente são encarregados de reunir os dados de diagnóstico, carregá-los e tornar essas informações legíveis para humanos.
Melhorando a segurança
O envio de um produto exige um plano de atualizações, que são necessárias em caso de violações ou vulnerabilidades que precisem ser corrigidas.
Medidas de segurança adicionais incluem:
- Exigindo validação de firmware no dispositivo.
- Verificar se os mecanismos anti-rollback estão implementados.
- Garantir a entrega segura e um estado não criptografado durante a transmissão.
- Verificar se as bibliotecas de terceiros estão atualizadas.
A importância do código de terceiros reside em seu uso generalizado e em seu envolvimento frequente em funções críticas, como conectividade e criptografia. Os desenvolvedores precisam ter um conhecimento abrangente do código de terceiros, o que inclui informações sobre suas licenças e a disponibilidade de recursos de suporte.
Monitoramento
Garantir a integridade da frota e atender às crescentes demandas dos usuários depende fortemente da prática vital de monitoramento remoto de dispositivos em campo. A necessidade de monitoramento se torna ainda mais evidente quando o ciclo de desenvolvimento se estende à fase pós-produção.
Por exemplo, a detecção e a resolução de problemas podem ser realizadas com o mínimo de interrupção para o usuário, muitas vezes antes mesmo que ele perceba. Isso é possível por meio do monitoramento remoto (OTA) de métricas como:
- Duração da bateria.
- Conectividade Bluetooth.
- Uso de memória.
- Desempenho do sensor.
- Horas sem travamentos.
- Tempo médio entre falhas.
Atualizações da OTA
Uma forma eficiente de manter a operacionalidade de dispositivos conectados é por meio de atualizações OTA, ou seja, o envio sem fio de novos softwares, firmwares e outros dados. Essas atualizações podem ser feitas através de grupos de suporte, implementações faseadas e assinatura de firmware.
Os grupos de suporte consistem em desenvolvedores agrupando seus dispositivos e atualizando cada grupo separadamente. Isso permite testar versões, realizar testes A/B e experimentar de diversas maneiras. Além disso, os grupos de suporte são eficazes ao colaborar com vários clientes industriais que exigem atualizações em cronogramas variados.
A implementação faseada consiste em introduzir atualizações na frota de dispositivos de forma incremental. Isso impede que qualquer problema potencial afete todos os clientes simultaneamente. Nesse contexto, os desenvolvedores podem configurar o sistema para direcionar os problemas relatados para o sistema OTA. Se nenhum problema for relatado, eles podem prosseguir com a expansão incremental da implementação até que toda a frota receba as atualizações.
Quando há necessidade de certificar a autenticidade de um arquivo, garantindo que ele provenha de uma fonte confiável e não tenha sido alterado de forma alguma, a assinatura de firmware é um método adequado. Ao atribuir uma assinatura verificável ao arquivo, os desenvolvedores verificam a legitimidade de uma atualização de firmware. Esse processo é integrado ao bootloader, que decide se deve alertar o usuário ou tomar outra ação.
Conclusões
Em resumo, garantir a manutenção a longo prazo de produtos de IoT Exige que os desenvolvedores se adaptem às tendências em constante evolução e priorizem os principais aspectos do desenvolvimento de produtos.
Equilibrar o firmware e os elementos de design para atender às expectativas do usuário e às demandas de segurança é crucial em um mercado em rápido crescimento. Ao mesmo tempo, a utilização de ferramentas de engenharia de confiabilidade de dispositivos (DRE) pode otimizar o gerenciamento de dispositivos e reduzir riscos. Isso engloba depuração, medidas de segurança, monitoramento e atualizações over-the-air (OTA).
Correções regulares de bugs ao longo do ciclo de vida do dispositivo aumentam a confiabilidade e a satisfação do cliente. Ao mesmo tempo, medidas de segurança como validação de firmware no dispositivo e proteção contra rollback são essenciais para proteger dispositivos IoT.
O monitoramento visa garantir a integridade da frota e atender às demandas dos usuários. Por fim, as atualizações OTA permitem a manutenção contínua dos dispositivos, mantendo-os operacionais e atualizados, o que, em última análise, constrói confiança e fidelidade entre os usuários.