Para conectar um dispositivo ao IoT Platform por meio de um gateway Message Queuing Telemetry Transport (MQTT), crie primeiro o gateway MQTT. Este tópico descreve como criar um gateway MQTT.
Pré-requisitos
Adquira uma instância da Exclusive Enterprise Edition. Para obter informações sobre como adquirir uma instância, consulte Adquirir uma instância Enterprise.
Informações básicas
Para saber mais sobre como usar um gateway, consulte Usar um gateway MQTT para conectar um dispositivo ao IoT Platform.
Criar um gateway
Acesse o IoT Platform console.
Na aba Overview, clique na instância da Exclusive Enterprise Edition que deseja gerenciar.
No painel de navegação à esquerda, escolha . Na página exibida, clique em Add Gateway.
-
Na etapa Basic Information, configure os parâmetros e clique em Next. A tabela a seguir descreve os parâmetros.
Parâmetro
Descrição
Gateway Name
Nome do gateway. O nome deve ser exclusivo na instância. Deve ter entre 4 e 30 caracteres e pode conter letras, dígitos e sublinhados (_).
Protocol
Selecione MQTT.
Custom Port Number
Valores válidos: 1024 a 65535. Valor padrão: 1883.
Enable Data Parsing
Especifique se deseja ativar o recurso de análise de dados para dispositivos de gateway.
O IoT Platform transmite diretamente os dados dos dispositivos de gateway. Ative o recurso de análise de dados conforme suas necessidades de negócio. Implemente o método
transformPayload()no script de análise de dados para converter os dados brutos enviados pelo dispositivo em dados no formato JSON padrão ou no formato definido no protocolo Alink para modelos da Thing Specification Language (TSL). Para mais informações sobre o recurso de análise de dados, consulte O que é análise de mensagens.Authentication Type
One-party Verification
Ao selecionar esta opção, importe as informações de verificação do dispositivo para o IoT Platform. Essas informações incluem nome de usuário, senha e número de série (SN) do dispositivo. O IoT Platform verifica o dispositivo com base nessas informações.
Third-party Certification
Caso selecione esta opção, especifique o serviço de verificação de terceiros desejado. Escolha entre Alibaba Cloud Function Compute ou um serviço de verificação de dispositivos baseado em HTTPS. Para mais informações sobre o Alibaba Cloud Function Compute, consulte O que é Function Compute?
Alibaba Cloud Function Compute: Se esta for sua escolha, configure os parâmetros Device-verified FC Service, Device-verified FC Function e Authorize. Selecione uma função existente do Function Compute ou crie uma nova função para verificação de dispositivos. Os parâmetros de entrada e saída da função criada devem ser válidos. Defina um nome personalizado para a função. Para requisitos de parâmetros de entrada e saída da função de verificação de dispositivos, consulte Parâmetros da função do Function Compute para verificação de dispositivos.
Clique em Create Service para acessar o console do Function Compute e criar um serviço. Para mais informações sobre serviços do Function Compute, consulte Gerenciar serviços.
Clique em Create Function para acessar o console do Function Compute e criar uma função. Para mais informações sobre funções do Function Compute, consulte Gerenciar funções.
Se a função
AliyunIOTAccessingFCRolenão estiver disponível, clique em Create RAM Role para acessar o console do RAM e criar a função. Para saber como criar uma função do RAM e conceder permissões a ela, consulte Criar uma função do RAM.
External HTTPS: Nesta opção, configure o parâmetro HTTPS URL for Device Verification. Os Custom Device Verification Parameters são opcionais.
A URL de verificação do dispositivo deve começar com
https://. O IoT Platform envia solicitações HTTPS para chamar serviços personalizados de verificação de dispositivos. Os parâmetros de entrada e saída das solicitações HTTP devem ser válidos. Para requisitos de parâmetros, consulte Parâmetros de solicitações HTTPS para verificação de dispositivos.Configure até 10 parâmetros personalizados de verificação de dispositivos no formato de par chave-valor.
Parameter Key: nome do parâmetro, com até 64 caracteres.
Parameter Value: valor do parâmetro, com até 64 caracteres. Defina o campo Parameter Value como uma variável no formato
${Variable name}. As seguintes variáveis são suportadas:${username}: nome de usuário enviado pelo dispositivo para estabelecer uma conexão MQTT.${password}: senha enviada pelo dispositivo para estabelecer uma conexão MQTT.${clientId}: ID do cliente enviado pelo dispositivo para estabelecer uma conexão MQTT.${cert.}: certificado do dispositivo.pode sercn,serialouissuer.${userProperties.}: dados personalizados deUserPropertyno pacote CONNECT.representa um campo personalizado.
Enable X.509 certificate-based Device Verification
Ativar a verificação de dispositivos baseada em certificados X.509
Valores válidos para o parâmetro Enable OCSP:
Disabled
OCSP Verification for Server Certificate
OCSP Verification for Client Certificate
Client and Server-side OCSP Verification
NotaO Online Certificate Status Protocol (OCSP) é um protocolo de Internet utilizado por uma autoridade certificadora (CA) para verificar o status de revogação de um certificado.
Quando um cliente envia uma mensagem a um servidor, este realiza a verificação OCSP no certificado do cliente. Caso o certificado esteja revogado, o servidor encerra a conexão.
O tempo de vida (TTL) padrão das informações OCSP em cache varia de 5 minutos a 1 hora. Após a expiração dessas informações, o OCSP stapling no lado do servidor só volta a funcionar quando novas informações OCSP forem obtidas.
Desativar a verificação de dispositivos baseada em certificados X.509
Valores válidos para o parâmetro Enable OCSP:
Disabled
OCSP Verification for Server Certificate
NotaO Online Certificate Status Protocol (OCSP) é um protocolo de Internet utilizado por uma autoridade certificadora (CA) para verificar o status de revogação de um certificado.
Quando um cliente envia uma mensagem a um servidor, este realiza a verificação OCSP no certificado do cliente. Caso o certificado esteja revogado, o servidor encerra a conexão.
O tempo de vida (TTL) padrão das informações OCSP em cache varia de 5 minutos a 1 hora. Após a expiração dessas informações, o OCSP stapling no lado do servidor só volta a funcionar quando novas informações OCSP forem obtidas.
Tabela 1 Parâmetros da função do Function Compute para verificação de dispositivos
Tipo
Parâmetro
Tipo de dados
Obrigatório
Descrição
Parâmetros de solicitação
userName
String
Sim
Nome de usuário necessário para conectar um dispositivo ao IoT Platform via MQTT.
Deve ter entre 4 e 32 caracteres, podendo conter letras, dígitos, hifens (-), sublinhados (_), arrobas (@), pontos (.) e dois-pontos (:). O nome de usuário precisa ser exclusivo dentro do produto.
password
String
Sim
Senha necessária para conectar o dispositivo ao IoT Platform via MQTT.
Deve ter entre 1 e 32 caracteres, podendo conter letras, dígitos, hifens (-), sublinhados (_), arrobas (@), pontos (.) e dois-pontos (:).
clientId
String
Sim
ID do cliente necessário para conectar o dispositivo ao IoT Platform via MQTT.
certificateCommonName
String
Não
Campo commonName da especificação de certificados X.509. Configure este parâmetro caso utilize um certificado X.509 para verificar a identidade do dispositivo.
Parâmetros de resposta
result
String
Sim
Resultado da verificação. O valor true indica sucesso; false indica falha.
message
String
Não
Mensagem de erro retornada em caso de falha na verificação.
deviceName
String
Não
DeviceName correspondente ao nome de usuário retornado após uma verificação bem-sucedida.
Na primeira conexão de um dispositivo ao IoT Platform, a plataforma cria o dispositivo com base no valor retornado pelo parâmetro deviceName.
Exemplo de resposta da função do Function Compute para verificação de dispositivos:
{ "result":"true", "deviceName":"device_TH", "message":"" }Tabela 2 Parâmetros de solicitações HTTPS para verificação de dispositivos
Tipo
Parâmetro
Tipo de dados
Obrigatório
Descrição
Exemplo
Método de solicitação
Method
String
Sim
Defina o valor como POST.
POST Content-Type: application/json body:{ "username": "UN001", "password": "PW001", "certificateCommonName": "CN001" }Header
Content-Type
String
Sim
Formato de codificação de dados definido nos cabeçalhos HTTPS. Apenas
application/jsoné válido.A especificação de outro formato de codificação resultará em erro.
Corpo da solicitação
username
String
Sim
Nome de usuário necessário para conectar o dispositivo ao IoT Platform via MQTT.
Deve ter entre 4 e 32 caracteres, podendo conter letras, dígitos, hifens (-), sublinhados (_), arrobas (@), pontos (.) e dois-pontos (:). O nome de usuário do dispositivo precisa ser exclusivo dentro do produto.
password
String
Sim
Senha necessária para conectar o dispositivo ao IoT Platform via MQTT.
Deve ter entre 1 e 32 caracteres, podendo conter letras, dígitos, hifens (-), sublinhados (_), arrobas (@), pontos (.) e dois-pontos (:).
certificateCommonName
String
Não
Campo commonName da especificação de certificados X.509. Configure este parâmetro caso utilize um certificado X.509 para verificar a identidade do dispositivo.
Corpo da resposta
deviceName
String
Sim
DeviceName correspondente ao nome de usuário retornado após uma verificação bem-sucedida.
Na primeira conexão de um dispositivo ao IoT Platform, a plataforma cria o dispositivo com base no valor retornado pelo parâmetro deviceName.
body:{ "deviceName": "device_TH" } -
Conclua a etapa Certificate Configuration e clique em OK.
Configurar certificados
NotaOs certificados configurados nesta etapa devem estar no formato PEM.
-
Configure os parâmetros Server Certificate e Private Key of Server Certificate.
Um dispositivo conectado ao IoT Platform por meio de um gateway MQTT suporta apenas Transport Layer Security (TLS). Para assegurar a segurança do negócio, especifique o certificado da CA e a chave privada do servidor original ao qual o dispositivo se conecta.
Por exemplo, suponha que sua cadeia de certificados contenha certificados organizados na seguinte ordem: certificado raiz do servidor, certificados intermediários do servidor e certificado do servidor. Os certificados intermediários podem incluir vários níveis, como Certificado Intermediário A e Certificado Intermediário B. Nesse cenário, configure os parâmetros desta etapa seguindo estas instruções:
Server Certificate: Especifique os certificados da cadeia em ordem inversa. Informe primeiro o certificado do servidor e, em seguida, os certificados intermediários (Certificado Intermediário B e Certificado Intermediário A).
Private Key of Server Certificate: Informe a chave privada do certificado do servidor.
-
Se você ativou a verificação de dispositivos baseada em certificados X.509, configure o parâmetro Device Root Certificate.
Por exemplo, suponha que sua cadeia de certificados contenha certificados organizados na seguinte ordem: certificado raiz do dispositivo, certificados intermediários do dispositivo e certificado do dispositivo. Os certificados intermediários podem incluir vários níveis, como Certificado Intermediário A e Certificado Intermediário B. Nesse cenário, configure os parâmetros desta etapa seguindo estas instruções:
Device Root Certificate: Especifique os certificados da cadeia em ordem inversa. Informe primeiro os certificados intermediários do dispositivo (Certificado Intermediário B e Certificado Intermediário A) e, em seguida, o certificado raiz do dispositivo.
Caso tenha definido o parâmetro Enable OCSP na etapa anterior como OCSP Verification for Server Certificate ou Client and Server-side OCSP Verification, defina o parâmetro Trusted Certificate como o certificado raiz do servidor nesta etapa.
-
-
Visualize as informações do gateway criado na página Gateway, incluindo nome, ID, URL do gateway, status e produto associado.
ImportanteSalve a URL do gateway. Ao conectar um dispositivo ao IoT Platform via MQTT, substitua o endpoint MQTT pela URL do gateway. Use a URL do gateway diretamente como endpoint MQTT ou configure um registro CNAME para resolver o endpoint MQTT para a URL do gateway.

(Opcional) Modificar um gateway
Após criar um gateway, localize-o na página Gateway e clique em Edit na coluna Actions. Edite o nome, as informações de certificado e a função do Function Compute do gateway.

Resultado
Após a criação do gateway, o IoT Platform gera e associa automaticamente um produto a ele. O nome do produto segue o formato Gateway+${Gateway ID}. Para visualizar o novo produto, acesse . O produto recém-criado aparecerá na página Products.
Clique em View na coluna Actions do produto. Na página de product details, visualize as informações completas, conforme ilustrado na figura abaixo.

Próximos passos
-
Ao criar um gateway com o parâmetro Authentication Type definido como Third-party Certification e usá-lo para conectar um dispositivo ao IoT Platform pela primeira vez, a plataforma usará automaticamente o valor retornado pelo parâmetro deviceName como nome para criar o dispositivo.
Simule um dispositivo com o MQTT.fx e conecte-o ao IoT Platform por meio do gateway para habilitar a comunicação. Para mais detalhes, consulte Usar MQTT.fx para conectar um dispositivo (Function Compute para verificação de dispositivos).
Depois de criar um gateway com o parâmetro Authentication Type definido como One-party Verification, importe as informações de verificação dos dispositivos para adicioná-los ao produto de gateway correspondente. Para mais informações, consulte Adicionar dispositivos em lote.