MLW/API/EvtRF433Code

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Criou página com ' __TOC__ O Evento '''RF433 Code''' é enviado do leitor para a aplicação, informando evento de leitura de cartão/controle RF433. == Evento == {| class="wikitable" width=...')
 
(Evento)
 
(5 edições intermediárias de um usuário não apresentadas)
Linha 26: Linha 26:
 
|}
 
|}
  
== Exemplo ==
+
'''POST-DATA:'''
  
 +
{| class="wikitable" width="65%"
 +
! align="center" colspan="2" | Parâmetros enviados para o Leitor via POST no formato JSON
 +
|-
 +
| align="left"| button || Mascara de bits com identificação dos botões pressionados. AO pressionar mais de um botão, mais de um bit será setado.
 +
* '''bit 0''': Botão 1.
 +
* '''bit 1''': Botão 2.
 +
* '''bit 2''': Botão 3.
 +
* '''bit 3''': Botão 4.
 +
|-
 +
| align="left"| vlow || Indicação da bateria do controle.
 +
* '''0''': Bateria do controle '''OK'''.
 +
* '''1''': Bateria do controle '''baixa'''
 +
|-
 +
| align="left"| panic || Indicação de botão de pânico pressionado.
 +
* '''0''': Não é botão de pânico.
 +
* '''1''': É botão de pânico.
 +
|}
 +
 +
== Exemplo ==
  
 
{| class="wikitable"
 
{| class="wikitable"
! style="text-align: left; font-weight: bold;" | <pre>http://ip:porta/url/?request=rfcode&rfcode=F16482B&state=blocked
+
! style="text-align: left; font-weight: bold;" | <pre>POST /?request=rfcode&rfcode=1234567890&state=blocked&time=24062022155011 HTTP/1.1
 +
Content-Type: application/json
 +
Content-Length: 67
 +
 
 +
{
 +
"button":"1",
 +
"vlow":"0",
 +
"panic":"0",
 +
}
 
</pre>
 
</pre>
 
|}
 
|}
 +
  
 
'''Resposta:''' A  aplicação deve responder:
 
'''Resposta:''' A  aplicação deve responder:
Linha 46: Linha 74:
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
 +
 +
/*
 +
* Arquivo DEVE existir e ter permissão de escrita pelo servidor http.
 +
*/
 +
$DGBFILE = "/var/log/evts.log";
 +
 +
 +
function evt2log($str = null, $file = null)
 +
{
 +
    if($str == null) {
 +
        echo "str null\n";
 +
        return;
 +
    }
 +
 +
    if($file == null)
 +
        $file = "/var/log/evts.log";
 +
 +
    error_log($str, 3, $file);
 +
}
 +
 +
function show_request($req, $post, $file)
 +
{
 +
    if($req) {
 +
        evt2log("==>\nREQUEST {$req}\n", $file);
 +
    }
 +
 +
    if($post) {
 +
        evt2log("==>\nPOST {$post}\n", $file);
 +
    }
 +
}
  
 
$vars = $_REQUEST;
 
$vars = $_REQUEST;
 +
$l = print_r($vars, true);
  
if(!isset($vars))
+
$p = null;
 +
$post_params = file_get_contents("php://input");
 +
if($post_params) {
 +
    $post = json_decode($post_params, true);
 +
    $p = print_r($post, true);
 +
}
 +
 
 +
$d = date(DATE_RFC822);
 +
 
 +
evt2log("\n=============================================\n", $DGBFILE);
 +
evt2log("=> $d\n", $DGBFILE);
 +
 
 +
 
 +
if(!isset($vars)) {
 +
        evt2log("==> !!! Invalid arguments !!!\n\n", $DGBFILE);
 +
        show_request($l, $p, $DGBFILE);
 
         exit(0);
 
         exit(0);
 +
}
  
if(isset($vars['request']) && strcmp($vars['request'],"rfcode") == 0)
+
 +
if(isset($vars['request']))
 
         $event = $vars['request'];
 
         $event = $vars['request'];
 
else {
 
else {
         echo "Evento invalido!\n";
+
         evt2log("==> !!!Evento Invalido!!!\n", $DGBFILE);
 +
        show_request($l, $p, $DGBFILE);
 
         exit(1);
 
         exit(1);
 
}
 
}
  
printf("Evento: %s<BR>\n", $vars['request']);
+
evt2log("=> Novo evento recebido...\n", $DGBFILE);
printf("=>RF 433: %s<BR>\n", $vars['rfcode']);
+
evt2log("=> Evento: {$vars['request']}\n", $DGBFILE);
printf("=> State: %s<BR>\n", $vars['state']);
+
show_request($l, $p, $DGBFILE);
printf("=>  Data: %s<BR>\n", $vafs['time']);
+
evt2log("\n\n", $DGBFILE);
  
 
?>
 
?>

Edição atual tal como 19h21min de 24 de junho de 2022

Tabela de conteúdo


O Evento RF433 Code é enviado do leitor para a aplicação, informando evento de leitura de cartão/controle RF433.

[editar] Evento

Parâmetros enviados pelo Leitor
request rfcode
rfcode Identificação do cartão/controle RF433 Code
state Status do cartão/Evento
  • blocked: Cartão/controle RF433 Code bloqueado.
  • granted: Cartão/controle RF433 Code liberado.
time Data/Hora do evento no formato ddmmYYYYHHMMSS onde:
  • dd: Dia do mês. (01 a 31)
  • mm: Mês do ano. (01 a 12).
  • YYYY: Ano no formato 1970.
  • HH: Hora do dia no formato 24H. (00 a 23).
  • MM: Minuto da hora. (00 a 59).
  • SS: Segundo. (00 a 59).

POST-DATA:

Parâmetros enviados para o Leitor via POST no formato JSON
button Mascara de bits com identificação dos botões pressionados. AO pressionar mais de um botão, mais de um bit será setado.
  • bit 0: Botão 1.
  • bit 1: Botão 2.
  • bit 2: Botão 3.
  • bit 3: Botão 4.
vlow Indicação da bateria do controle.
  • 0: Bateria do controle OK.
  • 1: Bateria do controle baixa
panic Indicação de botão de pânico pressionado.
  • 0: Não é botão de pânico.
  • 1: É botão de pânico.

[editar] Exemplo

POST /?request=rfcode&rfcode=1234567890&state=blocked&time=24062022155011 HTTP/1.1
Content-Type: application/json
Content-Length: 67

{
 "button":"1",
 "vlow":"0",
 "panic":"0",
}


Resposta: A aplicação deve responder:

  • 401 => Erro de Autenticação.
  • 200 => OK.



[editar] PHP

<?php
 
/*
 * Arquivo DEVE existir e ter permissão de escrita pelo servidor http.
 */
$DGBFILE = "/var/log/evts.log";
 
 
function evt2log($str = null, $file = null)
{
    if($str == null) {
        echo "str null\n";
        return;
    }
 
    if($file == null)
        $file = "/var/log/evts.log";
 
    error_log($str, 3, $file);
}
 
function show_request($req, $post, $file)
{
    if($req) {
        evt2log("==>\nREQUEST {$req}\n", $file);
    }
 
    if($post) {
        evt2log("==>\nPOST {$post}\n", $file);
    }
}
 
$vars = $_REQUEST;
$l = print_r($vars, true);
 
$p = null;
$post_params = file_get_contents("php://input");
if($post_params) {
    $post = json_decode($post_params, true);
    $p = print_r($post, true);
}
 
$d = date(DATE_RFC822);
 
evt2log("\n=============================================\n", $DGBFILE);
evt2log("=> $d\n", $DGBFILE);
 
 
if(!isset($vars)) {
        evt2log("==> !!! Invalid arguments !!!\n\n", $DGBFILE);
        show_request($l, $p, $DGBFILE);
        exit(0);
}
 
 
if(isset($vars['request']))
        $event = $vars['request'];
else {
        evt2log("==> !!!Evento Invalido!!!\n", $DGBFILE);
        show_request($l, $p, $DGBFILE);
        exit(1);
}
 
evt2log("=> Novo evento recebido...\n", $DGBFILE);
evt2log("=> Evento: {$vars['request']}\n", $DGBFILE);
show_request($l, $p, $DGBFILE);
evt2log("\n\n", $DGBFILE);
 
?>




Voltar


Ferramentas pessoais
Espaços nominais

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