Opções de Integração

Para obter dados de seus dispositivos em seu aplicativo, você tem algumas opções. Nós veremos aqui alguns dos mais comuns.

MQTT

Message Queue Telemetry Transport (MQTT) é um protocolo comum para comunicação máquina a máquina que foi criado por Andy Stanford-Clark da IBM e Arlen Nipper (então da Arcom Systems, mais tarde CTO da Eurotech). O protocolo tornou-se muito popular na comunidade técnica da Internet das Coisas porque foi projetado como um transporte de mensagens de publicação/assinatura leve e fácil de usar.

MQTT endpoints are exposed by the network server on which device activations and messages are published. It also allows you to publish downlink messages in response.

Os dados MQTT recebidos desse terminal são orientados por dados. Isso significa que o aplicativo receberá os dados conforme eles ocorrem, sem uma solicitação do aplicativo. Chamamos isso de modelo de dados baseado em push.

A vantagem aqui é que os dados são recebidos assim que estão disponíveis. Esta é uma desvantagem quando seu aplicativo não está pronto para receber dados por algum motivo, seus dados podem ser perdidos. O cliente MQTT precisa ter uma conexão aberta com o broker do servidor de rede para receber mensagens. O MQTT pode não ser adequado em situações em que a conexão não pode ser sustentada durante um processo de execução longa.

HTTP

Hypertext Transfer Protocol (HTTP) é um protocolo bem conhecido para a transmissão de dados de qualquer tipo entre servidores web. A implementação de um servidor da Web HTTP é bastante fácil, independentemente da linguagem de programação que você usa.

No HTTP, existem duas abordagens principais usadas pelos servidores de rede para permitir que você receba os dados; Webhooks HTTP, que enviam dados para o seu servidor quando são recebidos, e uma API HTTP, que permite extrair dados do servidor de rede a qualquer momento.

HTTP Webhooks

Semelhante ao MQTT, os webhooks HTTP são fornecidos para que você possa enviar dados para o aplicativo em tempo real.

Quando habilitada, a integração de webhooks HTTP envia uma solicitação HTTP para o endpoint HTTP que você configurou (geralmente o servidor web), contendo a carga útil do evento.

Novamente, isso é baseado em dados, já que os webhooks serão acionados conforme os dados chegam. Portanto, os webhooks HTTP também são baseados em push.

No entanto, ao contrário do MQTT, o aplicativo que usa webhooks HTTP não requer uma conexão aberta com o servidor de rede. Em vez disso, ele precisa estar disponível para lidar com as solicitações HTTP recebidas.

Isso pode torná-lo mais adequado em situações em que um processo de execução longa não é aplicável (como funções do AWS Lambda).

Para obter mais informações sobre como usar a integração de webhook HTTP, leia o conteúdo Criação de integração com Aplicação no guia de usuário do Semtech Network Server. (Tempo de leitura: 3 minutos)

API HTTP

Os servidores de rede podem armazenar os dados enviados pelos dispositivos para o aplicativo por um período limitado de tempo. O Semtech Network Server armazena os últimos dez eventos.

Os servidores de rede podem então expor uma API que você pode usar para buscar os dados armazenados quando precisar, em contraste com os modelos baseados em push do MQTT e as integrações HTTP. Chamamos esse modelo de baseado em pull. O Semtech Network Server fornece uma API para recuperar os dados armazenados para um determinado dispositivo.

Na abordagem baseada em pull, o aplicativo não obtém os dados assim que eles chegam, mas apenas quando os solicita. Isso é útil para aplicativos que precisam de dados históricos e não precisam responder a eventos em tempo real.

Na seção Atribuição Avançada, mostramos como acessar a API fornecida pelo Semtech Network Server.


Last modified: Monday, February 6, 2023, 8:56 PM