Categoria:Envio em CSV
| Download: | Clique aqui para fazer o download ipl send csv linux pt_BR v0.3 Atualizado em: 03 2009 |
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:
- sensor "termometro_teste": agora com o valor "38", status "WARNING" e unidade "C"
- sensor "umiidade_teste": deve apresentar o valor "74", status "OK" e unidade "%"
- sensor "barometro_teste": deve apresentar o valor "1000", status "OK" e unidade "hPa"
# 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
- README.txt: conteúdo desta página em formato texto plano para referência.
- COPYING:licença GPL base para a LESSER GPL
- COPYING.LESSER:licença LGPL, que dá direito de uso do script ipl_send_csv.sh por softwares livres ou proprietários desde que respeite os termos da licença.
- ipl_send_csv.sh: script shell de envio de dados para a plataforma Iplenix. Recebe dados para envio no formato CSV e envia para a plataforma no protolo xml4ipl. Parâmetros incluem a possibilidade de debug (visualizar a resposta/erros do envio), login e senha de envio, entre outros.
- ipl_config.cfg: arquivo com as configurações possíveis do script. Quando não utilizado, script assume valores padrões (indicado no help do script e no arquivo de configuração)
- hello_world.sh: script exemplo de envio simples de dados para a conta de demonstração "demoMonitor".
- hello_world.csv: arquivo CSV com dados a serem enviados pelo script hello_world.sh.
- novo_equipamento.sh: script que demonstra a característica de cadastro automático de equipamentos presente na plataforma. Novo equipamento será criado dentro da conta de demonstração demoMonitor.
- novo_equipamento.csv: arquivo CSV com dados a serem enviados pelo script novo_equipamento.sh.
- status_unidade.sh: script que demonstra o envio de status e unidade junto com o valor e nome do sensor.
- status_unidade.csv: arquivo CSV com dados a serem enviados pelo script status_unidade.sh.
- multiplos_sensores.sh: script que demonstra múltiplos sensores em um único envio.
- multiplos_sensores.csv: arquivo CSV com dados a serem enviados pelo script multiplos_sensores.sh
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.