Leitura de dados do INPE

Esse endereço retorna um xml com dados climáticos dos aeroportos do Brasil. O código SBCT indica o aeroporto Afonso Pena.

http://servicos.cptec.inpe.br/XML/estacao/SBCT/condicoesAtuais.xml

In [5]:
url = 'http://servicos.cptec.inpe.br/XML/estacao/SBCT/condicoesAtuais.xml'

from xml.etree import ElementTree
import requests

response = requests.get(url)
tree = ElementTree.fromstring(response.content)
temp = tree.find('temperatura').text

temp = float(temp)
print('Temperatura atual: {} Cº'.format(temp))
Temperatura atual: 25.0 Cº

Escrita da informação no EPM

Para escrever o valor precisamos de uma variável de destino(Basic Variable), previamente criada no EPM. Para mais informações veja a seguinte seção do manual: https://github.com/elipsesoftware/epmprocessor/blob/master/guiadousuario/EPMProcessorAlgoritmos.md#escrita-de-dados-em-uma-basic-variable

In [4]:
import getpass
import epmwebapi as epm
import datetime

#conexão ao EPM Server
user = input('EPM user:')
password = getpass.getpass("EPM password:")
connection = epm.EpmConnection('http://ecc.elipse.com.br:44333', 'http://ecc.elipse.com.br:44332', user, password)

#busca da variável
basic_variable = 'cwb_temp_webserver'
bv_object = connection.getDataObjects(basic_variable)

#Toda escrita precisa de valor, qualidade e estampa de tempo. 
date = datetime.datetime.now()
quality = 0 #zero is Good in OPC UA

#escrita
bv_object[basic_variable].write(temp, date, quality)

#fechando a conexão
connection.close()
EPM user:sa
EPM password:········
In [ ]: