A integração de dados é um dos principais requisitos para muitos de nossos clientes de sistemas de monitoramento.
A funcionalidade principal do Rotronic Monitoring System (RMS) oferece excelentes gráficos, estática e relatórios; no entanto, aqui estamos discutindo as ferramentas que serão utilizadas para a integração Máquina a Máquina (M2M).
A integração máquina-máquina (M2M) é absolutamente essencial, pois os dados são cada vez mais usados por diversos motivos nas empresas. Portanto, embora o RMS forneça uma estrutura muito segura e adaptável para monitoramento e alarme, há muitas funções estranhas e maravilhosas que ele não pode oferecer. Nesse caso, precisamos extrair os dados e usá-los em outro lugar.
O RMS é um sistema baseado em SQL, portanto, é claro que poderíamos consultar o SQL diretamente; no entanto, essa abordagem tem muitas limitações, principalmente de segurança. Além disso, por meio da nossa plataforma de nuvem RMS, absolutamente nenhum acesso direto ao SQL está disponível para os usuários finais.
Em vez disso, o RMS oferece suporte a uma API RESTful, e usaremos um exemplo simples para percorrer as etapas básicas.
Como antes, usarei alguns scripts Python neste exemplo, mas se você preferir, o POSTMAN é uma ótima ferramenta para testar esses tipos de APIs.
Vamos detalhar as etapas:
1. Solicite o token da API usando seu nome de usuário e senha
2. Use o token para solicitar dados específicos
3. usar os dados conforme necessário
Etapa 1 - Solicitar um token
Por motivos de segurança, você não pode simplesmente enviar uma solicitação e obter os dados que desejar. Primeiro, você deve solicitar um token do RMS. O token está vinculado a uma conta de usuário e só permitirá que os dados visíveis por esse usuário sejam acessados. Ao solicitar um token, você também pode especificar por quanto tempo ele é válido. A duração máxima é de 30 dias.
import json
import requests
url = ‘https://rms.rotronic.com/RMS/API/RequestToken.ashx’
headers = {‘Content-Type’ : ‘Application/json’, ‘Expect’ : ‘100-continue’, ‘Connnection’ : ‘Close’, ‘Host’ : ‘rms.rotronic.com’}
UsrID = “1”
User= “Jeremy”
PW = “########”
Exp = “30”
get_payload = {‘UserId’:UsrID,’Username’:User,’Password’:PW,’RequestType’:’ DataHistory’,’ExpirationDays’: Exp}
api_get = requests.post(url, headers=headers, data =json.dumps (get_payload))
token = json.loads(api_get.content)
token = token.get(‘Token’)
{‘UserId’: 1, ‘RequestType’: ‘DataHistory’, ‘Token’: ‘jUsTaNeXaMpLe_HRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjM5MzEsIlJlcXVlc3RUeXBlIjoiRGF0YUhpc3RvcnkiLCJFeHBpcmF0aW9uIjoiMjAxOS0wNC0wM1QxNToyMzoyMC44MTgwODM4WiJ9.rtHHKvrE-7jnMNHUGazso_jUsTaNeXaMpLe’, ‘Status’: ‘OK’}
Etapa 2 - Solicitar dados
Para solicitar dados, precisamos do ID do ponto de medição para os dados de que precisamos, que pode ser obtido na interface do RMS (cada parâmetro medido tem um ID exclusivo no RMS que não muda e não pode ser reutilizado). Também definimos os intervalos From e To, bem como o número de valores que desejamos obter (Count).
import json
import requests
url = ‘https://rms.rotronic.com/RMS/API/DataHistory.ashx’
headers = {‘Content-Type’ : ‘Application/json’, ‘Expect’ : ‘100-continue’, ‘Connnection’ : ‘Close’, ‘Host’ : ‘rms.rotronic.com’}
MPTID = “20”
From = “2019-03-04T08:00:00”
To = “2019-03-04T09:00:00”
Count = “10”
Token = “token from step 1”
post_payload = {‘ID’: MPTID,’From’: From,’To’:To,’Count’:Count,’Order’:’Asc’,’Token’: Token}
api_get = requests.post(url, headers=headers, data =json.dumps (post_payload))
data = json.loads(api_get.content)
print (data)
A solicitação acima, com os detalhes adequados, retornará algo parecido com isto.
{‘Status’: ‘OK’, ‘ID’: 20, ‘Name’: ‘Humidity-18071604′, ‘Parameter’: ‘Humidity‘, ‘Unit’: ‘%rh‘, ‘Data’: [{‘Time’: ‘2019-03-04T08:00:14+01:00′, ‘Value’: ‘29.45%rh‘}, {‘Time’: ‘2019-03-04T08:05:14+01:00’, ‘Value’: ‘29.80%rh’}, {‘Time’: ‘2019-03-04T08:10:14+01:00’, ‘Value’: ‘29.61%rh’}, {‘Time’: ‘2019-03-04T08:15:14+01:00’, ‘Value’: ‘29.29%rh’}, {‘Time’: ‘2019-03-04T08:20:14+01:00’, ‘Value’: ‘29.80%rh’}]}
Etapa 3 - Use os dados
Portanto, temos nossos dados no formato JSON e, a partir daí, é fácil cortar os valores específicos e entregá-los a algum outro código, máquina ou simplesmente exibi-los para você.
A flexibilidade do RMS é um requisito importante para nossos clientes, especialmente aqueles com sistemas existentes. O uso do RMS como plataforma central garante medições precisas, coleta de dados segura e confiável e fácil acesso aos dados. O uso de nossas APIs permite que esses dados sejam utilizados em operações comerciais mais amplas.
Exemplos de clientes que usam a API incluem
Conclusão
Esta postagem se concentra em nossa API RESTful, embora tenhamos várias possibilidades alternativas de integração de dados, como módulos de saída de relé, módulos de saída analógica e conexões SQL diretas. Além disso, nosso hardware RMS-Integrator oferece suporte à comunicação direta com dispositivos via MODBUS, SNMP e MySQL.
Assim, a mensagem é simples: se você tem requisitos, o Rotronic Monitoring System RMS normalmente pode atendê-los. Entre em contato conosco e teremos o prazer de discutir o seu projeto. Não importa se ele é grande ou pequeno.
Saiba mais sobre o RMS
Autor:
Jeremy Wingate
Sales Manager Environmental Monitoring System Department
Inscreva-se em um de nossos boletins informativos do setor e receba nossas notícias e insights relacionados mais recentes diretamente em sua caixa de entrada!
Sign Up