Primeiras etapas
Importante
Essa página se refere ao repositório do Amazon-FreeRTOS, que está preterido. Recomendamos começar aqui ao criar um novo projeto. Se você já tem um projeto FreeRTOS existente baseado no repositório Amazon-FreeRTOS que está preterido, consulte o Guia de migração do repositório Github do Amazon FreeRTOS.
Para começar a usar o FreeRTOS com AWS IoT, é necessário ter uma conta da AWS, um usuário do IAM com permissão para acessar AWS IoT e serviços de nuvem do FreeRTOS. Você também precisa fazer download do FreeRTOS e configurar o projeto de demonstração da placa do FreeRTOS para trabalhar com o AWS IoT. As seções a seguir o orientam ao longo desses requisitos.
nota
-
Se estiver utilizando o Espressif ESP32-DevKitC, ESP-WROVER-KIT ou o ESP32-WROOM-32SE, ignore estas etapas e vá para Conceitos básicos do Espressif ESP32-DevKitC e do ESP-WROVER-KIT.
-
Se estiver usando o Nordic nRF52840-DK, ignore estas etapas e vá para Conceitos básicos do Nordic nRF52840-DK.
Configuração das permissões e da conta da AWS
Inscrever-se para uma Conta da AWS
Se você ainda não tem uma Conta da AWS, siga as etapas abaixo para criar uma.
Como cadastrar uma Conta da AWS
Abra https://portal.aws.amazon.com/billing/signup
. Siga as instruções online.
Parte do procedimento de inscrição envolve receber uma chamada telefônica ou uma mensagem de texto e inserir um código de verificação pelo teclado do telefone.
Quando você se inscreve para uma Conta da AWS, um Usuário raiz da conta da AWS é criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar tarefas que exigem acesso de usuário-raiz.
A AWS envia um e-mail de confirmação depois que o processo de inscrição é concluído. A qualquer momento, é possível exibir as atividades da conta atual e gerenciar sua conta acessando https://aws.amazon.com/
Criar um usuário com acesso administrativo
Depois de se cadastrar em uma Conta da AWS, proteja seu Usuário raiz da conta da AWS, habilite o AWS IAM Identity Center e crie um usuário administrativo para não usar o usuário-raiz em tarefas cotidianas.
Proteger o Usuário raiz da conta da AWS
-
Faça login no Console de gerenciamento da AWS
como o proprietário da conta ao escolher a opção Usuário-raiz e inserir o endereço de e-mail da Conta da AWS. Na próxima página, insira a senha. Para obter ajuda ao fazer login usando o usuário-raiz, consulte Fazer login como usuário-raiz no Guia do usuário do Início de Sessão da AWS.
-
Habilite a autenticação multifator (MFA) para o usuário-raiz.
Para obter instruções, consulte Habilitar um dispositivo MFA virtual para sua Conta da AWS de usuário-raiz (console) no Guia do usuário do IAM.
Criar um usuário com acesso administrativo
-
Habilita o Centro de Identidade do IAM.
Para obter instruções, consulte Habilitar o AWS IAM Identity Center no Guia do usuário do AWS IAM Identity Center.
-
No Centro de Identidade do IAM, conceda o acesso administrativo a um usuário.
Para obter um tutorial sobre como usar o Diretório do Centro de Identidade do IAM como a fonte de identidade, consulte Configurar o acesso dos usuários com o Diretório do Centro de Identidade do IAM padrão no Guia do usuário do AWS IAM Identity Center.
Iniciar sessão como o usuário com acesso administrativo
-
Para fazer login com o seu usuário do Centro de Identidade do IAM, use o URL de login enviado ao seu endereço de e-mail quando o usuário do Centro de Identidade do IAM foi criado.
Para obter ajuda para fazer login usando um usuário do Centro de Identidade do IAM, consulte Fazer login no portal de acesso da AWS, no Guia do usuário do Início de Sessão da AWS.
Atribuir acesso a usuários adicionais
-
No Centro de Identidade do IAM, crie um conjunto de permissões que siga as práticas recomendadas de aplicação de permissões com privilégio mínimo.
Para obter instruções, consulte Criar um conjunto de permissões no Guia do usuário do AWS IAM Identity Center.
-
Atribua usuários a um grupo e, em seguida, atribua o acesso de autenticação única ao grupo.
Para obter instruções, consulte Adicionar grupos no Guia do usuário do AWS IAM Identity Center.
Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
-
Usuários e grupos no AWS IAM Identity Center:
Crie um conjunto de permissões. Siga as instruções em Criação de um conjunto de permissões no Guia do usuário do AWS IAM Identity Center.
-
Usuários gerenciados no IAM com provedor de identidades:
Crie um perfil para a federação de identidades. Siga as instruções em Criando um perfil para um provedor de identidades de terceiros (federação) no Guia do Usuário do IAM.
-
Usuários do IAM:
-
Crie um perfil que seu usuário possa assumir. Siga as instruções em Criação de um perfil para um usuário do IAM no Guia do usuário do IAM.
-
(Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em Adição de permissões a um usuário (console) no Guia do usuário do IAM.
-
Registro da placa MCU com AWS IoT
Sua placa deve ser registrada com a AWS IoT para se comunicar com a Nuvem AWS. Para registrar sua placa no AWS IoT, você deve ter:
- Uma política da AWS IoT
-
A política do AWS IoT concede ao dispositivo permissões para acessar recursos do AWS IoT. Ela é armazenada na Nuvem AWS.
- Uma coisa da AWS IoT
-
Uma coisa da AWS IoT permite gerenciar os dispositivos na AWS IoT. Ela é armazenada na Nuvem AWS.
- Uma chave privada e um certificado X.509
-
A chave privada e o certificado permitem que o dispositivo seja autenticado com AWS IoT.
Para registrar a placa manualmente, siga os procedimentos abaixo.
Para criar uma política do AWS IoT
-
Para criar uma política do IAM, você precisa saber sua região da AWS e o número da conta da AWS.
Para localizar o número da conta da AWS, abra o Console de Gerenciamento da AWS
, localize e expanda o menu abaixo do nome da conta no canto superior direito e selecione Minha conta. O ID da conta é exibido em Account Settings (Configurações da conta). Para encontrar a região da AWS para sua conta da AWS, use a AWS Command Line Interface. Para instalar a AWS CLI, siga as instruções no Guia do usuário da AWS Command Line Interface. Depois de instalar a AWS CLI, abra uma janela de prompt de comando e digite o seguinte comando:
aws iot describe-endpoint --endpoint-type=iot:Data-ATSO resultado deve ser semelhante ao seguinte:
{ "endpointAddress": "xxxxxxxxxxxxxx-ats.iot.us-west-2.amazonaws.com" }Neste exemplo, a região é
us-west-2.nota
Recomendamos o uso de endpoints do ATS, conforme mostrado no exemplo.
-
Navegue até o console do AWS IoT
. -
No painel de navegação, escolha Secure (Seguro), Policies (Políticas) e Create (Criar).
-
Insira um nome para identificar a política.
-
Na seção Add statements (Adicionar instruções), escolha Advanced mode (Modo avançado). Copie e cole o seguinte JSON na janela do editor de política. (Substitua
eaws-regionpor sua região e seu ID de conta da AWS.)aws-accountEssa política concede as seguintes permissões:
iot:Connect-
Concede ao dispositivo permissão para se conectar ao agente de mensagem da AWS IoT com qualquer ID de cliente.
iot:Publish-
Concede ao dispositivo permissão para publicar uma mensagem MQTT em qualquer tópico MQTT.
iot:Subscribe-
Concede ao dispositivo permissão para assinar o filtro de tópico MQTT.
iot:Receive-
Concede ao dispositivo permissão para receber mensagens do agente de mensagem da AWS IoT em qualquer tópico MQTT.
-
Escolha Criar.
Para criar uma coisa do IoT, chave privada e certificado para o dispositivo
-
Navegue até o console do AWS IoT
. -
No painel de navegação, escolha Manage (Gerenciar) e, depois, Things (Coisas).
-
Se você não tiver nada do IoT registrado na sua conta, a página You don't have any things yet (Você não tem coisas ainda) será exibida. Se você visualizar esta página, selecione Register a thing (Registrar uma coisa). Caso contrário, escolha Criar.
-
Na página Criar AWS IoT objetos, escolha a opção Criar uma único objeto.
-
Na página Add your device to the thing registry (Adicionar seu dispositivo ao registro de coisas), insira um nome para a coisa e escolha Next (Próximo).
-
Na página Add a certificate for your thing (Adicionar um certificado à sua coisa), em One-click certificate creation (Criação do certificado com um clique, escolha Create certificate (Criar certificado).
-
Baixe a chave privada e o certificado escolhendo os links Download para cada um deles.
-
Selecione Activate (Ativar) para ativar o certificado. Os certificados devem ser ativados antes do uso.
-
Escolha Attach a policy (Anexar uma política) para anexar uma política ao certificado que concede ao dispositivo acesso a operações do AWS IoT.
-
Escolha a política que você acabou de criar e escolha Register thing (Registrar coisa).
Depois que a conta estiver registrada na AWS IoT, você poderá prosseguir para Fazer download do FreeRTOS.
Fazer download do FreeRTOS
Você pode fazer download do FreeRTOS a partir do repositório FreeRTOS no GitHub
Depois de fazer download do FreeRTOS, você poderá prosseguir para Configuração das demonstrações do FreeRTOS.
Configuração das demonstrações do FreeRTOS
É necessário editar alguns arquivos de configuração no diretório do FreeRTOS antes de compilar e executar demonstrações na placa.
Para configurar o endpoint da AWS IoT
Você precisa fornecer ao FreeRTOS o endpoint do AWS IoT para que a aplicação em execução em sua placa possa enviar solicitações para o endpoint correto.
-
Navegue até o console do AWS IoT
. -
No painel de navegação à esquerda, escolha Configurações.
Seu endpoint do AWS IoT é exibido na seção Endpoint de dados do dispositivo. Deve ser semelhante a
. Anote esse endpoint.1234567890123-ats.iot.us-east-1.amazonaws.com -
No painel de navegação, escolha Manage (Gerenciar) e, depois, Things (Coisas).
Seu dispositivo deve ter um nome de coisa da AWS IoT. Anote esse nome.
-
Abra o
demos/include/aws_clientcredential.h. -
Especifique valores para as seguintes constantes:
-
#define clientcredentialMQTT_BROKER_ENDPOINT "Your AWS IoT endpoint"; -
#define clientcredentialIOT_THING_NAME "The AWS IoT thing name of your board"
-
Para configurar a rede Wi-Fi
Se a sua placa estiver conectada à Internet por meio de uma conexão Wi-Fi, será necessário fornecer ao FreeRTOS as credenciais de Wi-Fi para se conectar à rede. Se a placa não oferecer suporte a Wi-Fi, você poderá ignorar estas etapas.
-
demos/include/aws_clientcredential.h. -
Especifique os valores para as seguintes constantes
#define:-
#define clientcredentialWIFI_SSID "The SSID for your Wi-Fi network" -
#define clientcredentialWIFI_PASSWORD "The password for your Wi-Fi network" -
#define clientcredentialWIFI_SECURITYO tipo de segurança da rede Wi-FiOs tipos de segurança válidos são:
-
eWiFiSecurityOpen(Aberto, sem segurança) -
eWiFiSecurityWEP(segurança WEP) -
eWiFiSecurityWPA(segurança WPA) -
eWiFiSecurityWPA2(segurança WPA2)
-
-
Para formatar as credenciais da AWS IoT
O FreeRTOS precisa ter o certificado e das chaves privadas do AWS IoT associados à coisa registrada, além das políticas de permissões, para se comunicar com êxito com a AWS IoT em nome do seu dispositivo.
nota
Para configurar as credenciais do AWS IoT, será necessário ter a chave privada e o certificado que você obteve por download no console do AWS IoT ao registrar o dispositivo. Depois de registrar seu dispositivo como uma coisa da AWS IoT, você poderá recuperar os certificados do dispositivo no console do AWS IoT, mas não poderá recuperar as chaves privadas.
O FreeRTOS é um projeto de linguagem C e o certificado e a chave privada devem ser formatados especialmente para serem adicionados ao projeto.
-
Em uma janela do navegador, abra
tools/certificate_configuration/CertificateConfigurator.html. -
Em Arquivo PEM do certificado, selecione
do qual foi feito download no console do AWS IoT.ID-certificate.pem.crt -
Em Arquivo PEM da chave privada, selecione
do qual foi feito download no console do AWS IoT.ID-private.pem.key -
Selecione Generate and save aws_clientcredential_keys.h (Gerar e salvar aws_clientcredential_keys.h) e salve o arquivo em
demos/include. Isso substitui o arquivo existente no diretório.nota
O certificado e a chave privada são codificados para fins de demonstração somente. Por este motivo, as aplicações devem armazenar esses arquivos em um local seguro.
Após configurar o FreeRTOS, você pode prosseguir no guia de conceitos básicos para sua placa configurar o hardware da plataforma e seu ambiente de desenvolvimento de software e, em seguida, compilar e executar a demonstração na sua placa. Para obter instruções específicas da placa, consulte o Guias de conceitos básicos específicos da placa. A aplicação de demonstração usada no tutorial de Conceitos básicos é a demonstração de autenticação mútua coreMQTT, localizada em demos/coreMQTT/mqtt_demo_mutual_auth.c.