FreeRTOS

P: O que é FreeRTOS?

O FreeRTOS é um sistema operacional de código aberto em tempo real para microcontroladores que facilita a programação, a implantação, a segurança, a conexão e o gerenciamento de dispositivos de borda pequenos com baixo consumo de energia. Distribuído gratuitamente com a licença de código aberto do MIT, o FreeRTOS inclui um kernel e um conjunto crescente de bibliotecas de software adequados para o uso em vários setores e aplicativos. Para atender ao número cada vez maior de casos de uso, a AWS fornece bibliotecas de software que oferecem funções aprimoradas, como conectividade, segurança e atualizações por rede sem fio. Por exemplo, você pode usar o FreeRTOS para conectar com segurança seus dispositivos pequenos e de baixo consumo de energia a serviços de nuvem AWS, como o AWS IoT Core, ou a dispositivos de borda mais potentes que executam o AWS IoT Greengrass.

P: Qual é a relação entre o Amazon FreeRTOS e o FreeRTOS?

Desde 2017, o Amazon FreeRTOS tem sido uma extensão do projeto FreeRTOS. Resolvemos unificar os dois nomes para reduzir a confusão para o cliente. O projeto FreeRTOS agora inclui bibliotecas de conectividade adicionais, bibliotecas de segurança e integrações de referência de IoT.

P: Em qual região da AWS o FreeRTOS está disponível?

Consulte a Tabela de regiões da AWS para ver uma lista completa das regiões em que o FreeRTOS está disponível. Você pode fazer download do código do FreeRTOS no GitHub independentemente da sua localização geográfica e da disponibilidade na região da AWS.

P: Quais são alguns casos de uso do FreeRTOS?

O FreeRTOS pode ser usado em sistemas incorporados com aplicativos industriais, comerciais e para o consumidor. Por exemplo, medidores inteligentes, sensores de bombas de petróleo, dispositivos, sistemas de segurança comercial, controladores de aptidão física e redes de sensores podem se beneficiar com o FreeRTOS. São usados medidores inteligentes nas residências para monitorar o uso da eletricidade em tempo real. Rastreadores de fitness enviam dados de saúde por meio do dispositivo móvel do usuário à nuvem para monitoramento ou análise em tempo real. As concessionárias de serviços públicos se beneficiam com esses dados obtendo um equilíbrio de carga e uma saída de energia mais eficientes nas estações de geração de energia. São usados sensores de bombas de petróleo em plataformas para monitorar a saída em poços que podem ser submersos em grandes profundidades. Uma plataforma de petróleo pode implantar o FreeRTOS nesses sensores e usar um AWS IoT Greengrass Core para processar localmente dados de bombas e válvulas em tempo real. O AWS IoT Greengrass Core pode, em seguida, enviar lotes de dados pré-processados de sensores de bomba para a nuvem para fins de análise e data warehousing. Para saber mais sobre o AWS IoT Greengrass, clique aqui.

P: Como um desenvolvedor de microcontroladores pode acessar o FreeRTOS?

Os desenvolvedores do FreeRTOS podem fazer download do software de dispositivo microcontrolador no console do FreeRTOS, no GitHub ou FreeRTOS.org.

P: Quem pode se beneficiar do FreeRTOS?

Fornecedores de semicondutores fabricam microcontroladores e módulos como sensores de conectividade, periféricos de segurança e controladores de Ethernet. Esses microcontroladores e módulos são usados por OEMs para criar dispositivos da IoT.

OEMs incluem empresas industriais e comerciais, bem como marcas de produtos para consumidores. Os desenvolvedores de microcontroladores podem usar o FreeRTOS para projetar e desenvolver facilmente dispositivos conectados e aplicativos da IoT.

As empresas podem usar dispositivos conectados à IoT baseados no FreeRTOS para obter eficiência comercial e operacional.

P: Quais são os principais componentes do software do FreeRTOS?

O FreeRTOS inclui o kernel do FreeRTOS, um kernel de sistema operacional em tempo real para microcontroladores e bibliotecas que oferecem suporte à conectividade, à segurança e às atualizações por rede sem fio. A pilha de conectividade inclui MQTT, HTTP, TCP/IP, Wi-Fi e Bluetooth Low Energy para conectividade local e em nuvem. As bibliotecas de segurança incluem uma interface de soquete Berkeley baseada em padrões para TLS e uma interface padrão PKCS #11 para descarregamento de criptografia.

  • Kernel do FreeRTOS: um kernel de sistema operacional em tempo real (RTOS) com licença MIT para dispositivos de microcontrolador incorporados.
  • coreMQTT: uma biblioteca de cliente de MQTT que você pode usar para criar aplicações que publicam e assinam tópicos de MQTT e conectam-se a um agente de mensagens baseado em MQTT.
  • coreHTTP: uma biblioteca de cliente de HTTP que pode ser usada para criar aplicações que utilizam a API REST para conectar-se a um servidor HTTP.
  • Biblioteca de gerenciamento de Wi-Fi: uma camada de API comum que abstrai implementações de Wi-Fi específicas de portas e simplifica o desenvolvimento de aplicações.
  • Biblioteca de gerenciamento de Bluetooth Low Energy: uma camada de API padronizada que permite usar perfis Generic Access Profile (GAP – Perfil de acesso genérico) e Generic Attributes (GATT – Atributos genéricos) para criar aplicativos de Bluetooth Low Energy.
  • Biblioteca do Device Defender: permite que dispositivos baseados no FreeRTOS funcionem com o AWS IoT Device Defender. Saiba mais sobre o Device Defender aqui.
  • Biblioteca Device Shadows: define funções para criar, atualizar e excluir AWS IoT Device Shadows. Saiba mais sobre o Device Shadows aqui.
  • Agente OTA: permite gerenciar a notificação, o download e a verificação de atualizações de firmware para dispositivos do FreeRTOS.
  • Descoberta do Greengrass: uma biblioteca que ajuda dispositivos do FreeRTOS a criar e encerrar conexões com o AWS IoT Greengrass Core.
  • TLS: a interface do Transport Layer Security (TLS) é um wrapper opcional usado para abstrair detalhes de implementação de criptografia da pilha de TLS subjacente.
  • corePKCS11: implementação do padrão OASIS para PKCS #11 que abstrai o armazenamento de chaves, o acesso/definição de propriedades de objetos de criptografia e a semântica de sessões.

P: Quais são as especificações mínimas para os requisitos de hardware?

Se você executar todas as bibliotecas do FreeRTOS, incluindo TLS, microcontrolador de aplicativos, talvez você precise de um microcontrolador com velocidade de processamento > 25MHz e > 64 KB de RAM. Se a pilha de comunicação e criptografia (exceto o MQTT) for transferida para o processador de rede, o microcontrolador precisará apenas de velocidade de processamento de 10 MHz e RAM superior a 16 KB. No entanto, esses valores são apenas aproximações, pois fatores como arquitetura de MCU, compilador e nível de otimização do compilador podem afetar os requisitos de velocidade de processamento e RAM. O FreeRTOS precisa de 128 KB de memória de programa por imagem executável armazenada no microcontrolador. Para a funcionalidade de atualização OTA, duas imagens executáveis devem ser armazenadas na memória do programa ao mesmo tempo.

P: Para quais arquiteturas o FreeRTOS oferece suporte?

O FreeRTOS oferece integrações de referência de IoT para uma grande variedade de microcontroladores de nossos parceiros no AWS Partner Device Catalog. O FreeRTOS inclui o kernel do FreeRTOS, que é compatível com mais de 40 arquiteturas, incluindo a mais recente de RISC-V e ARMv8-M.

P: Como posso começar a usar o FreeRTOS?

Você pode usar o guia de conceitos básicos para obter instruções sistemáticas sobre como executar o FreeRTOS em uma placa qualificada.

P: Como posso obter suporte técnico?

Use um dos seguintes canais para obter suporte:

Fóruns da Comunidade do FreeRTOS

Premium Support

AWS Support

Problemas no GitHub

P: O que aconteceu com o grupo do Amazon FreeRTOS nos fóruns da AWS?

Para criar uma experiência melhor nos fóruns para os nossos clientes, migramos todo o conteúdo e os usuários do grupo do Amazon FreeRTOS nos fóruns da AWS para a categoria Amazon Web Services nos fóruns da Comunidade do FreeRTOS. Saiba mais aqui.

P: Há um guia do usuário?

Sim. Você pode usar o guia do usuário do FreeRTOS para começar a conectar dispositivos do FreeRTOS à AWS.

P: Posso usar o FreeRTOS para conexão com outros serviços em nuvem?

Sim. O FreeRTOS é um software de código aberto. Portanto, pode ser modificado para adequação a necessidades específicas do aplicativo.

P: Posso fazer alterações no código-fonte do FreeRTOS para o meu projeto?

Sim. O FreeRTOS é um software de código aberto distribuído nos termos da licença do MIT. Portanto, pode ser modificado para adequação a necessidades específicas de um aplicativo ou projeto sem necessidade de permissão da AWS.

P: Quanto eu pago pelo uso do FreeRTOS?

O download e o uso do FreeRTOS são gratuitos nos termos de uma licença de código aberto do MIT.

P: Como posso explorar o FreeRTOS sem comprar hardware?

Você pode explorar o código e a funcionalidade do FreeRTOS em uma máquina Windows fazendo download das bibliotecas e amostras transferidas para execução no Windows. Esses recursos são um conjunto de arquivos conhecido como simulador do FreeRTOS para Windows (simulador para Windows). Comece a usar aqui.

P: O FreeRTOS inclui hardware?

Não. O FreeRTOS é um sistema operacional de código aberto em tempo real para microcontroladores. Você pode executar o FreeRTOS no microcontrolador de sua escolha; basta transferir o código do FreeRTOS e validar o código transferido com o AWS IoT Device Tester. Para ficar mais fácil para você, fornecemos integrações de referência de IoT e portas qualificadas para microcontroladores comuns no AWS Partner Device Catalog.

P: Como faço para compreender o controle de versão do FreeRTOS?

O kernel do FreeRTOS e cada biblioteca individual usam o controle de versão semântico. No controle de versão semântico, o próprio número da versão (X.Y.Z) indica se a versão é principal, secundária ou pontual. Um incremento do número da primeira versão indica que ela é principal, um incremento do número da segunda versão indica que ela é secundária e um incremento do número da terceira indica que ela é uma versão pontual.

O controle de versão baseado em data é usado para as versões de integração de referência de IoT do FreeRTOS que consiste em um grupo de bibliotecas do FreeRTOS. Além disso, downloads que contêm o kernel e bibliotecas adicionais do FreeRTOS usam o controle de versão baseado em data. Esse controle de versão baseado em data segue o formato AAAAMM.NN para versões padrão, onde AAAA é o ano, MM é o mês e NN é a ordem da versão dentro do mês designado, com 00 sendo a primeira versão em um mês específico. Uma denotação “Major” (principal) indica a adição de novos recursos e/ou atualizações significativas em várias bibliotecas. Por exemplo, “201906.00 Major” significa que é a primeira versão em junho de 2019, que contém novos recursos e/ou atualizações significativas. Com a mudança do controle de versão semântico para as bibliotecas individuais, você pode fazer a própria avaliação do escopo e do impacto de uma nova versão do aplicativo.

Kernel do FreeRTOS

P: O que é o kernel do FreeRTOS?

Desenvolvido ao longo de um período de 15 anos em parceira com as principais empresas de chip do mundo, o kernel do FreeRTOS é o kernel de sistema operacional em tempo real líder de mercado e a solução padrão de fato para microcontroladores e pequenos microprocessadores.

P: A AWS mantém o kernel do FreeRTOS?

Sim. A atualização mais recente do kernel do FreeRTOS v10 inclui o suporte ao RISC-V e ao Armv8-M (Cortex-M33 e Cortex-M23).

P: Qual é a diferença entre a licença de código aberto do MIT e a licença de código aberto GPL modificada, usada anteriormente?

As duas licenças permitem o uso gratuito do software, mesmo em produtos comerciais. Nenhuma licença impõe qualquer obrigação para a distribuição de cópias binárias (executáveis). A licença do MIT oferece termos simplificados e possibilita um uso mais permissivo do nosso código-fonte. Com a licença do MIT, você ainda pode desenvolver e vender produtos comerciais usando o FreeRTOS (incluindo o kernel), mas não é mais obrigado a realizar modificações do código-fonte para o nosso código aberto. Isso significa que você é dono das alterações que fizer. Os únicos requisitos da licença MIT são que as notificações de direitos autorais e de permissões devem ser incluídas em todas as cópias ou em partes substanciais do software (arquivos de origem).

FreeRTOS Long Term Support

P: Quais bibliotecas estão cobertas pelo FreeRTOS Long Term Support (LTS)?

O FreeRTOS 202012.01 LTS abrange as seguintes bibliotecas: FreeRTOS kernel, FreeRTOS+TCP, coreMQTT, coreHTTP, corePKCS11, coreJSON, AWS IoT OTA, AWS IoT Jobs, AWS IoT Device Defender e AWS IoT Device Shadow.

P: Qual é o período de suporte para bibliotecas do FreeRTOS LTS?

O período de suporte para bibliotecas do FreeRTOS LTS é de dois anos. As bibliotecas do FreeRTOS 202012.01 LTS não apresentarão desenvolvimento de recursos (embora esperemos adicionar bibliotecas incrementais alguns meses após o lançamento do primeiro LTS) e incluirão atualizações de segurança e correções de bugs que a AWS considerar graves, pelo menos até o dia 31 de março de 2023.

P. Onde posso adquirir bibliotecas do FreeRTOS LTS?

Você pode obter bibliotecas do FreeRTOS LTS clonando o repositório de hub FreeRTOS 202012.01 LTS no GitHub, clonando bibliotecas do LTS individuais ou fazendo download do arquivo de zip FreeRTOS 202012.01 LTS no site FreeRTOS.org.

P: Como integro bibliotecas do FreeRTOS LTS ao meu projeto?

Você pode começar a usar de várias maneiras:
1. Você pode transformar bibliotecas individuais em bibliotecas do LTS clonando-as de seus repositórios correspondentes. Por exemplo, você pode atualizar o seu projeto para uma biblioteca de MQTT FreeRTOS LTS fazendo download de código do repositório do GitHub de coreMQTT.
2. Você pode fazer download de uma integração de referência de IoT no site FreeRTOS.org e atualizar os ponteiros de submódulo para a versão do FreeRTOS LTS.
3. Você pode clonar a última versão do FreeRTOS no GitHub e atualizar os ponteiros de submódulo para a versão do FreeRTOS LTS.

P. Como encontro informações sobre e faço download de patches do FreeRTOS LTS?

Você pode ir à seção ‘Patches do FreeRTOS LTS’ da página Bibliotecas do LTS no site FreeRTOS.org para obter as informações mais atualizadas ou assinar os avisos do GitHub para o repositório do FreeRTOS 202012.01 LTS. Os lançamentos do FreeRTOS LTS utilizam um esquema de controle de versão baseado em datas (AAAAMM) seguido por um número sequencial de patch (.XX). Por exemplo, FreeRTOS 202012.02 LTS representa o segundo patch para o lançamento do FreeRTOS LTS de dezembro de 2020. Você pode obter o patch mais atualizado no GitHub por meio de um link de download associado.

P: O que é a licença de software para o FreeRTOS LTS?

As bibliotecas do FreeRTOS 202012.01 LTS são distribuídas gratuitamente sob a licença MIT de código aberto.

P. Preciso pagar para usar as bibliotecas do FreeRTOS LTS?

Não. As bibliotecas do FreeRTOS LTS são gratuitas para todos os usuários sob a licença MIT de código aberto.

P: Quem está lançando e oferecendo suporte para FreeRTOS LTS?

A AWS irá lançar e oferecer manutenção contínua das bibliotecas do FreeRTOS LTS para beneficiar a comunidade do FreeRTOS. A comunidade do FreeRTOS é incentivada a fornecer feedback e contribuir com código na forma de solicitações pull do GitHub.

P: Qual é o ciclo de lançamentos para FreeRTOS LTS?

Esperamos que novos lançamentos do FreeRTOS LTS aconteçam a cada 1 ano e meio.

P: Qual é o SLA para atualizações de segurança e correções de bugs graves?

Nosso objetivo é resolver vulnerabilidades de segurança e bugs graves em bibliotecas do FreeRTOS LTS dentro de sete dias implementando uma mitigação de forma bem sucedida para lançar uma atualização.

P: Posso obter suporte para mais de dois anos?

Entre em contato conosco para obter opções.

P: Já estou usando uma versão do FreeRTOS. Como posso começar a usar o FreeRTOS LTS?

As versões de kernel do FreeRTOS LTS são compatíveis com versões anteriores da versão V8.0.0 ou superior de kernel do FreeRTOS LTS. Por isso, se você já estiver usando a versão V8.0.0 ou superior de kernel do FreeRTOS LTS, poderá migrar para a versão de kernel mais atualizada no lançamento do LTS por meio de mudanças mínimas ao seu código de aplicação.
Se você estiver usando bibliotecas de IoT do FreeRTOS ou da AWS na versão 201906.00 ou superior do FreeRTOS, poderá migrar para bibliotecas do FreeRTOS LTS atualizando seu projeto com:
1. Bibliotecas do LTS e camada de compatibilidade fornecidas pelas integrações de referência do AWS IoT. Essas camadas oferecem compatibilidade com versões anteriores para a versão 201906.00 ou superior do FreeRTOS - de forma que você não precisa modificar seu código de aplicação existente.
2. Somente as bibliotecas do LTS. Nesse caso, você se beneficiará de bibliotecas otimizadas direcionadas a microcontroladores restritos, mas precisará atualizar suas aplicações existentes. Se ainda estiver no início do ciclo de desenvolvimento, você poderá escolher essa opção para beneficiar-se de uma migração fácil para futuros lançamentos do LTS.

P. As camadas de compatibilidade são cobertas pelo FreeRTOS LTS?

Não. Nós o encorajamos a usar as bibliotecas do FreeRTOS LTS de forma direta para que você se beneficie da modularidade e uso de memória aprimorados, mas se você quiser usar a camada de compatibilidade para migrar de uma versão anterior do FreeRTOS para o FreeRTOS LTS, nós continuaremos fornecendo suporte técnico.

Comunidade do FreeRTOS

P: Posso colaborar com código para o FreeRTOS?

Sim. Você pode colaborar com código para o FreeRTOS por meio do GitHub. Consulte o arquivo Contributions.md no GitHub para ver as orientações.

AWS IoT Device Tester para FreeRTOS

P: O que é o AWS IoT Device Tester para FreeRTOS?

O AWS IoT Device Tester para FreeRTOS é uma ferramenta de automação de teste para Windows/Linux/Mac que possibilita aos fornecedores de semicondutores testar e qualificar o FreeRTOS nas placas dos seus microcontroladores. Com o AWS IoT Device Tester, os fornecedores de semicondutores podem verificar se as placas dos seus microcontroladores podem executar o FreeRTOS e ser autenticadas e interagir com os serviços do AWS IoT.

P: Onde obtenho o AWS IoT Device Tester para FreeRTOS?

Você pode obter o AWS IoT Device Tester para FreeRTOS aqui.

P: O AWS IoT Device Tester para FreeRTOS é necessário para qualificação e listagem no AWS Partner Device Catalog?

Sim, você pode saber mais sobre como ser listado aqui.

P: O que o AWS IoT Device Tester para FreeRTOS testa?

O AWS IoT Device Tester para FreeRTOS testa se a combinação de uma integração de referência de IoT do FreeRTOS com interfaces da camada de portabilidade da placa de um microcontrolador e os drivers de dispositivos subjacentes são compatíveis e capazes de interoperar com os serviços do AWS IoT. O AWS IoT Device Tester confirma se as interfaces das camadas de portabilidade (implementadas pelos fornecedores de semicondutores) das bibliotecas do FreeRTOS funcionam corretamente com os drivers do dispositivo. Além disso, o AWS IoT Device Tester executa testes completos para confirmar se a placa do microcontrolador pode autenticar e interagir com serviços do AWS IoT.

P: Como posso obter suporte técnico para o AWS IoT Device Tester para FreeRTOS?

Use um dos seguintes canais para obter suporte:

Premium Support

Suporte ao cliente

Problemas no GitHub

P. Como posso ter minha plataforma de hardware baseada em microcontrolador listada no AWS Partner Device Catalog?

O Programa de qualificação de dispositivos da AWS define o processo para que seu microcontrolador seja listado no AWS Partner Device Catalog. A visão geral de alto nível é a seguinte: primeiramente, é necessária a aprovação nos testes do AWS IoT Device Tester para AWS FreeRTOS. Em seguida, efetue login no Portal da rede de parceiros da AWS e faça upload do relatório do AWS IoT Device Tester para FreeRTOS. Forneça referência ao código-fonte das interfaces transferido do FreeRTOS para disponibilizá-lo aos OEMs. Depois que o código transferido e o relatório forem verificados pela AWS e outros artefatos relacionados ao dispositivo (como imagem do dispositivo, folha de dados etc.) tiverem sido apresentados, o dispositivo estará no AWS Partner Device Catalog.

P: Em que regiões o AWS IoT Device Tester para FreeRTOS está disponível?

O AWS IoT Device Tester para FreeRTOS está disponível em todas as regiões em que houver suporte ao FreeRTOS.  

P: Quanto custa o AWS IoT Device Tester para FreeRTOS?

O AWS IoT Device Tester para FreeRTOS é gratuito. Entretanto, você será responsável por todos os custos associados ao uso da AWS como parte dos testes de qualificação. Em média, uma única execução do AWS IoT Device Tester costa menos de um centavo de dólar. Consulte os custos associados na definição de preço do AWS IoT Core.

FreeRTOS e AWS IoT Greengrass

P: Qual é a diferença entre o AWS IoT Greengrass e o FreeRTOS?

O AWS IoT Greengrass é um software que permite executar com segurança recursos locais de computação, sistema de mensagens, armazenamento de dados em cache, sincronização e inferência de ML para dispositivos conectados. Com o AWS IoT Greengrass, os dispositivos conectados podem executar funções do AWS Lambda, manter o sincronismo dos dados dos dispositivos e se comunicar com outros dispositivos de forma segura, mesmo quando não estão conectados à Internet. O AWS IoT Greengrass usa o AWS Lambda para garantir que os dispositivos da IoT respondam rapidamente a eventos locais, usem funções do Lambda executadas no AWS IoT Greengrass Core para interagir com recursos locais, operem com conexões intermitentes, sejam atualizados com atualizações sem fio e minimizem o custo da transmissão de dados da IoT para a nuvem.

O FreeRTOS é um sistema operacional de código aberto e em tempo real para microcontroladores que opera na borda e normalmente não oferece suporte a chipsets capazes de executar o AWS IoT Greengrass. Esses dispositivos com microcontroladores são encontrados em diversos endpoints da IoT, como controladores de aptidão física, marca-passos, medidores de consumo elétrico, transmissões automotivas e redes de sensores. Os dispositivos do FreeRTOS não podem executar o AWS IoT Greengrass Core, mas podem disparar a execução de funções do Lambda em um dispositivo do AWS IoT Greengrass Core.

Os requisitos de hardware e os sistemas operacionais são diferentes nos dois dispositivos.

  FreeRTOS AWS IoT Greengrass
Software Sistema operacional em tempo real com bibliotecas, é executado em um microcontrolador Runtime (tempo de execução) para dispositivos Linux e SDK para dispositivos compatíveis com o AWS IoT Greengrass
Requisitos de hardware >64 KB de RAM >128 MB de RAM
Categoria Sistemas incorporados, endpoints de IoT Dispositivos de borda, gateways locais
Casos de uso Dispositivos baseados em microcontrolador Sistemas de automação industrial, routers sem fio, smartphones

P: O FreeRTOS exige o uso do AWS IoT Greengrass?

O FreeRTOS não exige o uso do AWS IoT Greengrass. O FreeRTOS é executado em endpoints da IoT e é frequentemente responsável pelas ações de ‘sondagem’ e ‘atuação’ em uma topologia de IoT. Os dispositivos do FreeRTOS podem se conectar diretamente à nuvem ou localmente a dispositivos do AWS IoT Greengrass Core.

P: Como posso conectar dispositivos do FreeRTOS a dispositivos do AWS IoT Greengrass Core?

A biblioteca de descoberta do AWS IoT Greengrass está incluída no código-fonte do FreeRTOS, o que permite encontrar e conectar um dispositivo do AWS IoT Greengrass Core. Para obter mais informações, consulte o Guia do usuário do FreeRTOS.

FreeRTOS e Bluetooth Low Energy

P: Qual é o suporte ao Bluetooth Low Energy no FreeRTOS?

O suporte do Bluetooth Low Energy no FreeRTOS oferece uma camada de API padronizada para que os desenvolvedores criem aplicativos de Bluetooth Low Energy portáteis nas placas qualificadas do FreeRTOS. O suporte inclui SDKs para Android e iOS que possibilitam que um dispositivo do FreeRTOS consuma serviços do AWS IoT usando um dispositivo Android ou iOS como proxy. Você pode usar os perfis Generic Access Profile (GAP – Perfil de acesso genérico) e Generic Attributes (GATT – Atributos genéricos) para criar aplicativos de Bluetooth Low Energy, e usar perfis personalizados para MQTT com Bluetooth Low Energy e provisionamento de Wi-Fi no Bluetooth Low Energy. Você também pode usar outros serviços e recursos do AWS IoT, incluindo o AWS IoT Device Defender, o Device Shadows e as atualizações OTA.

P: Por que devo usar Bluetooth Low Energy com o FreeRTOS?

Se você for um desenvolvedor que precisa criar um aplicativo incorporado de Bluetooth Low Energy, conecte os dispositivos de Bluetooth Low Energy ao AWS IoT por meio de um proxy Android ou iOS ou use recursos do AWS IoT, como o AWS IoT Device Shadows, para se beneficiar do uso do Bluetooth Low Energy no FreeRTOS. A API padronizada do Bluetooth Low Energy para o FreeRTOS permite que você codifique aplicativos portáteis em dispositivos qualificados do FreeRTOS. Se você decidir usar um microcontrolador diferente (por exemplo, para fazer upgrade do produto), poderá usar o código do aplicativo de Bluetooth Low Energy existente como base para adicionar recursos mais novos. Em seguida, você poderá se concentrar no código do seu aplicativo e não se preocupar com conectividade e as bibliotecas de segurança subjacentes, que não são recursos que diferenciam o seu produto.

P: Que placas têm suporte do Bluetooth Low Energy no FreeRTOS?

Visite nossa página de conceitos básicos para obter mais informações sobre o hardware compatível.

P: Como posso encontrar as bibliotecas de que preciso?

Você pode fazer o download do código-fonte do FreeRTOS no console do FreeRTOS e no repositório do FreeRTOS no GitHub, além de fazer download dos SDKs para Android e iOS no GitHub. O código-fonte do FreeRTOS tem exemplos de demonstração e os SDKs móveis têm amostras de aplicativos para ajudar você a começar a usar rapidamente.

P: O suporte do FreeRTOS ao Bluetooth Low Energy funciona somente com a AWS?

Não. As bibliotecas do FreeRTOS para Bluetooth Low Energy são de código aberto e seguem a licença do MIT. Portanto, os desenvolvedores podem fazer modificações segundo suas necessidades específicas.

P: Quais versões do Bluetooth Low Energy são permitidas?

O FreeRTOS oferece suporte ao Bluetooth Low Energy versão 4.2 e superior. O Bluetooth Low Energy versão 4.2 aumenta os níveis de segurança adicionando suporte para conexões seguras do Bluetooth Low Energy, recurso de segurança aprimorado introduzido no Bluetooth Low Energy versão 4.2 para autenticar um dispositivo par e criar um canal criptografado.

P: A Amazon fornece a pilha do Bluetooth Low Energy?

Não. O FreeRTOS fornece uma biblioteca padronizada de API do Bluetooth Low Energy que faz interface com uma pilha de Bluetooth Low Energy de terceiros (por exemplo, fornecedor de MCU).

P: A que serviços de GATT o FreeRTOS oferece suporte para habilitar o Bluetooth Low Energy?

O suporte ao Bluetooth Low Energy no FreeRTOS permite que os desenvolvedores adicionem qualquer número de serviços de GATT padronizados e personalizados, dependendo dos recursos do hardware de destino. O FreeRTOS contém dois perfis de cliente: 1) MQTT com Bluetooth Low Energy, permitindo que dispositivos de Bluetooth Low Energy usem serviços do AWS IoT e 2) Provisionamento de Wi-Fi no Bluetooth Low Energy, para fornecer credenciais de Wi-Fi em um dispositivo de IoT usando o Bluetooth Low Energy.

P: O proxy do Bluetooth Low Energy pode executar uma ação local?

No momento, não há um mecanismo para interceptar mensagens em trânsito entre um dispositivo de Bluetooth Low Energy e o AWS IoT. O proxy do Bluetooth Low Energy atua apenas como um dispositivo pass-through.

No entanto, você pode usar métodos e classes fornecidos em bibliotecas do proxy como ponto de partida e modificar essas bibliotecas para interceptar as mensagens e executar medidas locais.

P: Quais são os benefícios do uso de MQTT com Bluetooth Low Energy?

O MQTT com Bluetooth Low Energy permite que dispositivos de Bluetooth Low Energy se conectem ao AWS IoT por meio de um dispositivo proxy, bem como o uso de outros serviços e recursos da AWS, incluindo AWS IoT Device Defender, AWS IoT Device Shadows e atualizações OTA do FreeRTOS.

P: Posso usar várias opções de conectividade no mesmo dispositivo?

Sim. Você pode usar simultaneamente o MQTT com Wi-Fi e o MQTT com Bluetooth Low Energy, desde que o dispositivo tenha memória suficiente para isso.

P: Como posso autenticar um dispositivo de proxy com o AWS IoT?

O AWS IoT usa o serviço Amazon Cognito para autenticar dispositivos móveis com serviços de nuvem. No entanto, você também pode usar certificados X.509 compatíveis com os SDKs móveis do FreeRTOS para autenticar um dispositivo proxy com o AWS IoT.

FreeRTOS e LTE-M celular

P: O que é a biblioteca de interface celular do FreeRTOS e o que mais está incluído?

Nós temos uma biblioteca celular do FreeRTOS de demonstração que facilita o desenvolvimento de soluções seguras de IoT de LTE-M (or CAT-M1). Há novas integrações de referência e projetos de demonstração disponíveis nos nossos parceiros Quectel, Sierra Wireless e u-blox.

P: Quais tecnologias celulares são suportadas?

A biblioteca celular do FreeRTOS oferece suporte para modems celulares LTE-M. O LTE-M é um tipo de tecnologia de rádio padrão de rede de longa distância e baixa potência (LPWAN) desenvolvida por 3GPP para habilitar uma grande variedade de dispositivos e serviços celulares.

P: Quais modems celulares são suportados nessa demonstração?

No momento, a biblioteca celular do FreeRTOS oferece interoperabilidade entre os seguintes modems LTE-M: Quectel BG96, Sierra Wireless HL7802 e u-blox SARA-R4.

P: Onde posso obter o código-fonte?

O código-fonte para a biblioteca celular do FreeRTOS e as integrações de referência de IoT estão disponíveis no repositório FreeRTOS Labs no GitHub.

FreeRTOS e AWS IoT Device Management

P: Como posso atualizar meus dispositivos com novo firmware?

Você pode usar o recurso de atualização Over-the-Air (OTA, remota) do FreeRTOS. No console do AWS IoT Device Management, basta fornecer uma imagem de firmware, selecionar os dispositivos a serem atualizados, selecionar um método de assinatura de código e criar a atualização OTA de trabalho do FreeRTOS. Para obter mais informações sobre o recurso de atualização remota e a assinatura de código, consulte o Guia do usuário do FreeRTOS.

P: O que é assinatura de código?

A assinatura de código permite que os desenvolvedores confirmem a integridade e a origem de imagens de firmware programadas para implantação OTA em dispositivos do FreeRTOS. O processo confirma a integridade de imagens de firmware usando um hash criptográfico que confirma que o código não foi alterado ou corrompido desde a assinatura. Além disso, o processo usa criptografia de chaves públicas para assinar essas imagens com comprovação de origem que pode ser validada no dispositivo. Usando o trabalho de atualização remota de dispositivo do FreeRTOS integrado no console do AWS IoT Device Management, os desenvolvedores podem fazer upload de uma nova imagem de firmware, assinar essa imagem e entregá-la a um grupo de dispositivos em campo. Esses dispositivos validarão a assinatura no download e instalarão código confiável. Os clientes podem usar o IAM para oferecer controles de acesso detalhados para ferramentas de assinatura. Assim, apenas os desenvolvedores designados poderão assinar e programar novas atualizações de firmware.

P: Preciso usar assinatura de código?

Não. Você também pode usar o seu próprio serviço de assinatura e fazer upload de uma imagem assinada diretamente no Amazon S3. Será necessário modificar o agente de OTA do FreeRTOS para aceitar o formato de assinatura escolhido.

P: Qual hardware oferece suporte a atualizações over-the-air (OTA, remotas)?

Você pode encontrar hardware qualificado com suporte a OTA do FreeRTOS no AWS Partner Device Catalog.

Segurança do FreeRTOS

P: Como o FreeRTOS protege dados em trânsito?

O FreeRTOS usa o Transport Layer Security (TLS 1.2) para oferecer conexões seguras para a nuvem. O protocolo TLS garante privacidade e integridade de dados na comunicação entre dois aplicativos. Ele garante que um dispositivo do FreeRTOS e o servidor na nuvem sejam autenticados mutuamente usando certificados X.509 e que os dados em trânsito sejam criptografados.

P: Como o FreeRTOS protege os dados dentro do dispositivo (ociosos)?

O FreeRTOS usa uma interface de aplicativos padrão, denominada PKCS #11, para criptografia, assinaturas digitais e gerenciamento de objetos criptográficos. Os objetos criptográficos serão mantidos em um armazenamento dedicado ou na memória flash do microcontrolador principal se o armazenamento dedicado não estiver disponível. Se o seu dispositivo necessitar de criptografia de dados ociosos, recomendamos o uso de hardware criptográfico dedicado para proteger as suas chaves de criptografia. Use a API PKCS #11 para acessar chaves e criptografar e descriptografar dados de aplicativos.

P: Como me manter informado sobre os mais recentes patches de segurança?

As atualizações de segurança são fornecidas por meio do console do FreeRTOS, da página de atualizações de segurança do FreeRTOS e no GitHub.

P: Onde posso relatar uma preocupação com segurança?

Para relatar um problema de segurança, consulte Relatar vulnerabilidade na AWS.

P: Como posso atualizar dispositivos do FreeRTOS com os mais recentes patches de segurança?

Recomendamos que você use o recurso de atualização remota (OTA) do FreeRTOS para enviar patches de segurança aos dispositivos do FreeRTOS. No console do AWS IoT Device Management, você pode fornecer uma imagem de firmware, selecionar os dispositivos a serem atualizados e criar uma atualização de trabalho OTA do FreeRTOS. O recurso de assinatura de código verificará a imagem assinada no dispositivo para garantir que o código do dispositivo não seja comprometido durante a implantação e as atualizações. Para obter mais informações sobre o recurso de atualização OTA, consulte o guia do usuário do FreeRTOS.

Pronto para começar?
Cadastre-se
Tem outras dúvidas?
Entre em contato conosco