Share via


Ligue o Raspberry Pi 3 à solução de monitorização remota e envie telemetria simulada com Node.js

Este tutorial mostra-lhe como utilizar o Raspberry Pi 3 para simular dados de temperatura e humidade para enviar para a cloud. O tutorial utiliza:

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

Descrição Geral

Neste tutorial, irá concluir os seguintes passos:

  • Implemente uma instância da solução pré-configurada de monitorização remota na sua subscrição do Azure. Este passo implementa e configura automaticamente vários serviços do Azure.
  • Configure o seu dispositivo para comunicar com o seu computador e a solução de monitorização remota.
  • Atualize o código do dispositivo de exemplo para ligar à solução de monitorização remota e envie telemetria simulada que pode ver no dashboard da solução.

Pré-requisitos

Para concluir este tutorial, precisa de uma subscrição ativa do Azure.

Nota

Se não tiver uma conta, pode criar uma de avaliação gratuita em apenas alguns minutos. Para obter mais detalhes, consulte Avaliação Gratuita do Azure.

Software necessário

Precisa de um cliente SSH no seu computador de secretária para lhe permitir aceder remotamente à linha de comandos no Raspberry Pi.

Hardware necessário

Um computador de secretária para lhe permitir ligar remotamente à linha de comandos no Raspberry Pi.

Microsoft IoT Starter Kit para Raspberry Pi 3 ou componentes equivalentes. Este tutorial utiliza os seguintes itens do kit:

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

Aprovisionar a solução

Se ainda não aprovisionou a solução pré-configurada de monitorização remota na sua conta:

  1. Inicie sessão no azureiotsuite.com com as credenciais da sua conta do Azure e clique + para criar uma solução.
  2. Clique em Selecionar no mosaico Monitorização remota.
  3. Introduza o Nome da solução para sua solução pré-configurada de monitorização remota.
  4. Selecione a Região e a Subscrição que pretende utilizar para aprovisionar a solução.
  5. Clique em Criar Solução para iniciar o processo de aprovisionamento. Este processo ação demora vários minutos para ser executado.

Aguarde até a conclusão do processo de aprovisionamento

  1. Clique no mosaico da sua solução com o estado Aprovisionamento.
  2. Tenha em atenção os Estados de aprovisionamento uma vez que os serviços do Azure estão implementados na sua subscrição do Azure.
  3. Depois de ter concluído o aprovisionamento, o estado passa para Pronto.
  4. Clique no mosaico para ver os detalhes da sua solução no painel da direita.

Nota

Se tiver problemas com a implementação da solução pré-configurada, consulte Permissions on the azureiotsuite.com site (Permissões no site azureiotsuite.com) e as FAQ. Se os problemas persistirem, crie um pedido de serviço no portal.

Pretendia ver certos detalhes que não se encontram listados para a sua solução? Dê-nos a suas sugestões de funcionalidades através de A Voz do Utilizador.

Aviso

A solução de monitorização remota aprovisiona um conjunto de serviços do Azure na sua subscrição do Azure. A implementação reflete uma arquitetura empresarial real. Para evitar custos de consumo desnecessários do Azure, elimine a instância da solução pré-configurada em azureiotsuite.com quando terminar. Se precisar da solução pré-configurada novamente, pode recriá-la facilmente. Para obter mais informações sobre como reduzir o consumo enquanto a solução de monitorização remota é executada, veja Configurar soluções pré-configuradas do Azure IoT Suite para fins de demonstração.

Ver o dashboard da solução

O dashboard de solução permite-lhe gerir a solução implementada. Por exemplo, pode ver telemetria, adicionar dispositivos e invocar métodos.

  1. Quando o aprovisionamento estiver concluído e o mosaico da sua solução pré-configurada indicar Pronto, escolha Iniciar para abrir o seu portal de solução de monitorização remota num novo separador.

    Iniciar a solução pré-configurada

  2. Por predefinição, o portal de solução mostra o dashboard. Pode navegar para outras áreas do portal de solução com o menu no lado esquerdo da página.

    Dashboard da solução pré-configurada de monitorização remota

Adicionar um dispositivo

Para que um dispositivo ligue à solução pré-configurada, este tem de se identificar no Hub IoT utilizando credenciais válidas. Pode obter as credenciais do dispositivo a partir do dashboard da solução. Vai incluir as credenciais do dispositivo na sua aplicação cliente mais à frente neste tutorial.

Se ainda não o fez, adicione um dispositivo personalizado à sua solução de monitorização remota. Conclua os seguintes passos no dashboard da solução:

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

    Adicionar um dispositivo

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

    Adicionar um dispositivo personalizado

  3. Escolha Definir o meu próprio ID do Dispositivo. Introduza um ID do Dispositivo, como rasppi, clique em Verificar ID para verificar se ainda não utilizou o nome na solução e, em seguida, clique em Criar para aprovisionar o dispositivo.

    Adicionar ID do dispositivo

  4. Anote as credenciais do dispositivo (ID do Dispositivo, Hub IoT Nome do Anfitrião e Chave de Dispositivo). A sua aplicação cliente no Raspberry Pi precisa destes valores para se ligar à solução de monitorização remota. Em seguida, clique em Concluído.

    Ver as credenciais do dispositivo

  5. Selecione o seu dispositivo na lista de dispositivos no dashboard da solução. Em seguida, no painel Detalhes do Dispositivo, clique em Ativar Dispositivo. O estado do seu dispositivo é agora Em execução. A solução de monitorização remota pode agora receber telemetria do seu dispositivo e invocar métodos no dispositivo.

Preparar o Raspberry Pi

Instalar o Raspbian

Se esta for a primeira vez que está a utilizar o Raspberry Pi, terá de instalar o sistema operativo Raspbian com NOOBS no cartão SD incluído no kit. O Raspberry Pi Software Guide descreve como instalar um sistema operativo no raspberry Pi. Este tutorial pressupõe que instalou o sistema operativo Raspbian no raspberry Pi.

Nota

O cartão SD incluído no Microsoft Azure IoT Starter Kit para Raspberry Pi 3 já tem o NOOBS instalado. Pode arrancar o Raspberry Pi a partir deste cartão e optar por instalar o SO Raspbian.

Para concluir a configuração de hardware, tem de:

  • Ligue o Raspberry Pi à fonte de alimentação incluída no kit.
  • Ligue o Raspberry Pi à sua rede com o cabo Ethernet incluído no kit. Em alternativa, pode configurar a Conectividade Sem Fios para o Raspberry Pi.

Concluiu agora a configuração de hardware do Raspberry Pi.

Iniciar sessão e aceder ao terminal

Tem duas opções para aceder a um ambiente terminal no raspberry Pi:

  • Se tiver um teclado e um monitor ligados ao Raspberry Pi, pode utilizar a GUI raspbiana para aceder a uma janela de terminal.

  • Aceda à linha de comandos no Raspberry Pi através de SSH a partir do computador de secretária.

Utilizar uma Janela de terminal na GUI

As credenciais predefinidas para Raspbian são o nome de utilizador pi e a palavra-passe raspberry. Na barra de tarefas na GUI, pode iniciar o utilitário Terminal com o ícone que se assemelha a um monitor.

Iniciar sessão com SSH

Pode utilizar o SSH para aceder à linha de comandos ao Raspberry Pi. O artigo SSH (Secure Shell) descreve como configurar o SSH no Raspberry Pi e como ligar a partir do Windows ou Linux & Mac OS.

Inicie sessão com o nome de utilizador pi e a palavra-passe raspberry.

Opcional: Partilhar uma pasta no Raspberry Pi

Opcionalmente, poderá querer partilhar uma pasta no raspberry Pi com o ambiente de trabalho. Partilhar uma pasta permite-lhe utilizar o seu editor de texto de ambiente de trabalho preferido (como o Visual Studio Code ou o Sublime Text) para editar ficheiros no raspberry Pi em vez de utilizar nano ou vi.

Para partilhar uma pasta com o Windows, configure um servidor Samba no Raspberry Pi. Em alternativa, utilize o servidor SFTP incorporado com um cliente SFTP no seu ambiente de trabalho.

Transferir e configurar o exemplo

Agora pode transferir e configurar a aplicação cliente de monitorização remota no raspberry Pi.

Instalar o Node.js

Se ainda não o fez, instale Node.js no raspberry Pi. O SDK IoT para Node.js requer a versão 0.11.5 do Node.js ou posterior. Os passos seguintes mostram como instalar o Node.js v6.10.2 no Raspberry Pi:

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

    sudo apt-get update
    
  2. Utilize o seguinte comando para transferir os binários Node.js para o Raspberry Pi:

    wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-armv7l.tar.gz
    
  3. Utilize 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. Utilize o seguinte comando para verificar se instalou Node.js v6.10.2 com êxito:

    node --version
    

Clonar os repositórios

Se ainda não o fez, clone os repositórios necessários ao executar os seguintes comandos num terminal no pi:

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

Atualizar a cadeia de ligação do dispositivo

Abra o ficheiro de origem de exemplo no editor nano com o seguinte comando:

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

Localizar a linha:

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

Substitua os valores do marcador de posição pelo dispositivo e Hub IoT informações que criou e guardou no início deste tutorial. Guarde as alterações (Ctrl-O, Enter) e saia do editor (Ctrl-X).

Executar o exemplo

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

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

Agora pode executar o programa de exemplo no Raspberry Pi. Introduza o comando:

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

O seguinte resultado de exemplo é um exemplo da saída que vê na linha de comandos no Raspberry Pi:

Saída da aplicação Raspberry Pi

Prima Ctrl-C para sair do programa em qualquer altura.

Ver a telemetria

O Raspberry Pi está agora a enviar telemetria para a solução de monitorização remota. Pode ver a telemetria no dashboard da solução. Também pode enviar mensagens para o Raspberry Pi a partir do dashboard da solução.

  • Navegue para o dashboard da solução.
  • Selecione o seu dispositivo na lista pendente Dispositivo a Ver .
  • A telemetria do Raspberry Pi é apresentada no dashboard.

Apresentar telemetria do Raspberry Pi

Agir no dispositivo

No dashboard da solução, pode invocar métodos no Raspberry Pi. Quando o Raspberry Pi se liga à solução de monitorização remota, envia informações sobre os métodos suportados.

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

    Listar dispositivos no dashboard

  • Na página Invocar Método , selecione LightBlink no menu pendente Método .

  • Selecione InvokeMethod. O simulador imprime uma mensagem na consola do Raspberry Pi. A aplicação no Raspberry Pi envia uma confirmação de volta para o dashboard da solução:

    Mostrar histórico de métodos

  • Pode ativar e desativar o LED com o método ChangeLightStatus com um LightStatusValue definido como 1 para ativado ou 0 para desativado.

Aviso

Se deixar a solução de monitorização remota em execução na sua conta do Azure, é-lhe faturado o tempo de execução. Para obter mais informações sobre como reduzir o consumo enquanto a solução de monitorização remota é executada, veja Configurar soluções pré-configuradas do Azure IoT Suite para fins de demonstração. Elimine a solução pré-configurada da sua conta do Azure quando terminar de a utilizar.

Passos seguintes

Visite o Azure IoT Dev Center para obter mais exemplos e documentação sobre o Azure IoT.