MLW/API/EvtRF433Code
De uTech Tecnologia
(Diferença entre revisões)
(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: | ||
|} | |} | ||
− | + | '''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> | + | ! 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']) | + | |
+ | if(isset($vars['request'])) | ||
$event = $vars['request']; | $event = $vars['request']; | ||
else { | else { | ||
− | + | evt2log("==> !!!Evento Invalido!!!\n", $DGBFILE); | |
+ | show_request($l, $p, $DGBFILE); | ||
exit(1); | exit(1); | ||
} | } | ||
− | + | evt2log("=> Novo evento recebido...\n", $DGBFILE); | |
− | + | evt2log("=> Evento: {$vars['request']}\n", $DGBFILE); | |
− | + | show_request($l, $p, $DGBFILE); | |
− | + | 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
|
time | Data/Hora do evento no formato ddmmYYYYHHMMSS onde:
|
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.
|
vlow | Indicação da bateria do controle.
|
panic | Indicação de botão de pânico pressionado.
|
[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); ?> |