Partilhar via


Ligue o Raspberry Pi 3 à solução de monitorização remota e envie telemetria a partir de um sensor real com C

Este tutorial mostra-lhe como utilizar o Microsoft Azure IoT Starter Kit para Raspberry Pi 3 para desenvolver um leitor de temperatura e humidade que possa comunicar com a cloud. O tutorial utiliza:

  • O SO Raspbian, a linguagem de programação C e o SDK IoT do Microsoft Azure para C para 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 e sensores para comunicar com o seu computador e a solução de monitorização remota.
  • Atualize o código de dispositivo de exemplo para ligar à solução de monitorização remota e envie telemetria 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
  • Sensor BME280
  • Área de pão
  • Fios de saltador
  • Resistências
  • LEDs

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.

Configurar o hardware

Este tutorial utiliza o sensor BME280 incluído no Microsoft Azure IoT Starter Kit para Raspberry Pi 3 para gerar dados telemétricos. Utiliza um LED para indicar quando o Raspberry Pi processa uma invocação do método a partir do dashboard da solução.

Os componentes na placa de pão são:

  • LED vermelho
  • Resistência 220-Ohm (vermelho, vermelho, castanho)
  • Sensor BME280

O diagrama seguinte mostra como ligar o hardware:

Configuração de hardware para Raspberry Pi

A tabela seguinte resume as ligações do Raspberry Pi aos componentes na área de pão:

Raspberry Pi Área de pão Cor
GND (Afixar 14) PIN LED -ve (18A) Roxo
GPCLK0 (Afixar 7) Resistência (25A) Laranja
SPI_CE0 (Afixar 24) CS (39A) Blue
SPI_SCLK (Afixar 23) SCK (36A) Amarelo
SPI_MISO (Afixar 21) SDO (37A) Branco
SPI_MOSI (Afixar 19) SDI (38A) Green
GND (Afixar 6) GND (35A) Negra
3,3 V (Afixar 1) 3Vo (34A) Red

Para concluir a configuração do 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 seu 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 do Raspbian 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 username pi e password 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 framboesa de palavra-passe.

Opcional: Partilhar uma pasta no Raspberry Pi

Opcionalmente, poderá querer partilhar uma pasta no raspberry Pi com o seu 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 Texto Sublime) 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.

Ativar o SPI

Antes de poder executar a aplicação de exemplo, tem de ativar o barramento interface periférica de série (SPI) no Raspberry Pi. O Raspberry Pi comunica com o dispositivo do sensor BME280 através do barramento SPI. Utilize o seguinte comando para editar o ficheiro de configuração:

sudo nano /boot/config.txt

Localize a linha:

#dtparam=spi=on

  • Para anular o compromisso da linha, elimine-a # no início.

  • Guarde as alterações (Ctrl-O, Enter) e saia do editor (Ctrl-X).

  • Para ativar o SPI, reinicie o Raspberry Pi. Reiniciar desliga o terminal, tem de iniciar sessão novamente quando o Raspberry Pi reiniciar:

    sudo reboot
    

Transferir e configurar o exemplo

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

Clonar os repositórios

Se ainda não o tiver feito, 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-c-raspberrypi-getstartedkit.git
git clone --recursive https://github.com/WiringPi/WiringPi.git

Atualizar o cadeia de ligação do dispositivo

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

nano ~/iot-remote-monitoring-c-raspberrypi-getstartedkit/basic/remote_monitoring/remote_monitoring.c

Localize as seguintes linhas:

static const char* deviceId = "[Device Id]";
static const char* connectionString = "HostName=[IoTHub Name].azure-devices.net;DeviceId=[Device Id];SharedAccessKey=[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).

Criar o exemplo

Instale os pacotes de pré-requisitos para o SDK do Dispositivo IoT do Microsoft Azure para C ao executar os seguintes comandos num terminal no Raspberry Pi:

sudo apt-get update
sudo apt-get install g++ make cmake git libcurl4-openssl-dev libssl-dev uuid-dev

Agora, pode criar a solução de exemplo atualizada no Raspberry Pi:

chmod +x ~/iot-remote-monitoring-c-raspberrypi-getstartedkit/basic/build.sh
~/iot-remote-monitoring-c-raspberrypi-getstartedkit/basic/build.sh

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

sudo ~/cmake/remote_monitoring/remote_monitoring

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 que suporta.

  • 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 LED ligado ao Raspberry Pi pisca várias vezes. 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.