Compartilhar via


Conectar o Raspberry Pi3 à solução de monitoramento remoto e enviar telemetria simulada usando o Node.js

Este tutorial mostra como usar o Raspberry Pi 3 para simular dados de temperatura e umidade e enviar para a nuvem. O tutorial usa:

  • SO Raspbian, a linguagem de programação Node.js, e o SDK do Microsoft Azure IoT para Node.js para implementar um dispositivo de exemplo.
  • A solução pré-configurada de monitoramento remoto do IoT Suite como o back-end baseado na nuvem.

Visão geral

Neste tutorial, você completa as seguintes etapas:

  • Implantar uma instância da solução pré-configurada de monitoramento remoto em sua assinatura. Esta etapa implanta e configura automaticamente vários serviços do Azure.
  • Configurar seu dispositivo para comunicação com seu computador e com a solução de monitoramento remoto.
  • Atualizar o exemplo de código de dispositivo para conectar-se à solução de monitoramento remoto e enviar telemetria simulada, que pode ser exibida no painel da solução.

Pré-requisitos

Para concluir este tutorial, você precisa de uma assinatura ativa do Azure.

Observação

Se você não tiver uma conta, poderá criar uma conta de avaliação gratuita em apenas alguns minutos. Para obter detalhes, consulte Avaliação gratuita do Azure.

Software necessário

É necessário um cliente SSH em seu computador desktop para que você possa acessar remotamente a linha de comando no Raspberry Pi.

  • O Windows não inclui um cliente SSH. Recomendamos o uso de PuTTY.
  • A maioria das distribuições do Linux e Mac OS incluem o utilitário de linha de comando do SSH. Para obter mais informações, consulte SSH usando o Linux ou Mac OS.

Requisitos de hardware

Um computador desktop para que você possa se conectar remotamente à linha de comando no Raspberry Pi.

Kit de início de IoT da Microsoft para Raspberry Pi 3 ou componentes equivalentes. Este tutorial usa os seguintes itens do kit:

  • Raspberry Pi 3
  • Cartão MicroSD (com NOOBS)
  • Um cabo USB Mini
  • Um cabo Ethernet

Provisionar a solução

Se você já não tiver provisionado a solução pré-configurada de monitoramento remoto em sua conta:

  1. Entre no azureiotsuite.com usando suas credenciais de conta do Azure e clique + para criar uma solução.
  2. Clique em Selecionar no bloco Monitoramento remoto.
  3. Digite um Nome de solução para a solução pré-configurada de monitoramento remoto.
  4. Selecione a Região e a Assinatura que você deseja usar para provisionar a solução.
  5. Clique em Criar Solução para iniciar o processo de provisionamento. Este processo normalmente leva vários minutos para ser executado.

Aguarde o processo de provisionamento ser concluído

  1. Clique no bloco da sua solução com o status Provisionamento .
  2. Observe os estados de Provisionamento à medida que os serviços do Azure são implantados em sua assinatura do Azure.
  3. Após o provisionamento ser concluído, o status será alterado para Pronto.
  4. Clique no bloco para ver os detalhes da solução no painel à direita.

Observação

Se estiver tendo problemas para implantar a solução pré-configurada, dê uma olhada em Permissões no site azureiotsuite.com e nas Perguntas frequentes. Se os problemas persistirem, crie um tíquete de serviço no portal.

Há detalhes que você esperaria ver e que não estão listados para sua solução? Envie sugestões de recursos no User Voice.

Aviso

A solução de monitoramento remoto provisiona um conjunto de serviços do Azure na sua assinatura do Azure. A implantação reflete uma arquitetura empresarial real. Para evitar encargos desnecessários de consumo do Azure, exclua a instância da solução pré-configurada em azureiotsuite.com quando tiver terminado de realizar as tarefas nela. Caso precise da solução novamente, você poderá recriá-la facilmente. Para saber mais sobre como reduzir o consumo durante a execução da solução de monitoramento remoto, confira Configuração de soluções pré-configuradas do Azure IoT Suite para fins de demonstração.

Exibir o painel de solução

O painel de solução permite que você gerencie a solução implantada. Por exemplo, você pode exibir telemetria, adicionar dispositivos e invocar métodos.

  1. Quando o provisionamento for concluído e o bloco da solução pré-configurada indicar Pronto, escolha Iniciar para abrir o portal de solução de monitoramento remoto em uma nova guia.

    Iniciar a solução pré-configurada

  2. Por padrão, o portal de solução mostra o painel. Você pode navegar para outras áreas do portal de solução usando o menu ao lado esquerdo da página.

    Painel de solução pré-configurada de monitoramento remoto

Adicionar um dispositivo

Para um dispositivo conectar-se à solução pré-configurada, ele deve identificar-se no Hub IoT usando credenciais válidas. Você pode recuperar as credenciais do dispositivo no painel da solução. Você pode incluir as credenciais do dispositivo em seu aplicativo cliente posteriormente neste tutorial.

Se você ainda não fez isso, adicione um dispositivo personalizado à sua solução de monitoramento remota. Conclua as etapas a seguir no painel de solução:

  1. No canto inferior esquerdo do painel, clique em Adicionar um dispositivo.

    Adicionar um dispositivo

  2. No painel Dispositivo Personalizado, clique em Adicionar novo.

    Adicionar um dispositivo personalizado

  3. Escolha Deixe-me definir minha própria ID de Dispositivo. Insira uma ID do Dispositivo como rasppi, clique em Verificar ID para verificar se você já não usou o nome na sua solução, em seguida, clique em Criar para provisionar o dispositivo.

    Adicionar ID do dispositivo

  4. Anote as credenciais do dispositivo (ID do dispositivo, Hub IoT Nome do Host e Chave do Dispositivo). Seu aplicativo cliente no Raspberry Pi precisa desses valores para se conectar à solução de monitoramento remoto. Em seguida, clique em Concluído.

    Exibir credenciais do dispositivo

  5. Selecione seu dispositivo na lista de dispositivos do painel da solução. Em seguida, no painel Detalhes do Dispositivo, clique em Habilitar Dispositivo. O status do seu dispositivo agora é Executando. Agora a solução de monitoramento remoto poderá receber telemetria do seu dispositivo e invocar métodos nele.

Preparar seu Raspberry Pi

Instalar Raspbian

Se esta for a primeira vez que você estiver usando o Raspberry Pi, você precisa instalar o sistema operacional do Raspbian usando NOOBS no cartão SD incluído no kit. O Guia de Software do Raspberry Pi Software guia descreve como instalar um sistema operacional em seu Raspberry Pi. Este tutorial presume que você instalou o sistema operacional Raspbian em seu Raspberry Pi.

Observação

O cartão SD incluído no Microsoft Azure IoT Starter Kit do Raspberry Pi 3 já tem NOOBS instalado. Você pode inicializar o Raspberry Pi neste cartão e optar por instalar o sistema operacional do Raspbian.

Para concluir a configuração de hardware, você precisa:

  • Conectar seu Raspberry Pi à fonte de alimentação incluída no kit.
  • Conectar seu Raspberry Pi à sua rede usando o cabo Ethernet incluído em seu kit. Como alternativa, você pode configurar Conectividade sem fio para o Raspberry Pi.

Agora você concluiu a configuração de hardware do seu Raspberry Pi.

Entre e acesse o terminal

Você tem duas opções para acessar um ambiente de terminal no seu Raspberry Pi:

  • Se você tiver um teclado e um monitor conectado ao seu Raspberry Pi, você pode usar a GUI do Raspbian para acessar uma janela de terminal.

  • Acesse a linha de comando em seu Raspberry Pi usando o SSH em seu computador desktop.

Use uma janela de terminal na GUI

As credenciais padrões para Raspbian são o nome de usuário pi e a senha raspberry. Na barra de tarefas na GUI, você pode iniciar o utilitário Terminal usando o ícone que se parece com um monitor.

Entre com o SSH

Você pode usar o SSH para acesso de linha de comando para o Raspberry Pi. O artigo SSH (Secure Shell) descreve como configurar SSH em seu Raspberry Pi e como conectar-se a partir do Windows ou Linux e Mac OS.

Entre com o nome de usuário pi e a senha raspberry.

Opcional: Compartilhar uma pasta em seu Raspberry Pi

Opcionalmente, você talvez queira compartilhar uma pasta em seu Raspberry Pi com seu ambiente de área de trabalho. Compartilhar uma pasta permite que você use seu editor de texto preferido de área de trabalho (como Visual Studio Code ou Sublime Text) para editar arquivos em seu Raspberry Pi em vez de usar nano ou vi.

Para compartilhar uma pasta com o Windows, configure um servidor Samba no Raspberry Pi. Como alternativa, use o servidor interno SFTP com um cliente SFTP em sua área de trabalho.

Baixar e configurar o exemplo

Agora você pode baixar e configurar o aplicativo cliente de monitoramento remoto em seu Raspberry Pi.

Instalar o Node.js

Caso ainda não tenha feito isso, instale o Node.js no Raspberry Pi. O SDK do IoT para Node.js exige a versão 0.11.5 do Node.js ou posterior. As seguintes etapas mostram como instalar o Node.js v6.10.2 no Raspberry Pi:

  1. Use o seguinte comando para atualizar o Raspberry Pi:

    sudo apt-get update
    
  2. Use o seguinte comando para baixar os binários do Node.js no Raspberry Pi:

    wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-armv7l.tar.gz
    
  3. Use o seguinte comando para instalar os binários:

    sudo tar -C /usr/local --strip-components 1 -xzf node-v6.10.2-linux-armv7l.tar.gz
    
  4. Use o seguinte comando para verificar se você instalou com êxito o Node.js v6.10.2:

    node --version
    

Clonar os repositórios

Caso ainda não tenha feito isso, clone os repositórios necessários executando os seguintes comandos em um terminal no Pi:

cd ~
git clone --recursive https://github.com/Azure-Samples/iot-remote-monitoring-node-raspberrypi-getstartedkit.git

Atualizar a cadeia de conexão do dispositivo

Abra o arquivo de origem de exemplo no editor nano usando o seguinte comando:

nano ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/simulator/remote_monitoring.js

Localize a linha:

var connectionString = 'HostName=[Your IoT hub name].azure-devices.net;DeviceId=[Your device id];SharedAccessKey=[Your device key]';

Substitua os valores do espaço reservado pelas informações de dispositivo e Hub IoT que você criou e salvou no início deste tutorial. Salve suas alterações (Ctrl-O, Enter) e saia do editor (Ctrl-X).

Execute o exemplo

Execute os seguintes comandos para instalar os pacotes de pré-requisito do exemplo:

cd ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/simulator
npm install

Agora você pode executar o programa de exemplo no Raspberry Pi. Insira o comando:

sudo node ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/simulator/remote_monitoring.js

O que você vê a seguir é um exemplo da saída vista no prompt de comando do Raspberry Pi:

Saída do aplicativo Raspberry Pi

Pressione Ctrl-C para sair do programa a qualquer momento.

Exibir a Telemetria

O Raspberry Pi agora está enviando a telemetria para a solução de monitoramento remota. Você pode exibir a telemetria no painel de solução. Você também pode enviar mensagens para o Raspberry Pi a partir do painel da solução.

  • Navegue para o painel da solução.
  • Selecione o dispositivo na lista suspensa Dispositivo para exibição.
  • A telemetria do Raspberry Pi é exibida no painel.

Exibir a telemetria do Raspberry Pi

Atuar no dispositivo

No painel de solução, você pode invocar métodos em seu Raspberry Pi. Quando o Raspberry Pi se conecta a solução de monitoramento remota, ele envia informações sobre os métodos que ele suporta.

  • No painel de solução, clique em Dispositivos para visitar a página Dispositivos. Selecione seu Raspberry Pi na Lista de Dispositivos. Depois, escolha Métodos:

    Listar dispositivos no painel

  • Na página Invocar Método escolha LightBlink na lista suspensa Método.

  • Escolha InvokeMethod. O simulator imprime uma mensagem no console do Raspberry Pi. O aplicativo no Raspberry Pi envia uma confirmação de volta para o painel da solução:

    Mostrar o histórico do método

  • Você pode ligar e desligar o LED usando o método ChangeLightStatus com LightStatusValue definido como 1 para ligar ou 0 para desligar.

Aviso

Se você deixar a solução de monitoramento remoto em execução em sua conta do Azure, você receberá uma cobrança pelo tempo de execução. Para saber mais sobre como reduzir o consumo durante a execução da solução de monitoramento remoto, confira Configuração de soluções pré-configuradas do Azure IoT Suite para fins de demonstração. Exclua a solução pré-configurada de sua conta do Azure quando terminar de usá-la.

Próximas etapas

Visite o Centro de Desenvolvimento do Azure IoT para obter mais exemplos e a documentação sobre o Azure IoT.