As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configuração de integração do hub
Conclua essas etapas de configuração para cada dispositivo de hub antes de iniciar o processo de integração do provisionamento da frota. Esta seção descreve como criar itens gerenciados, configurar estruturas de diretórios e configurar os certificados necessários.
Etapas de configuração
Etapa 1: registrar um endpoint personalizado
Crie um terminal de comunicação dedicado que seus dispositivos usem para trocar dados com integrações gerenciadas. Esse endpoint estabelece um ponto de conexão seguro para todas as device-to-cloud mensagens, incluindo comandos do dispositivo, atualizações de status e notificações.
Para registrar um endpoint
-
Use a RegisterCustomEndpointAPI para criar um endpoint para comunicação de device-to-managed integrações.
RegisterCustomEndpointExemplo de solicitação
aws iot-managed-integrations register-custom-endpoint
Resposta:
{ [
ACCOUNT-PREFIX
]-ats.iot.AWS-REGION
.amazonaws.com }nota
Armazene o endereço do endpoint. Você precisará dele para a futura comunicação com dispositivos.
Para retornar as informações do endpoint, use a
GetCustomEndpoint
API.Para obter mais informações, consulte a RegisterCustomEndpointAPI e a GetCustomEndpointAPI no Guia de referência da API de integrações gerenciadas.
Etapa 2: criar um perfil de aprovisionamento
Um perfil de provisionamento contém as credenciais de segurança e as configurações de que seus dispositivos precisam para se conectar às integrações gerenciadas.
Para criar um perfil de aprovisionamento de frota
-
Chame a CreateProvisioningProfileAPI para gerar o seguinte:
-
Um modelo de provisionamento que define as configurações de conexão do dispositivo
-
Um certificado de solicitação e uma chave privada para autenticação de dispositivos
Importante
Armazene o certificado de solicitação, a chave privada e o ID do modelo com segurança. Você precisará dessas credenciais para integrar dispositivos a integrações gerenciadas. Se você perder essas credenciais, deverá criar um novo perfil de aprovisionamento.
-
CreateProvisioningProfile
exemplo de solicitação
aws iot-managed-integrations create-provisioning-profile \ --provisioning-type FLEET_PROVISIONING \ --name PROFILE_NAME
Resposta:
{ "Arn":"arn:aws:iotmanagedintegrations:
AWS-REGION
:ACCOUNT-ID
:provisioning-profile/PROFILE-ID
", "ClaimCertificate": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7.....w3rrszlaEXAMPLE= -----END CERTIFICATE-----", "ClaimCertificatePrivateKey": "-----BEGIN RSA PRIVATE KEY----- MIICiTCCAfICCQ...3rrszlaEXAMPLE= -----END RSA PRIVATE KEY-----", "Id": "PROFILE-ID
", "PROFILE-NAME
", "ProvisioningType": "FLEET_PROVISIONING" }
Etapa 3: criar uma coisa gerenciada (provisionamento de frota)
Use a CreateManagedThing
API para criar algo gerenciado para seu dispositivo hub. Cada hub exige sua própria coisa gerenciada com materiais de autenticação exclusivos. Para obter mais informações, consulte a CreateManagedThingAPI na Referência da API de integrações gerenciadas.
Ao criar uma coisa gerenciada, especifique estes parâmetros:
-
Role
: defina esse valor comoCONTROLLER
. -
AuthenticationMaterial
: inclua os seguintes campos.-
SN
: O número de série exclusivo deste dispositivo -
UPC
: O código de produto universal para este dispositivo
-
-
Owner
: o identificador do proprietário dessa coisa gerenciada.
Importante
Cada dispositivo deve ter um número de série (SN) exclusivo em seu material de autenticação.
CreateManagedThing
Exemplo de solicitação:
{ "Role": "
CONTROLLER
", "Owner": "ThingOwner1
", "AuthenticationMaterialType": "WIFI_SETUP_QR_BAR_CODE
", "AuthenticationMaterial": "SN:123456789524
;UPC:829576019524
" }
Para obter mais informações, consulte CreateManagedThinga Referência da API de integrações gerenciadas.
(Opcional) Get Managed Thing
O que ProvisioningStatus
você gerencia deve ser UNCLAIMED
antes que você possa continuar. Use a GetManagedThing
API para verificar se sua coisa gerenciada existe e está pronta para provisionamento. Para obter mais informações, consulte GetManagedThinga Referência da API de integrações gerenciadas.
Etapa 4: criar a estrutura de diretórios
Crie diretórios para seus arquivos de configuração e certificados. Por padrão, o processo de integração do hub usa o. /data/aws/iotmi/config/iotmi_config.json
Você pode especificar caminhos personalizados para certificados e chaves privadas no arquivo de configuração. Este guia usa o caminho padrão/data/aws/iotmi/certs
.
mkdir -p /data/aws/iotmi/config mkdir -p /data/aws/iotmi/certs /data/ aws/ iotmi/ config/ certs/
Etapa 5: Adicionar materiais de autenticação ao dispositivo hub
Copie certificados e chaves para seu dispositivo hub e, em seguida, crie um arquivo de configuração específico do dispositivo. Esses arquivos estabelecem uma comunicação segura entre seu hub e as integrações gerenciadas durante o processo de provisionamento.
Para copiar o certificado de reclamação e a chave
-
Copie esses arquivos de autenticação da sua resposta de
CreateProvisioningProfile
API para o seu dispositivo hub:-
claim_cert.pem
: O certificado de solicitação (comum a todos os dispositivos) -
claim_pk.key
: a chave privada para o certificado de solicitação
Coloque os dois arquivos no
/data/aws/iotmi/certs
diretório.Importante
Ao armazenar certificados e chaves privadas no formato PEM, garanta a formatação adequada manipulando os caracteres de nova linha corretamente. Para arquivos codificados em PEM, os caracteres de nova linha
(\n)
devem ser substituídos por separadores de linha reais, pois o simples armazenamento de novas linhas com escape não será recuperado corretamente posteriormente.nota
Se você usa armazenamento seguro, armazene essas credenciais em seu local de armazenamento seguro em vez de no sistema de arquivos. Para obter mais informações, consulte Crie um manipulador de certificados personalizado para armazenamento seguro.
-
Etapa 6: criar o arquivo de configuração do dispositivo
Crie um arquivo de configuração que contenha identificadores exclusivos de dispositivos, locais de certificados e configurações de provisionamento. O SDK usa esse arquivo durante a integração do hub para autenticar seu dispositivo, gerenciar o status do provisionamento e armazenar as configurações de conexão.
nota
Cada dispositivo de hub exige seu próprio arquivo de configuração com valores exclusivos específicos do dispositivo.
Use o procedimento a seguir para criar ou modificar seu arquivo de configuração e copiá-lo para o hub.
-
Crie ou modifique o arquivo de configuração (provisionamento da frota).
Configure esses campos obrigatórios no arquivo de configuração do dispositivo:
-
Caminhos de certificado
-
iot_claim_cert_path
: Localização do seu certificado de reclamação (claim_cert.pem
) -
iot_claim_pk_path
: Localização da sua chave privada (claim_pk.key
) -
Use
SECURE_STORAGE
para ambos os campos ao implementar o Secure Storage Cert Handler
-
-
Configurações de conexão
-
fp_template_name
: OProvisioningProfile
nome anterior. -
endpoint_url
: o URL do endpoint de integrações gerenciadas da resposta daRegisterCustomEndpoint
API (o mesmo para todos os dispositivos em uma região).
-
-
Identificadores de dispositivo
-
SN
: número de série do dispositivo que corresponde à sua chamada deCreateManagedThing
API (exclusivo por dispositivo) -
UPC
Código de produto universal da sua chamada deCreateManagedThing
API (o mesmo para todos os dispositivos deste produto)
-
{ "ro": { "iot_provisioning_method": "FLEET_PROVISIONING", "iot_claim_cert_path": "
<SPECIFY_THIS_FIELD>
", "iot_claim_pk_path": "<SPECIFY_THIS_FIELD>
", "fp_template_name": "<SPECIFY_THIS_FIELD>
", "endpoint_url": "<SPECIFY_THIS_FIELD>
", "SN": "<SPECIFY_THIS_FIELD>
", "UPC": "<SPECIFY_THIS_FIELD>
" }, "rw": { "iot_provisioning_state": "NOT_PROVISIONED" } } -
Conteúdo do arquivo de configuração
Revise o conteúdo do iotmi_config.json
arquivo.
Chave | Valores | Adicionado pelo cliente? | Observações |
---|---|---|---|
iot_provisioning_method |
FLEET_PROVISIONING |
Sim | Especifique o método de aprovisionamento que você deseja usar. |
iot_claim_cert_path |
O caminho do arquivo que você especifica ouSECURE_STORAGE . Por exemplo, /data/aws/iotmi/certs/claim_cert.pem . |
Sim | Especifique o caminho do arquivo que você deseja usar ouSECURE_STORAGE . |
iot_claim_pk_path |
O caminho do arquivo que você especifica ouSECURE_STORAGE . Por exemplo, /data/aws/iotmi/certs/claim_pk.pem . |
Sim | Especifique o caminho do arquivo que você deseja usar ouSECURE_STORAGE . |
fp_template_name |
O nome do modelo de aprovisionamento da frota deve ser igual ao nome do ProvisioningProfile que foi usado anteriormente. |
Sim | Igual ao nome do ProvisioningProfile que foi usado anteriormente |
endpoint_url |
O URL do endpoint para integrações gerenciadas. | Sim | Seus dispositivos usam esse URL para se conectar à nuvem de integrações gerenciadas. Para obter essas informações, use a RegisterCustomEndpointAPI. |
SN |
O número de série do dispositivo. Por exemplo, .AIDACKCEVSQ6C2EXAMPLE |
Sim | Você deve fornecer essas informações exclusivas para cada dispositivo. |
UPC |
Código de produto universal do dispositivo. Por exemplo, .841667145075 |
Sim | Você deve fornecer essas informações para o dispositivo. |
managed_thing_id |
O ID da coisa gerenciada. | Não | Essas informações são adicionadas posteriormente pelo processo de integração após o provisionamento do hub. |
iot_provisioning_state |
O estado de aprovisionamento. | Sim | O estado de provisionamento deve ser definido como. NOT_PROVISIONED |
iot_permanent_cert_path |
O caminho do certificado de IoT. Por exemplo, ./data/aws/iotmi/iot_cert.pem |
Não | Essas informações são adicionadas posteriormente pelo processo de integração após o provisionamento do hub. |
iot_permanent_pk_path |
O caminho do arquivo da chave privada da IoT. Por exemplo, ./data/aws/iotmi/iot_pk.pem |
Não | Essas informações são adicionadas posteriormente pelo processo de integração após o provisionamento do hub. |
client_id |
O ID do cliente que será usado para conexões MQTT. | Não | Essas informações são adicionadas posteriormente pelo processo de integração após o provisionamento do hub, para que outros componentes sejam consumidas. |
event_manager_upper_bound |
O valor padrão é 500 | Não | Essas informações são adicionadas posteriormente pelo processo de integração após o provisionamento do hub, para que outros componentes sejam consumidas. |
Etapa 7: Copie o arquivo de configuração para o seu hub
Copie seu arquivo de configuração /data/aws/iotmi/config
ou seu caminho de diretório personalizado. Você fornecerá esse caminho para o HubOnboarding
binário durante o processo de integração.
Para provisionamento de frotas
/data/ aws/ iotmi/ config/ iotmi_config.json certs/ claim_cert.pem claim_pk.key