Qualificação da placa
Pré-requisitos
Requisitos de hardware:
A placa de desenvolvimento baseada em MCU na qual as bibliotecas de AWS IoT do FreeRTOS são executadas deve ter:
-
Capacidade de conectividade Ethernet, Wi-Fi ou de rede celular
Requisitos de software:
O fluxograma de portabilidade no Guia de portabilidade do FreeRTOS identifica as bibliotecas de AWS IoT necessárias do FreeRTOS para qualquer placa de desenvolvimento baseada em MCU. O subconjunto mínimo é:
Kernel do FreeRTOS
coreMQTT
Atualizações sem fios do AWS IoT
Requisitos de teste:
Verifique a implementação das APIs específicas da plataforma de hardware exigidas pelas bibliotecas do FreeRTOS em testes
definidos pelo repositório GitHub usando para o AWS IoT Device Tester para FreeRTOS. Consulte Verificação das bibliotecas do FreeRTOS transferidas usando o AWS IoT Device Tester (IDT). Verifique a interoperabilidade com AWS IoT Core usando o Device Advisor. Veja a Etapa 4 do Verificação das bibliotecas do FreeRTOS transferidas usando o AWS IoT Device Tester (IDT).
Recomendações
Para melhorar a segurança, recomendamos o seguinte.
-
Para evitar que um comprometimento offline ou temporário se torne permanente, armazene segredos e credenciais em uma Raiz de confiança de hardware que resista a ataques físicos, como um Elemento de segurança
ou um Enclave de segurança. -
Para mitigar o risco de falsificação
de rede e ataques man-in-the-middle que podem resultar na divulgação não autorizada de dados, use um True Random Number Generator (TRNG) para as bibliotecas do FreeRTOS que implementam protocolos como DHCP, DNS, TCP/IP e TLS. Para obter mais informações, consulte a página 50 da Recomendação para a geração de números aleatórios utilizando geradores de bits aleatórios determinísticos (NIST SP 800-90A).
Etapas de qualificação
Verificação das bibliotecas do FreeRTOS transferidas usando o AWS IoT Device Tester (IDT)
Faça a portabilidade das bibliotecas do FreeRTOS para sua placa. Consulte o Guia de portabilidade do FreeRTOS para obter instruções.
Crie um projeto de teste e transfira os testes necessários do repositório GitHub Freertos-libraries-integration-tests
. Chame a tarefa do executor de testes RunQualificationTest . nota
Para uma boa experiência do desenvolvedor, é recomendável transferir as bibliotecas do FreeRTOS e executar o grupo de teste individual correspondente localmente usando um IDE para verificar a integração.
A tarefa do executor de testes é executada em um projeto de teste individual ou no projeto da aplicação de demonstração.
Crie um arquivo
manifest.ymlpara listar todas as dependências usadas nas qualificações. As dependências incluem as bibliotecas do FreeRTOS e os repositórios de teste. Para mais detalhes, consulte Instruções do arquivo de manifesto do FreeRTOS.nota
O
manifest.ymlé usado pelo IDT para descobrir as dependências necessárias para verificações de integridade em versões específicas da biblioteca FreeRTOS e para configurar o projeto de teste para compilar, instalar e executar os binários de teste.O IDT não exige uma estrutura de projeto específica e usa o caminho de referência incluído no arquivo
manifest.yml.-
Verifique a interoperabilidade do AWS IoT usando o Device Advisor.
-
Crie um projeto de demonstração que use os mesmos componentes, incluindo bibliotecas FreeRTOS, portabilidade e tarefas de integração, como o OTA, usadas nos testes acima.
Para qualificação, a aplicação de demonstração deve fornecer os seguintes recursos:
Execute publicações do MQTT e assine um tópico.
Execute atualizações OTA.
Crie um carregador de inicialização compatível com atualizações OTA. Use o próprio carregador de inicialização ou MCUboot
. Consulte Labs-FreeRTOS-Plus-MCUBoot .
nota
O repositório FreeRTOS no GitHub
tem exemplos pré-configurados que demonstram tarefas individuais. Há também uma demonstração da coreMQTT Agent integrada que incorpora tarefas coreMQTT e OTA. Além disso, consulte Integrações de IoT em destaque do FreeRTOS em Exemplos de projetos de qualificação. -
O AWS IoT Device Tester executará sua demonstração no AWS IoT Device Advisor. Os seguintes casos de teste do Device Advisor são necessários para a qualificação.
Casos de teste Caso de teste Casos de teste Obrigatório TLS Conexão TLS Sim TLS Pacotes de criptografia de suporte ao TLS da AWS do AWS IoT Sim, com pacotes de criptografia recomendados TLS Certificado de servidor TLS desprotegido Sim TLS TLS: certificado do servidor de nome de assunto incorreto Sim MQTT MQTT Connect Sim MQTT Novas tentativas de jitter de conexão MQTT Sim, sem avisos MQTT MQTT Subscribe Sim MQTT MQTT Publish Sim MQTT QoS 1 ClientPuback de MQTT Sim MQTT No Ack PingResp de MQTT Sim
-
Execute os testes do AWS IoT Device Tester e gere um relatório de teste.
-
O IDT configura testes e faz uma compilação e instalação na placa automaticamente. Para habilitar isso, você deve configurar o IDT para executar os comandos build e flash do dispositivo no arquivo
userdata.json. Consulte Definir configurações de compilação, atualização e testes no Guia do usuário do IDT para FreeRTOS. -
Forneça recursos compatíveis com o dispositivo no arquivo
device.json, como tipo de conectividade, algoritmo de criptografia e método de provisionamento de chaves para que o IDT determine os testes aplicáveis a serem executados. Consulte Criar um pool de dispositivos no IDT para FreeRTOS no Guia do usuário do IDT para FreeRTOS. -
Crie e configure a conta da AWS no IDT para criar os recursos de nuvem necessários. Consulte Criar e configurar a conta da AWS para o IDT para criar os recursos de nuvem necessários no Guia do usuário do IDT para FreeRTOS.
-
Preparação para enviar
Escreva um Guia de conceitos básicos para executar o projeto de demonstração MQTT ou OTA em seu dispositivo. Consulte Criação de um guia de conceitos básicos no guia do FreeRTOS para o dispositivo para obter instruções.
Forneça um documento de modelagem de ameaças verificando se você mitiga os riscos definidos em Modelagem de ameaças para o carregador de inicialização de dispositivo do AWS IoT, descrito em Portabilidade da biblioteca OTA no Guia de portabilidade do FreeRTOS. Este documento deve ser carregado como um Ativo de suporte ao enviar o dispositivo na Central de parceiros da APN.
Forneça um repositório público para downloads de código. Recomendamos que você forneça um link do repositório corporativo do GitHub.
Envio de qualificação
Relatório de teste do IDT.
Relatório de teste do AWS IoT Device Advisor.
Documento de modelagem de ameaças.
Repositório GitHub com o código-fonte para downloads.