MCP/API/CmdTelemetryLog
De uTech Tecnologia
(Diferença entre revisões)
(→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.
|
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)); ?> |