Appearance
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 onome_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 EPCinvoiceDescription
- Descrição do documento vinculado ao EPCproductSku
- SKU do produto vinculado ao EPCproductDescription
- Descrição do produto vinculado ao EPCportalName
- Nome do portão que realizou a leitura - nulo no case de mesa de conferênciaepc
- Código EPCfraction
- fração do EPCmeasureUnit
- Unidade de medida da fração do EPCrssi
- Potência do sinal de leituraantenna
- 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>