MCP/API/CmdTelemetryLog

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Exemplo)
(PHP)
Linha 127: Linha 127:
  
 
== PHP ==
 
== PHP ==
 +
 +
=== Exemplo sem filtro de datas ===
 +
 
{| class="wikitable" width="65%"
 
{| class="wikitable" width="65%"
 
|
 
|
Linha 152: Linha 155:
 
</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 de 18h24min de 14 de maio de 2021

Tabela de conteúdo


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

Comando

MÉTODO: GET

Parâmetros enviados para o MCP
request telemetrylog
start Filtro de data inicial.
end Filtro de data final.


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).

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":""
  },
]



PHP

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));
?>


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