Detector de gases inflamáveis e fumaça com SigFox: IoT
24 de Julho de 2020

Detector de gases inflamáveis e fumaça com SigFox: IoT

sigfox

Este artigo dará continuidade ao projeto de detector de gases inflamáveis e fumaça com SigFox e Tago.IO. Nesta segunda parte da série de artigos, será mostrado como integrar o SigFox Cloud a plataforma IoT Tago.io, de forma a permitir a exibição em forma de dashboards, tratamento e processamento dos dados obtidos e geração de alertas em caso de detecção de gases inflamáveis e/ou fumaça.

Criação de uma conta na Tago.IO

A primeira coisa a ser feita, é a criação de uma conta na plataforma IoT Tago.IO. Para isso, acesse o site da plataforma  e faça seu cadastro clicando em Get Started e preenchendo o formulário de cadastro. Em seguida, você receberá um e-mail solicitando a confirmação da conta. Após a confirmação, sua conta na plataforma Tago.IO estará pronta para uso.

Obtenção do SigFox ID de seu dispositivo

Para fazer a “ligação” entre SigFox Cloud e Tago.IO, será preciso o SigFox ID de seu dispositivo. Para isso, logado no backend SigFox (https://backend.sigfox.com/), vá até a sua lista de dispositivos (clique sobre Device, na parte superior da página) e copie / anote o valor do campo Id (ele será usado mais a frente neste artigo), localizado conforme local destacado em vermelho na figura 1.

SigFox

Figura 1 – Sigfox Id (no local destacado em vermelho)

Criação de um dispositivo SigFox na Tago.IO

Para que os dados enviados via SigFox possam ser utilizados, estes devem ser atribuídos a um dispositivo do tipo SigFox dentro da plataforma Tago.IO. Para criar tal dispositivo, siga o procedimento abaixo:

  1. Uma vez logado na sua conta na Tago.IO, do lado esquerdo clique sobre Devices.
  2. Na parte superior direita da tela de gerenciamento de dispositivos, clique sobre o botão Add Device.
  3. A tela de inserção de dispositivo irá surgir. Na lista de tipos de dispositivos à esquerda, selecione a opção SigFox.
  4. Escolha a opção Custom SigFox.
  5. Preencha as informações conforme a orientação a seguir:
    – Device name: coloque aqui qualquer nome que achar relevante para seu dispositivo. Essa identificação será usada na plataforma Tago.IO somente.
    – SigFox Device ID: coloque aqui o SIgFox ID obtido no tópico “Obtenção do SigFox ID de seu dispositivo” deste artigo.
  6. Clique sobre Create Device e aguarde alguns segundos para a criação do dispositivo.

Obtenção do authorization code do dispositivo SigFox Cloud na Tago.IO

Um dos dados requeridos na ligação entre SigFox Cloud e Tago.IO é o authorization code. Para cria-lo, acesse a página de criação de authorization codes da Tago.IO (https://admin.tago.io/devices/authorization) e crie o authorization code para seu dispositivo SigFox. Copie / anote o valor deste authorization code, ele será usado mais a frente neste artigo.

Com este dispositivo criado na Tago.IO e com authorization code gerado, é preciso fazer com que a SigFox Cloud automaticamente redirecione os dados recebidos para a Tago.IO.

Callback de uplink: do SigFox Cloud para a Tago.IO

Para direcionar os dados recebidos no SigFox Cloud para outros locais (plataformas IoT, por exemplo), o SigFox oferece o mecanismo de Callback de uplink. Esse mecanismo faz com que toda mensagem de um determinado dispositivo que chegue a SigFox Cloud seja automaticamente redirecionada para outro local, permitindo o uso da informação pelo sistema desejado. No caso deste projeto, será criada uma callback de uplink para a plataforma IoT Tago.IO. Observe o diagrama de integração na figura 2.

Figura 2 – diagrama de integração (do dispositivo até a plataforma Tago.IO). Fonte da imagem: https://tago.elevio.help/en/articles/33-sigfox

Esta callback de uplink é criada no backend SigFox (https://backend.sigfox.com/). Para cria-la, faça login no backend SigFox e siga o procedimento abaixo:

  1. Na parte superior da página, clique em Device Type.
  2. Clique sobre o nome do dispositivo SigFox que deseja fazer esta callback.
  3. Clique sobre Callbacks, na parte esquerda da página.
  4. Na parte superior da página, clique sobre o botão New Callback.
  5. Preencha as informações do formulário conforme mostrado abaixo
    – Type: DATA & UPLINK
    – Channel: URL
    – URL: https://sigfox.middleware.tago.io/uplink
    – Use HTTP Method: POST
    – Send SNI: deixe o checkbox “Send SNI” selecionado.
    – Headers: Add two rows in the Headers section inside the header and value fields:
Header Valor
device {device}
authorization Coloque aqui o authorization code obtido no tópico Obtenção do authorization code do dispositivo SigFox na Tago.IO deste artigo.

– Content-type: application/json
– Body: coloque o conteúdo a seguir. Ele corresponde ao JSON que será repassado da SigFox Cloud para a Tago.IO, contendo três nós: device (com o valor do SigFox ID e timestamp), data (com os 12 bytes enviados do dispositivo e timestamp) e seqNumber (com o número sequencial de pacotes enviados do dispositivo para a SigFox Cloud e timestamp).

[{
“variable”: “device”,
“value”: “{device}”,
“serie”: “{time}”
},{
“variable”: “data”,
“value”: “{data}”,
“serie”: “{time}”
},{
“variable”: “seqNumber”,
“value”: “{seqNumber}”,
“serie”: “{time}”
}]

  1. Clique em Ok para salvar seu callback de uplink. A partir deste momento, a integração entre SigFox Cloud e Tago.IO está completa.

Criação do parser na plataforma Tago.IO

Antes de utilizar os dados enviados na plataforma IoT Tago.IO, é preciso fazer o parser das informações recebidas. O parser é executado sempre que o dispositivo SigFox enviar dados e tem como finalidade “quebrar” os bytes recebidos em variáveis correspondentes, tornando possível trabalhar com cada dado individualmente na plataforma. O parser na plataforma Tago.IO utiliza a linguagem Node.JS, o que torna bem versátil o processo de sua programação.

Para criar e editar o parser, siga o procedimento abaixo:

  1. Uma vez logado na plataforma Tago.IO, clique em Devices (botçao do lado esquerdo da tela).
  2. Clique sobre o dispositivo SigFox.
  3. Na tela de gerenciamento do dispositivo SigFox, clique na aba Payload Parser.
  4. Clique sobre Run your own parser.
  5. Agora deve-se selecionar um modelo já pré-definido de parser, o que poupa tempo e facilita muito o trabalho neste projeto. No combo box Snippets selecione a opção Parse Example.
  6. Neste modelo pré-definido de parser, será preciso fazer apenas duas modificações: levar em consideração somente o payload “bruto” (12 bytes) SigFox e definir quais bytes serão atribuídos a quais variáveis.
    Para fazer com que somente o payload de 12 bytes seja considerado no parser, modifique a declaração de ignore_vars (linha 14) conforme abaixo:

    Dessa forma, do JSON encaminhado da SigFox Cloud para a Tago.IO, somente o nó JSON chamado data (que contém os 12 bytes enviados pelo dispositivo via SigFox) será considerado.

  7. Na função parsePayload() do parser, modifique o conteúdo da variável data (linha 31) para o mostrado abaixo:
  8. Clique em Save. A partir deste momento, o parser já está em ação ealimentará as variáveis temperatura_ambiente e sensor_gas com os valores vindos do dispositivo, enviados por SigFox.


Criação de um dashboard na plataforma Tago.IO para os dados do dispositivo SigFox

Uma vez que a integração entre SigFox Cloud e Tago.IO está completa e o parser construído, o próximo passo é criar um dashboard para visualizar os dados recebidos (já parseados) de forma amigável.

Para criar este dashboard, siga o procedimento abaixo:

  1. Uma vez logado na plataforma Tago.IO, clique sobre o botão + na seção Dashboard, no lado esquerdo da tela.
  2. Na tela de criação do Dashboard, preencha o campo Dashboard Name com “Detector de gases inflamáveis e fumaça”, selecione um ícone para seu dashboard no combo box Dashboard icon e clique em Save.
  3. Será mostrada a tela de edição de Dashboard. Nela, clique sobre Add widget.
    Um widget é, grosso modo, um tipo de visualização de um dado.
  4. Dentre os tipos de widgets, selecione o tipo Dial.
  5. Em Title, coloque o nome do widget (por exemplo, “Temperatura ambiente”), em Device selecione o nome do seu dispositivo SigFox e em Variable escreva temperatura_ambiente. Clique em Save.
    Desta forma, o dashboard já esta pronto para exibir a temperatura ambiente medida pelo dispositivo SigFox.
  6. De volta a tela do Dashboard, clique sobre o ícone na forma de um sínbolo de adição (+), na região superior direita da tela.
  7. Dentre os tipos de widgets, selecione o tipo Display.
  8. Em Title coloque o nome do widget (por exemplo, “Sensor de gás”), em Device selecione o nome do seu dispositivo SigFox e em Variable escreva sensor_gas. Clique em Save.
    Desta forma, o dashboard já esta pronto para exibir se há ou não gases inflamáveis e/ou fumaça detectados.
  9. Finalmente, é hora de habilitar o Dashboard para a visualização dos dados. Para isso, clique sobre o ícone na forma de um olho, localizado na região superior direita da tela.

Se ainda não foi enviado nenhum dado algum após a integração do SigFox Cloud com a plataforma Tago.IO, não haverão dados disponíveis para mostrar. Dessa  forma, seu dashboard ficará como mostrado na figura 3.

SigFox

Figura 3 – dashboard pronto e ainda não populado

Já se foram enviados dados após a integração do SigFox Cloud com a plataforma Tago.IO, estes serão mostrados no Dashboard. Dessa forma, seu dashboard ficará como mostrado na figura 4.

SigFox

Figura 4- dashboard populado com informações do dispositivo (enviadas via SigFox)

 

Dashboad no smartphone

Ainda, é possível visualizar e compartilhar seus dashboards com outras pessoas utilizando o aplicativo da TagoIO. Dessa forma, você pode visualizar seus dashboards a partir do seu smartphone, o que pode ser muito vantajoso para uma rápida conferência / visualização de como andam suas variáveis monitoradas.

A figura 5 mostra o dashboard do projeto visível a partir de um smartphone.

SigFox

Figura 5 – dashboard visto no smartphone

Teste do Dashboard

Agora você pode testar o dashboard, ligando seu dispositivo e aguardando a cada 15 minutos a temperatura ambiente e status do sensor de gás serem enviados. A partir deste ponto, o projeto de detector de gases inflamáveis e fumaça com SigFox e Tago.IO está operacional.

Próximos passos

No próximo e último artigo desta série, será mostrado como criar alertas e ações para quando for recebido um dado indicando gás inflamável e/ou fumaça detectados. Nesta última parte, se fará uso pleno da plataforma IoT Tago.IO e do dispositivo SigFox, tornando este projeto adequado para o contexto de Internet das Coisas.

Referências

Cadastre-se em nossa newsletter