MCP/API/CmdTelemetryLog

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Exemplo)
(Comando)
 
(2 edições intermediárias de um usuário não apresentadas)
Linha 13: Linha 13:
 
| align="left"| '''request''' || '''telemetrylog'''
 
| align="left"| '''request''' || '''telemetrylog'''
 
|-
 
|-
| align="left"| '''start''' || Filtro de data inicial.
+
| align="left"| '''interface''' || Defina qual leitor externo será utilizado para leitura dos dados de telemetria.
 +
* '''5 a 32''': Interface externa (Ver [[MCP/ConfiguracaoWEB#Leitores|'''Leitores''']])
 +
|}
 +
 
 +
<BR>
 +
'''POST-DATA:''' Opcional
 +
{| class="wikitable" width="65%"
 +
! align="center" colspan="2" | Parâmetros enviados para o MCP via JSON
 +
|-
 +
| align="left"| '''start''' || Data inicial do filtro por data. ('''OPCIONAL caso necessite filtrar por data/hora''')
 +
Formato: 'YYYY-MM-DD HH-MM-SS'. Ex. '''2020-01-01 08:00:00'''.
 +
* Se inserido parâmetro '''start''', '''DEVE''' ser inserido parâmetro '''end'''.
 
|-
 
|-
| align="left"| '''end''' || Filtro de data final.
+
| align="left"| '''end''' || Data inicial do filtro por data. ('''OPCIONAL caso necessite filtrar por data/hora''')
 +
* Se inserido parâmetro '''end''', '''DEVE''' ser inserido parâmetro '''start'''.
 
|}
 
|}
 +
<BR>
  
  
Linha 127: Linha 140:
  
 
== PHP ==
 
== PHP ==
 +
 +
=== Exemplo sem filtro de datas ===
 +
 
{| class="wikitable" width="65%"
 
{| class="wikitable" width="65%"
 
|
 
|
Linha 152: Linha 168:
 
</source>
 
</source>
 
|}
 
|}
 +
 +
 +
=== Com filtro de datas ===
 +
 +
{| class="wikitable" width="65%"
 +
|
 +
<source lang="php">
 +
<?php
 +
 +
$user = "utech";
 +
$pass = "1234";
 +
$port = "8080";
 +
$ipaddr = "10.0.0.1";
 +
 +
$data = array(
 +
    "start" => "2020-04-14 00:00:00",
 +
    "end"  => "2021-07-14 23:59:59"
 +
);
 +
 +
$data_string = json_encode($data,JSON_UNESCAPED_SLASHES);
 +
$url = "$ipaddr:$port?request=telemetrylog&interface=6";
 +
$ch = curl_init($url);
 +
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
 +
curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
 +
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
 +
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
 +
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 +
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
 +
    'Content-Type: application/json',
 +
    'Content-Length: ' . strlen($data_string))
 +
);
 +
 +
$result = curl_exec($ch);
 +
if(!$result) {
 +
    echo "error!\n";
 +
    return 2;
 +
}
 +
print_r(json_decode($result, true));
 +
?>
 +
</source>
 +
|}
 +
  
 
<br/>
 
<br/>

Edição atual tal como 18h26min de 14 de maio de 2021

Tabela de conteúdo


O comando Telemetry Log é utilizado para buscar a lista das ultimas 8000 medidas lidas.

[editar] Comando

MÉTODO: GET

Parâmetros enviados para o MCP
request telemetrylog
interface Defina qual leitor externo será utilizado para leitura dos dados de telemetria.
  • 5 a 32: Interface externa (Ver Leitores)


POST-DATA: Opcional

Parâmetros enviados para o MCP via JSON
start Data inicial do filtro por data. (OPCIONAL caso necessite filtrar por data/hora)

Formato: 'YYYY-MM-DD HH-MM-SS'. Ex. 2020-01-01 08:00:00.

  • Se inserido parâmetro start, DEVE ser inserido parâmetro end.
end Data inicial do filtro por data. (OPCIONAL caso necessite filtrar por data/hora)
  • Se inserido parâmetro end, DEVE ser inserido parâmetro start.



Resposta enviada pelo o MCP
date data/Hora da leitura.
sensor Identificação do leitor externo.
temperature Temperatura na data leitura.
humidity Umidade na data leitura.
gas Nível de gás e fumaça na data leitura.
pir Identificação de detecção de movimento na data leitura (On/Off).
level Status do sensor de nível na data da leitura (On/Off).
volume Valor do volume na data leitura.
luminosity Valor de luminosidade na data leitura (em LUX).
alarm Indica de na data/hora da leitura, o equipamento apresentava algum alarme de sensor.
  • normal: Não alarmado.
  • alarm: Alarmado.
voltage Tensão (em Volts - V).
current Corrente lida (Miliampère - mA).
power Potencia lida (Em Watts - W).
energy Energia total consumida (Em Watts - W).

[editar] Exemplo

http://ip:porta/?request=telemetrylog&interface=6

Ou com filtro de data/hora:

POST /?request=telemetrylog&interface=6 HTTP/1.1
Content-Type: application/json
Content-Length: 20

{
 "start":"2020-04-14 00:00:00",
 "end":"2020-04-14 23:59:59"
}


Resposta:

  • 400 => Parâmetros incorretos
  • 401 => Erro de autenticação da API
  • 200 => OK
 
Content-Type: application/json
 
[
  {
    "date":"2021-05-14 14:27:10",
    "sensor":"6",
    "temperature":"",
    "humidity":"",
    "gas":"0",
    "pir":"normal",
    "level":"normal",
    "volume":"",
    "luminosity":"7",
    "alarm":"false",
    "voltage":"",
    "current":"",
    "power":"",
    "energy":""
  },
  {
    "date":"2021-05-14 14:26:10",
    "sensor":"6",
    "temperature":"",
    "humidity":"",
    "gas":"0",
    "pir":"normal",
    "level":"normal",
    "volume":"",
    "luminosity":"5",
    "alarm":"false",
    "voltage":"",
    "current":"",
    "power":"",
    "energy":""
  },
]



[editar] PHP

[editar] Exemplo sem filtro de datas

<?php
 
$user = "utech";
$pass = "1234";
$port = "8080";
$ipaddr = "10.0.0.1";
 
$url = "";
$url = "$ipaddr:$port?request=telemetrylog&interface=6";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
$result = curl_exec($ch);
if(!$result) {
    echo "error!\n";
    return 2;
}
print_r(json_decode($result, true));
?>


[editar] Com filtro de datas

<?php
 
$user = "utech";
$pass = "1234";
$port = "8080";
$ipaddr = "10.0.0.1";
 
$data = array(
    "start" => "2020-04-14 00:00:00",
    "end"   => "2021-07-14 23:59:59"
);
 
$data_string = json_encode($data,JSON_UNESCAPED_SLASHES);
$url = "$ipaddr:$port?request=telemetrylog&interface=6";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_string))
);
 
$result = curl_exec($ch);
if(!$result) {
    echo "error!\n";
    return 2;
}
print_r(json_decode($result, true));
?>





Voltar


Ferramentas pessoais
Espaços nominais

Variantes
Visualizações
Ações
Navegação
Ferramentas