Índice:

Criar meus próprios gráficos para meus dados IOT em um Raspberry PI: 3 etapas
Criar meus próprios gráficos para meus dados IOT em um Raspberry PI: 3 etapas

Vídeo: Criar meus próprios gráficos para meus dados IOT em um Raspberry PI: 3 etapas

Vídeo: Criar meus próprios gráficos para meus dados IOT em um Raspberry PI: 3 etapas
Vídeo: Criando dispositivos e aplicações IoT com OpenDevice - Ricardo Rufino 2024, Novembro
Anonim
Criar meus próprios gráficos para meus dados IOT em um Raspberry PI
Criar meus próprios gráficos para meus dados IOT em um Raspberry PI

Continue lendo se você deseja ser capaz de criar seus próprios gráficos IOT usando 7 linhas de código.

Eu queria criar gráficos para exibir dados em um formato gráfico de meus sensores IOT em uma página da web. Anteriormente, para isso, eu havia usado serviços de terceiros (alguns pagos) e funções de gráfico de terceiros para meu sistema de banco de dados - Mysql, usando uma linguagem de programação conhecida como Php. Achei esses serviços de terceiros muito difíceis ou caros para implantar. Portanto, eu escrevi minha própria função Php simples que pega dados como matrizes de um arquivo de texto ou tabela de banco de dados (do Mysql talvez) e os exibe como um gráfico de linha em uma página da web. Disponibilizei todo o código php no github - https://github.com/scanos/php-simple-chart. Também incluí parte do código aqui - o primeiro arquivo php - PhpSimpleChart2.php - contém o arquivo de função do gráfico de linha e o outro, PhpSimpleChart_ex1.php, é um arquivo de exemplo que mostra como usá-lo. Eu sugiro que você também visite a página do github para obter atualizações de código.

Estou implantando isso no meu Raspberry Pi. Aqui está o que você precisa:

1) Algum conhecimento sobre como implantar um servidor web como o Apache, um banco de dados como o Mysql e PHP. Coletivamente, eles são conhecidos como LAMP - Linux, Apache, Mysql e PHP. e há uma grande quantidade de informações na web a respeito de como implantá-los em um Raspberry Pi. Portanto, não vou cobrir isso aqui.

2) Um ambiente Linux LAMP - novamente, como Raspberry Pi.

3) Um meio de enviar e criar arquivos em seu ambiente da web, ou seja, as pastas em seu Raspberry Pi onde você implementa seus arquivos php de programa.

A seguir, mostrarei como criar seus próprios arquivos php usando os dois arquivos php aos quais me referi anteriormente.

Etapa 1: o código de função PHP - PhpSimpleChart2.php

O código de função PHP - PhpSimpleChart2.php
O código de função PHP - PhpSimpleChart2.php

Este arquivo é chamado PhpSimpleChart2.php - você terá que baixá-lo do repositório git clicando no botão download / clone - veja a imagem acima. Depois de fazer isso, transfira os dois arquivos php para seu servidor web usando seu cliente FTP padrão ou talvez você tenha configurado um compartilhamento de samba em seu Raspberry Pi, o que faz com que suas pastas Pi se pareçam com pastas do Windows.

Você realmente não precisa alterar o código neste arquivo Php principal - PhpSimpleChart2.php. Esta é uma função simples de criação de gráfico de linha para Php. Basicamente, 2 matrizes são passadas para a função, bem como outros argumentos, como as dimensões do gráfico. A primeira matriz contém os primeiros valores brutos, como temperatura, etc. A segunda matriz contém os valores de data associados. O programa tenta dimensionar automaticamente o gráfico dependendo do intervalo, mínimo, máximo e elementos da matriz. O gráfico resultante pode ser recortado e colado em documentos do MS Office como um gif,-p.webp

Depois de carregar PhpSimpleChart2.php em seu servidor web, você pode escrever seu próprio script para usá-lo. Isso é mostrado na próxima página.

Etapa 2: Escrevendo seu próprio programa com base no programa de exemplo

Escrevendo seu próprio programa com base no programa de exemplo
Escrevendo seu próprio programa com base no programa de exemplo

Eu mostrei um programa de exemplo, PhpSimpleChart_ex1.php, que novamente está no repositório git. A primeira linha do código é chamar o script php que contém a função de gráfico -

require ("PhpSimpleChart2.php");

Nesse caso, o arquivo PhpSimpleChart2.php é colocado na mesma pasta que o script que você está escrevendo para chamá-lo. Com sorte, você saberá que os arquivos php devem ter as propriedades de leitura / gravação corretas 755.

Em seguida, você precisa criar suas fontes de dados e preencher o array. Aqui estão os exemplos de matrizes, uma para dados e outra para datas e horas associadas. Obviamente, deve haver o mesmo número de valores em ambas as matrizes.

$ data_array = array ("12", "15", "18", "12", "11", "23", "11", "24", "15", "18", "12", " 11 "," 23 "," 11 "," 24 ");

$ date_array = array ("12th 14h", "12th 15h", "12th 16h", "12th 17h", "12th 18h", "12th 19h", "12th 20h", "12th 21h", "12th 15h", "12ª 16h", "12ª 17h", "12ª 18h", "12ª 19h", "12ª 20h", "12ª 21h");

Normalmente, você leria esses valores em uma consulta ao banco de dados ou os carregaria de um arquivo de texto.

Em seguida, você deve definir os parâmetros de seu gráfico. É muito simples. Você define os títulos primeiro e, em seguida, fixa a altura e a largura do gráfico.

$ chart_text = "Meu gráfico de teste de julho de 2018";

$ y_title = "Temp Deg C";

$ x_scale = 1000;

$ y_scale = 400;

Em seguida, você faz uma chamada de função da seguinte maneira.

draw_line_chart ($ data_array, $ date_array, $ chart_text, $ x_scale, $ y_scale, $ y_title);

Mostrei a saída deste programa de exemplo na imagem anexada. A função de gráfico tenta fazer o escalonamento automático e evitar a confusão do eixo y e dos pontos do descritor do gráfico. Espero que funcione para você. É tudo que você precisa.

Etapa 3: Conclusão

Espero que você tenha achado isso útil. Você pode estar usando outro método que funciona para você, mas aqui estão algumas idéias em qualquer caso;

1) A maioria dos serviços de gráficos IOT de terceiros opera como um serviço online que pode ser acessado normalmente como uma API.

2) Os usuários do IOT têm uma vasta gama de competências no que diz respeito à implantação da funcionalidade de gráficos.

PROS da minha solução

a) Pode operar offline

b) Custo zero.

c) pegada pequena

CONTRAS

a) Não testado com o mesmo rigor que as grandes software houses.

b) Funcionalidade limitada, ou seja, sem gráficos de barras, etc.

Alimento para o pensamento!

Recomendado: