Configuração do receptor HTTP + Data Point + Publisher


#1

Olá. Comecei a trabalhar com o ScadaBR faz pouco tempo, mas gostei bastante do potencial dessa aplicação. Porém, estou tentando fazer rodar um exemplo teste com receptor HTTP, mas até agora não deu certo. Gostaria da ajuda de vocês para ver o que está faltando:

Dados preliminares:

ScadaBR rodando em localhost, porta 8080 (firewall do Windows liberado para essa porta nessa aplicação), Windows 7 64b, Navegador Google Chrome

Passos realizados:

Inicialmente criei um datasource com as seguintes configurações:

Nome: DS_RECEPTORHTTP

Export ID (XID): DS_569775

Lista branca de IP remotos: *.*.*.*

Lista branca de ID de dispositivo: *

Depois, criei um data point com as seguintes propriedades:

Nome: DPDADO

Export ID (XID): DP_959863

Nome de parâmetro HTTP: dado

Tipo de dado: Numérico

Feito isso, fui em Publishers e criei um novo publisher com as seguintes características:

Propriedades gerais:

Nome: PB_DADO

Export ID (XID): PUB_767991

Habilitado: marcado

Alerta para tamanho de armazenamento: 100

Atualizar evento: Todas atualizações

Enviar imagem instantânea padrão: desmarcado

Propriedades do remetente HTTP:

Método: GET

URL: http://localhost:8080/ScadaBR/httpds

Cabeçalhos estáticos e parâmetros estáticos: vazio

Alerta de aumento de resultado: marcado

Formato de data: básico

Após isso, na caixa de pontos, selecionei no menu o data source criado anteriormente e adicionei-o. Alterei o nome do parâmetro do ponto para dado e o status para habilitado.

Feito isso, fui testar a conexão. Então voltei para a tela data source, editar data source, e no quadro Auditor de receptor HTTP cliquei em escutar por dados HTTP. Para testar, abri uma outra aba do navegador e digitei: http://localhost:8080/ScadaBR/httpds?dado=1234

O resultado que apareceu na página foi: Unconsumed key: dado, e no campo Auditor de receptor HTTP ficou só aparecendo em vermelho Escutando...

Então, fui na tela watch list e na coluna points cliquei na seta verde para adicionar o ponto à watch list. Refiz o teste digitando a URL http://localhost:8080/ScadaBR/httpds?dado=1234 na barra de endereços da outra aba do navegador. Novamente, nada aconteceu.

Onde está o erro? Por que esse teste não retorno resultado? Teria algum outro teste adicional para descobrir o problema? Minha idéia é utilizar um arduino com ethernet shield enviando dados via HTTP para o ScadaBR.

Desde já, agradeço a ajuda de todos.

 


#2

Ao invés de utilizar http://localhost:8080/ScadaBR/httpds, utilize o endereço de ip da máquina local: http://127.0.0.1:8080/ScadaBR/httpds, que agora vai funcionar corretamente.

Criei essa aplicação no Raspberry pi, que envia as informações de temperatura, tensão e frequência do Raspberry pi a cada 60 segundos, para ser lido no httpds do ScadaBR / ScadaLTS:
(Crie um arquivo, com o nome temperatura_scada.sh , por exemplo e copie o código abaixo, transforme ele em um arquivo executável, alterando as propriedades)

#!/bin/bash

#infinite loop
while [ 1 ]
do
echo Temperatura do processador:
temp=sudo vcgencmd measure_temp | grep -E -o '[0-9]{,3}\.[0-9]{,3}'
voltagem=sudo vcgencmd measure_volts | grep -E -o '[0-9]{,3}\.[0-9]{,3}'
frequencia=sudo echo $(( $(vcgencmd measure_clock arm | cut -d '=' -f 2)))

echo Temperatura: $temp
echo Voltagem: $voltagem
echo Frequencia: $frequencia
date

curl “http://127.0.0.1:8085/ScadaLTS/httpds?frequencia=$frequencia&temp=$temp&voltagem=$voltagem
echo

sleep 60
done