Índice:

Pi Health Dashboard: 3 etapas
Pi Health Dashboard: 3 etapas

Vídeo: Pi Health Dashboard: 3 etapas

Vídeo: Pi Health Dashboard: 3 etapas
Vídeo: OSIsoft: Introduction to Asset Monitoring and Condition-Based Maintenance with the PI System 2024, Novembro
Anonim
Image
Image

O Raspberry Pi está sendo usado para conduzir um grande número de projetos. O Pi foi adotado pela primeira vez por professores e amadores, mas agora a indústria e as empresas perceberam o incrível poder do Pi. Apesar de ser pequeno, fácil de usar e barato, seu Pi contém um número impressionante de subsistemas complexos que devem funcionar para manter seu projeto em execução. Isso torna a capacidade de monitorar a saúde de seu Pi importante em muitos aplicativos, desde a manutenção contínua de um projeto de longo prazo até o perfil de desempenho de um novo protótipo.

Vamos construir nosso próprio painel baseado em navegador para monitorar a saúde e o desempenho de um Raspberry Pi conectado à web. Para realizar essa tarefa, executaremos um script Python simples que coletará informações do sistema do Pi e as enviará para uma plataforma de nuvem especializada em painéis, análises e visualizações.

Neste tutorial passo a passo, você irá:

  • aprenda como coletar informações do sistema de seu Pi por meio de um script Python simples
  • aprenda a usar o estado inicial para construir seu próprio painel de saúde / desempenho do sistema para o seu Pi

Etapa 1: estado inicial

Personalize o seu painel
Personalize o seu painel

Queremos transmitir todos os nossos dados de utilização do sistema Pi para um serviço de nuvem e fazer com que esse serviço transforme nossos dados em um painel. Nossos dados precisam de um destino, portanto, usaremos o Estado inicial como esse destino.

Registre-se para a conta de estado inicial

Acesse https://iot.app.initialstate.com e crie uma nova conta. Você obtém um teste gratuito de 14 dias e qualquer pessoa com um endereço de e-mail educacional pode se inscrever para um plano de estudante gratuito.

Instale o ISStreamer

Instale o módulo Python de estado inicial em seu Raspberry Pi. No prompt de comando, execute o seguinte comando:

$ cd / home / pi /

$ / curl -sSL https://get.initialstate.com/python -o - | sudo bash

Make Some Automagic

Após a Etapa 2, você verá algo semelhante à seguinte saída na tela:

pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bash

Senha: Iniciando a instalação fácil do ISStreamer Python! A instalação pode demorar alguns minutos, pegue um café:) Mas não se esqueça de voltar, terei perguntas mais tarde! Easy_install: setuptools 1.1.6 encontrado pip: pip 1.5.6 from /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) versão principal do pip: 1 versão secundária do pip: 5 ISStreamer encontrado, atualizando… Requisito já atualizado: ISStreamer em /Library/Python/2.7/site-packages Limpando… Deseja obter automaticamente um script de exemplo? [s / N] Onde você deseja salvar o exemplo? [padrão:./is_example.py] Selecione qual aplicativo de estado inicial você está usando: 1. app.initialstate.com 2. [NOVO!] iot.app.initialstate.com Insira a opção 1 ou 2: Insira iot.app Nome de usuário.initialstate.com: Digite a senha iot.app.initialstate.com:

Quando perguntado se você deseja obter um script de exemplo de forma automática, coloque "y" para sim e pressione Enter para salvar seu script no local padrão. Para a pergunta sobre qual aplicativo você está usando, selecione 2 (a menos que você tenha se inscrito antes de novembro de 2018) e digite seu nome de usuário e senha.

Execute o script de exemplo

Execute o script de teste para se certificar de que podemos criar um fluxo de dados para sua conta de estado inicial. Escreva o seguinte comando:

$ python is_example.py

Dados de exemplo

Volte para sua conta do estado inicial no navegador da web. Um novo depósito de dados chamado “Exemplo de fluxo do Python” deve ter aparecido à esquerda em sua prateleira de registro (pode ser necessário atualizar a página). Clique neste intervalo para visualizar seus dados.

Etapa 2: Psutil

Usaremos o psutil para obter acesso fácil à maioria das informações do sistema que usaremos para construir nosso painel. Para instalar a biblioteca Python psutil, vá para um terminal em seu Pi e digite:

$ sudo pip install psutil

Após a conclusão da instalação, simplesmente precisamos executar um script Python para iniciar a coleta de dados. Vamos colocar este script em seu próprio diretório da seguinte maneira:

$ cd / home / pi /

$ mkdir pihealth $ cd pihealth

Uma vez no novo diretório, crie um script fazendo o seguinte:

$ nano pihealth.py

Isso abrirá um editor de texto. Copie e cole o código deste repositório Github no editor de texto.

Na linha 8, você verá a seção Configurações do usuário:

# --------- Configurações do Usuário ---------

# Configurações de estado inicial BUCKET_NAME = ": computer: Pi3 Performance" BUCKET_KEY = "pi0708" ACCESS_KEY = "COLOQUE SEU ESTADO INICIAL ACCESS_KEY AQUI" # Defina o tempo entre as verificações MINUTES_BETWEEN_READS = 1 METRIC_UNITS = Falso # --------- ------------------------

Você precisará colocar sua chave de acesso de estado inicial na atribuição da variável ACCESS_KEY. Para encontrá-lo, vá para a página inicial de seu estado inicial, clique em seu nome de usuário no canto superior direito, vá para minhas configurações e encontre uma chave de acesso de streaming. Se você não fizer isso, seus dados não serão transmitidos para sua conta do Initial State, deixando você muito triste e frustrado.

A variável MINUTES_BETWEEN_READS é importante para definir com base em seu aplicativo. Se você for executar este script ao longo de dias / semanas / meses, você desejará tornar este um número maior, como a cada 2 a 5 minutos. Se você estiver executando este script para monitorar o desempenho de um aplicativo de curto prazo, pode desejar uma atualização a cada poucos segundos.

Depois de atualizar o texto, salve e saia do editor de texto. Estamos prontos para começar a coletar dados do sistema. Para executar o arquivo python, digite o seguinte comando:

$ python pihealth.py

Dica: se você deseja executar este script em segundo plano e certificar-se de que ele não saia se sua conexão SSH for interrompida ou o terminal for fechado, você pode usar o seguinte comando:

$ nohup python pihealth.py &

Erro python.h: se você receber um erro referenciando python.h sempre que tentar usar psutil em um script, a instalação das bibliotecas de desenvolvimento Python pode resolver o erro:

$ sudo apt-get install gcc python-dev

$ sudo pip install psutil

Etapa 3: personalize seu painel

Personalize o seu painel
Personalize o seu painel
Personalize o seu painel
Personalize o seu painel

Vá para a sua conta de estado inicial e clique no novo depósito de dados chamado Pi3 Performance. Este é o seu painel. Vamos personalizar e organizar os dados neste painel em algo útil.

Há muitos blocos e fluxos de dados neste painel. Vamos diminuir os blocos e colocar todas as informações em uma única tela. Clique no botão Editar Ladrilhos no canto superior esquerdo e desmarque "Sempre Ajustar Ladrilhos". Isso coloca o layout do painel em modo manual. Em seguida, redimensione cada bloco para 1/4 de seu tamanho original clicando e arrastando o canto de cada bloco no modo de edição. Você pode arrastar cada bloco para a posição que desejar na tela.

Uma das muitas coisas interessantes que você pode fazer com este painel é criar vários blocos e visualizações de dados por fluxo de dados. Por exemplo, você pode criar blocos para ver o gráfico de linha da temperatura da CPU, bem como um gráfico de medidor e o último valor. Para adicionar um novo ladrilho, clique em Editar Ladrilhos e depois em + Adicionar Ladrilho. A nova caixa de configuração de blocos aparecerá. Selecione o fluxo de dados que conduzirá este bloco na caixa SignalKey, escolha o tipo de bloco e crie um título para este bloco.

No meu painel, transmiti três Pi's em um único painel para comparar o uso da CPU e as temperaturas.

O gráfico de medidor é extremamente útil para fluxos de dados, como Uso do disco (%) e Uso da CPU (%). Ao selecionar uma visualização de gráfico de medidor, você pode definir os valores mínimo e máximo para o medidor na Configuração do Bloco. É importante definir o mín. / Máx. Como 0/100 para os medidores Uso do disco (%) e Uso da CPU (%) para que os blocos façam sentido.

Você pode adicionar uma imagem de plano de fundo ao seu painel para dar mais contexto aos dados.

Aqui estão os compartilhamentos públicos de dois painéis que criei:

  1. https://go.init.st/6g3spq4
  2. https://go.init.st/ynkuqxv

Recomendado: