Categoria:Envio em CSV

De Wikiplenix
Ir para: navegação, pesquisa
Download: Clique aqui para fazer o download ipl send csv linux pt_BR v0.3 Atualizado em: 03 2009

Tabela de conteúdo


Introdução

Esse guia tem como objetivo que usuários experimentem a potencialidade da plataforma, bem como apresentar uma ferramenta de envio útil tanto para o aprendizado quanto para o uso em aplicações reais.

Com a sequência de exemplos do guia buscamos demonstrar de forma simples e intuitiva o envio de dados para a plataforma e a visualização dos mesmos nos relatórios existentes. Muito mais pode ser feito, e para isso aguardamos seu feedback e contato para construírmos ações em conjunto.

Exemplo de uso "Hello World"

O exemplo "Hello World" é nosso primeiro experimento de envio. O teste consiste em executar o script shell "hello_world.sh" e verificar em um relatório online o sucesso deste envio. O script não necessita de parâmetros, enviando nessa situação o valor "42" para o sensor "termometro_teste" do equipamento "hello_world".

É possível executar o script sem enviar efetivamente dados para a plataforma, somente com o objetivo de visualizar as trocas de mensagens que ocorrem entre seu computador e o gateway Iplenix, como exemplificado abaixo:

# ./hello_world.sh -d

O resultado esperado do comando é o que segue:

# ./hello_world.sh -d
---- Parametros de acesso ----
URL= http://gw.iplenix.com:12000/xml4ipl_debug.fcgi
IPL_LOGIN=set_demoMonitor   
IPL_PASSWORD=iplenix IPL_DEVICE=hello_world 
---- XML Enviado ----
login: set_demoMonitor 
password: iplenix
<xml4ipl ver="1.1" device="hello_world" status="OK" timestamp="20090309182316" sender_agent="ipl_send_csv-v1.0" > 
    <Sensor name="termometro_hello_world" value="42" />
</xml4ipl>
---- XML Retornado ---- 
<xml4ipl ver="1.0" td="hello_world"> 
   <Response resultCode="0" message="OK"/>    
</xml4ipl>
---- Codigo de retorno ----
0

Ao executar o script sem parâmetros ou ajustes no arquivo de configuração, a conta destino do envio é a conta de demonstração da plataforma ("demoMonitor"). O sucesso do envio é indicado pelo retorno do script ("Enviou com sucesso"), sendo possível verificar diretamente na interface web pela atualização da data do último envio do equipamento "hello_world".

# ./hello_world.sh 
Enviou com sucesso
Acesse o relatório de equipamentos  »


Exemplo 2: envio criando um novo equipamento

O exemplo "novo equipamento" explora a funcionalidade de cadastro automático de equipamentos na plataforma. Ao executar o script shell "novo_equipamento.sh" será solicitado um nome de equipamento destino para o envio. Invente um nome de equipamento e verifique no relatório de equipamentos sua criação. O equipamento deve conter um sensor chamado "termometro_teste" com o valor "40". Sem necessidade de configuraões adicionais, o equipamento será criado na plataforma na primeira comunicação, ficando no conjunto de remotas e grupo de administração de acordo com o Login utilizado no envio ("set_demoMonitor" neste exemplo). Conteúdo do arquivo CSV:

# cat novo_equipamento.csv
termometro_teste;40
Crie um usuário e prossiga nos testes já enviando com seu login e senha própria »


Exemplo 3: envio com status e unidade do sensor

O script ipl_send_csv.sh atualmente permite agregar três outras informações a um envio de sensor: status (OK, WARNING, CRITICAL, ERROR); data da coleta (no formato ANO MES DIA HORA MINUTO SEGUNDO, tudo junto - sem espaços); e a unidade da medição (em nosso exemplo, "C", indicando graus Celsius).

Este exemplo envia dados de um sensor com o status "OK" e unidade "C" de Celsius. Esse status que é enviado já a partir do cliente é denominado "Status enviado". Quando existem configurações na plataforma para monitoramento dinâmico (limites configurados na interface), o estado final da computação do valor em função dos seus limites é denominado "Status Calculado" (sendo este último o status visualizado na maior parte dos relatórios);

Para enviar os dados para a sua conta ao invés da conta de demonstração, é preciso ou alterar o arquivo de configuração "ipl_config.cfg", ou então passar como parâmetro o login ("-l *login*") e senha ("-p *password*") para os scripts.

Será possível visualizar o "termometro_teste" com valor "39", status "OK" e unidade "C" no relatório de sensores .

# cat status_unidade.csv
termometro_teste;39;OK;;C

O campo de "timestamp" do envio ficou vazio neste envio para que seja preenchido automaticamente (dois ponto-e-virgula consecutivos no arquivo CSV - ";;"). Se preenchido com uma data e hora diferente, esta seria a considerada como data de coleta do valor.

Exemplo 4: envio com múltiplos sensores

Este quarto exemplo demonstra a possiblidade do envio de múltiplos sensores em uma única comunicação utilizando o script ipl_send_csv.sh. Todos sensores devem pertencer a uma mesma remota, tendo para cada sensor as opções demonstradas no exemplo 3 (valor, status, tempo da coleta, unidade).

Novamente o relatório de sensores será o melhor relatório para verificar o sucesso do seu envio.

Deves encontrar no relatório os seguintes sensores:

# cat multiplos_sensores.csv 
termometro_teste;39;WARNING;;C
umidade_teste;74;OK;;% 
barometro_teste;1000;OK;;hPa

Agora que enviar dados não é mais um mistério, conheça as outras áreas que complementam o uso:

Painel de controle » Relatórios Customizados »

Pacote de envio de dados em CSV para o Iplenix

O ipl_send_csv.sh é um script shell de código aberto (LGPL) para envio de dados para a plataforma Iplenix. Seu princípio de funcionamento é converter os registros separados por ponto e vírgula (ex.: nome_sensor;valor) para o protocolo xml4ipl, realizando autenticação com login e senha na comunicação. Este script pode ser utilizado tanto para testes quanto para uso em aplicações finais.

Equipamentos eletrônicos que tenham o sistema operacional linux e que possam rodar scripts, bem como programas de computador e sistemas na mesma situação podem fazer uso deste pacote para envio de dados.

Conteúdo do pacote ipl_send_csv-linux-pt_BR-v0.3.tgz

Download »

Todos scripts possuem o modo de depuração, bastando utilizar o parâmetro "-d". Ao executar nesse modo, o envio não será efetivado, sendo a resposta visualizada na tela o único produto do envio. Além do código de retorno, recebe-se linhas de erros e warnings mais detalhadas em formato XML. Deve ser usado em situações de teste e entendimento do sistema.

Em caso de dúvidas, utilizar o parâmetro "-h" para obter ajuda e mais informações de uso.

Ajuda do ipl_send_csv.sh

Uso:

ipl_send_csv -c [ -g <gateway iplenix>] [ -u <URL do CGI> ] [ -l set_demoMonitor ] [ -p iplenix ] [ -r <nome do equipamento>]
ipl_send_csv -h (ajuda)

Opções:

-c Arquivo de configuração com entradas para perfil e senha
-g IP ou Hostname disponibilizado pela iplenix para recebimento dos dados. Padrao: gw.iplenix.com
-u URL do CGI do Iplenix. Padrão gw/xml4ipl.fcgi
-l Login do conjunto de remotas
-p Senha do conjunto de remota
-r Nome atribuído ao device (remota)
-d Modo de debug, mostra parâmetros de entrada e erros

Deve ser configurado em ipl_send.cfg o login-name do perfil, a senha do perfil e o device. Deve ser fornecido pela stdin uma sequência de linhas, onde cada linha tem as informações da leitura de um sensor.

Formato lido: sensor_name;value;status;timestamp;unit
sensor_name: nome pelo qual o sensor é conhecido. Exemplo: temperatura.
value: valor do sensor (numérico ou ponto flutuante)
status: status atribuído ao sensor. Possíveis status: OK, WARNING, CRITICAL, ERROR
timestamp: momento da leitura no fuso local a remota. Deve vir na forma: AAAAMMDDhhmmss
unit: unidade da leitura (string opcionalmente com espacos)
Exemplos de linhas de dados:
temperatura;28.3
umidade;98;;20090114101012
velocidade;75;OK;;km/h

No momento esta categoria não possui nenhuma página ou arquivo multimídia.

Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas