Skip to content

Recebimento de leituras via WebSocket

O Sistema permite, através de comunicação websocket com o protocolo STOMP(https://jmesnil.net/stomp-websocket/doc/), assinar o tópico de recebimento das leituras realizadas pelos portais ou mesas de conferência em tempo real:

Para isso, basta conectar ao servidor websocket via protocolo STOMP e assinar o tópico desejado:

  • Para obter as leituras dos portais, assinar o tópico /topic/read.
  • Para obter as leituras de uma mesa de conferência, , assinar o tópico /user/nome_de_usuario/topic/conference, onde o nome_de_usuario deve ser o mesmo usuário que conectou a mesa de conferência.

Exemplo da informação recebida:

{
  "invoiceReference":"5555",
  "invoiceDescription":"Documento",
  "productSku": "1234",
  "productDescription":"Produto",
  "portalName":"Portal",
  "epc":"123456789012345678901234",
  "fraction":1000.0,
  "measureUnit":"KG",               
  "rssi":-75.6,
  "antenna":1
}
  • invoiceReference - Referência do documento vinculado ao EPC
  • invoiceDescription - Descrição do documento vinculado ao EPC
  • productSku - SKU do produto vinculado ao EPC
  • productDescription - Descrição do produto vinculado ao EPC
  • portalName - Nome do portão que realizou a leitura - nulo no case de mesa de conferência
  • epc - Código EPC
  • fraction - fração do EPC
  • measureUnit - Unidade de medida da fração do EPC
  • rssi - Potência do sinal de leitura
  • antenna - Númera da antenna que realizou a leitura

Exemplo de implementação em Javascript da assinatura do tópico de leituras dos portais:

<!doctype html>
<html lang="pt-BR">
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/sockjs-client/1.6.1/sockjs.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/stomp.js/2.3.3/stomp.min.js"></script>
  </head>
  <body>
  <script>
    var ws = new SockJS('http://localhost:8081/stomp');
    var client = Stomp.over(ws);
    
    client.connect({}, () => {
      alert("Connectado!");
      
      var subscription = client.subscribe("/topic/read", (message) => {
        if (message.body) {
          alert(message.body)";
        }
      });
    }, error => {
      alert(error);
    });
   </script>
  </body>
</html>

Valesoft Sistemas RFID