Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Conectando com segurança um Arduino NB 1500 ao Hub IoT do Azure

Componentes e suprimentos

Arduino MKR NB 1500
× 1
Cabo Micro-USB para USB (Genérico)
× 1
Bateria lipo 3,7 V
× 1
Cartão Micro SIM
× 1

Aplicativos e serviços online

Arduino IDE
Microsoft Azure

Sobre este projeto


Observação:este tutorial pode estar desatualizado, vá aqui para uma versão mais atual.





Introdução


O Hub IoT do Azure permite que você "conecte, monitore e gerencie bilhões de dispositivos com segurança para desenvolver aplicativos da Internet das Coisas (IoT)".

Os dispositivos podem se conectar ao Hub IoT do Azure usando os seguintes protocolos:HTTPS, AMPQ e MQTT - o Azure também fornece SDKs para muitas linguagens de programação para abstrair esses protocolos. Além disso, você pode se conectar ao Hub IoT por meio de um cliente MQTT. Esta página tem mais informações sobre o suporte MQTT do Hub IoT.

Este tutorial irá orientá-lo sobre como conectar uma placa Arduino MKR NB 1500 com segurança ao Hub IoT do Azure usando um cliente MQTT. MQTT (Message Queuing Telemetry Transport) é um protocolo de conectividade M2M (máquina a máquina) que fornece uma assinatura de mensagens e transporte de publicação.

Os dispositivos podem usar tokens SAS ou certificados X.509 para autenticação com o Hub IoT do Azure. Mais informações podem ser encontradas aqui. Neste tutorial, usaremos um certificado X.509 para autenticar a placa.

Cada placa Arduino MKR com conectividade on-board, incluindo o MKR NB 1500, é equipada com um elemento de criptografia Microchip ATECC508A ou ATECC608A. Este elemento criptográfico pode ser usado para gerar e armazenar com segurança uma chave ECC (Criptografia de Curva Elíptica) de 256 bits.





Configuração de software e hardware


Se você não tiver o IDE Arduino instalado em seu computador, baixe e instale-o.

Depois de instalado, certifique-se de ter o pacote mais recente "Arduino SAMD Boards" instalado. Você pode verificar abrindo o IDE do Arduino e abrindo Tools -> Board:"..." -> Board Manager ... entrada do menu e pesquisando por "Arduno SAMD". No momento em que este artigo foi escrito, 1.6.20 era a versão mais recente.

Em seguida, você precisará instalar as bibliotecas do Arduino que serão usadas, usando o gerenciador de bibliotecas do IDE do Arduino. Abra o Sketch -> Incluir Biblioteca -> Gerenciar Bibliotecas ... menu, pesquise e instale individualmente cada uma das seguintes bibliotecas:
  • MKRNB
  • ArduinoBearSSL
  • ArduinoECCX08
  • ArduinoMqttClient
  • Exemplos de provedor de nuvem Arduino

Agora insira o cartão micro SIM no slot na parte inferior da placa MKR NB 1500 e conecte a bateria 3,7V Lipo ao conector JST. Em seguida, conecte o MKR NB 1500 com o cabo micro USB ao seu computador, selecione a porta serial no IDE do Arduino usando Ferramentas -> Porta "..." menu e também selecione Arduino MKR NB 1500 em Ferramentas -> Placa "..." cardápio.





Configurando e adicionando a placa ao Hub IoT do Azure


Conforme mencionado acima, o Hub IoT do Azure permite dispositivos que se conectam usando o protocolo MQTT e usam certificados X.509 para autenticação. Usaremos um esboço para gerar um certificado X.509 autoassinado na placa e, em seguida, adicionaremos o SHA1 desse certificado ao portal do Hub IoT do Azure.

O certificado autoassinado pode ser gerado usando um esboço de exemplo da biblioteca ArduinoECCX08. Abra o esboço no Arduino IDE usando Arquivo -> Exemplos -> ArduinoECCX08 -> Ferramentas -> ECCX08SelfSignedCert . Clique no botão "Upload" para construir e fazer upload do esboço para o seu quadro e, em seguida, abra o Monitor Serial. Certifique-se de que a configuração de finalização de linha esteja definida como "Ambos NL e CR."

Este esboço solicitará que você configure permanentemente seu elemento de criptografia ATECC508A para ECC608A se não estiver configurado e bloqueado. NOTA:Este processo de bloqueio é permanente e irreversível, mas é necessário para usar o elemento crypto - a configuração dos conjuntos de esboço permite usar 5 slots de chave privada com qualquer provedor de nuvem (ou servidor) e uma chave privada pode ser regenerada a qualquer momento para qualquer de o 5 privado slots de chave (0 - 4) . Quando a placa é enviada da fábrica, o elemento criptográfico está em um estado não configurado e desbloqueado.

Depois disso, você será solicitado a fornecer informações para incluir no certificado autoassinado, incluindo o ano, mês, dia e hora de emissão do certificado e o período de validade em anos. Para este tutorial, usaremos o slot 0 para gerar e armazenar a chave privada usada para assinar o certificado autoassinado (os slots 1 a 4 podem ser usados ​​para gerar e armazenar chaves privadas adicionais, se necessário) - então o slot 8 será usado para armazene a emissão e a data de validade do certificado junto com sua assinatura. Nota: Como a chave privada é gerada dentro do elemento criptográfico, ela nunca sai do dispositivo e é armazenada com segurança e não pode ser lida.

Copie o valor SHA1 gerado (nesta captura de tela " 99d6d96fa55bdf08b4040a142a8d0d934bc9d12b "). Vamos usá-lo em uma etapa posterior como uma impressão digital para o certificado autoassinado para o dispositivo no Hub IoT do Azure.

Agora que temos um certificado autoassinado e a impressão digital SHA1 para identificar a placa, precisamos fazer login no portal do Hub IoT do Azure e criar um novo dispositivo para ele.

1) Abra um navegador da web e vá para portal.azure.com.

2) Se você ainda não tem uma conta do Azure, clique no botão "Criar uma!" link na página para criar uma conta. Caso contrário, insira seu endereço de e-mail e clique em "Avançar" e siga o processo de login.

3) No painel de navegação à esquerda, clique em "Criar um recurso".

4) Em seguida, clique em "Internet of Things" e "IoT Hub".

5) Você será solicitado a selecionar uma assinatura, grupo de recursos, região e nome do hub IoT. Na captura de tela abaixo, "Free Trial", "MKR", "East US" e "ArduinoProjectHubTutorial" foram usados ​​como entrada. Clique em "Revisar + Criar" para continuar.

6) Uma tela de confirmação aparecerá, clique em "Criar".

7) Você terá que esperar alguns minutos para que o Hub IoT seja criado e implantado.

8) Assim que a implantação for concluída, um botão "Ir para o recurso" aparecerá, clique nele.

9) Agora podemos criar um novo dispositivo IoT, clique em "Dispositivos IoT" sob o título "Explorar".

10) Clique no botão "Adicionar" para adicionar um novo dispositivo.

11) Insira um nome para o dispositivo, abaixo de "MyMKRNB1500" foi inserido e clique na guia "X.509 Auto-assinado". Cole o SHA1 do monitor serial do IDE do Arduino para a impressão digital primária e secundária. Em seguida, clique no botão "Salvar" para criar o dispositivo.

12) Agora você verá uma nova entrada na página Dispositivos IoT.





Conectando a placa ao Azure IoT Hub


1) Abra o esboço NB do Azure IoT Hub no Arduino IDE usando Arquivo -> Exemplos -> Exemplos de provedor de nuvem Arduino -> AzureIoTHub-> Azure_IoT_Hub_NB.

2) Na guia arduino_secrets.h, preencha o pino (se necessário) para o cartão SIM.
  // NB settings # define SECRET_PINNUMBER ""  

3) Atualize o valor do corretor com o ponto de extremidade criado no portal do Hub IoT do Azure.
  // Preencha o nome do host de seu agente do Azure IoT Hub # define SECRET_BROKER " .azure-devices.net"  

4) Atualize o valor de id do dispositivo, com o nome do dispositivo que você criou no portal do Hub IoT do Azure.
  // Preencha o ID do dispositivo # define SECRET_DEVICE_ID ""  

5) Carregue o esboço em sua placa e abra o monitor serial. A placa tentará se conectar à rede celular e, se for bem-sucedida, tentará se conectar ao Hub IoT do Azure usando MQTT.





Interagindo com a diretoria no Azure IoT Core


Agora que sua placa foi conectada com êxito ao Hub IoT do Azure, podemos usar o portal do Hub IoT do Azure para interagir com ela. O esboço envia uma mensagem para devices / {deviceId} / messages / events / tópico a cada 5 segundos e escuta as mensagens no devices / {deviceId} / messages / devicebound / # tópico.

No portal do Hub IoT do Azure, clique na linha de ID do dispositivo na tabela de Dispositivos IoT da sua placa. Em seguida, clique no botão "Mensagem para o dispositivo" na barra de ferramentas.

Agora você pode inserir um corpo de mensagem para enviar ao dispositivo, na captura de tela abaixo " Olá :) "foi inserido. Clique no botão" Enviar mensagem "na barra de ferramentas para enviar a mensagem.

Quando a placa receber a mensagem, o Serial Monitor no Arduino IDE a exibirá.

Para ver as mensagens que o fórum está enviando:

1) Faça login em shell.azure.com (selecione "Bash" se for a primeira vez quando solicitado).

2) Instale a extensão do Hub IoT:
  extensão az adicionar --name azure-cli-iot-ext  

3) Execute o seguinte comando, substitua com o nome do seu hub (digite y se for solicitada a atualização da dependência):
  az iot hub monitor-events --hub-name   

4) Você verá mensagens impressas no shell:





Conclusão


Neste tutorial, abordamos como usar com segurança uma placa Arduino MKR NB 1500 com o Azure IoT Hub. Um certificado X.509 autoassinado foi usado para autenticar com o Hub IoT do Azure usando o protocolo MQTT com o ATECC508A ou ATECC608A armazenando a chave privada associada ao certificado. As mensagens MQTT foram enviadas de e para a placa.

Isso é apenas o começo, você pode usar o Hub IoT do Azure com muitos dos outros serviços que o Azure fornece!

Código

Github
https://github.com/arduino/ArduinoCloudProviderExamples

Processo de manufatura

  1. Como a IoT está conectando locais de trabalho
  2. A placa Arduino visa IoT industrial
  3. Os kits Dev suportam Azure RTOS
  4. Projeto Raspberry PI IoT Conectando o Sensor DHT11
  5. IoT na nuvem:Azure vs AWS
  6. Registrador de dados GPS, análise espacial e Hub IoT do Azure.
  7. Monitor de freqüência cardíaca usando IoT
  8. Usando IoT para controlar remotamente um braço robótico
  9. Rastreador solar baseado na Internet das coisas (IoT)
  10. Piscina Azure IoT