ÍNDICE DE CONTEÚDO
- Sistema embarcado e backend SigFox
- Integração com plataforma IoT
- Automação de alertas com Actions
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.
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:
- Uma vez logado na sua conta na Tago.IO, do lado esquerdo clique sobre Devices.
- Na parte superior direita da tela de gerenciamento de dispositivos, clique sobre o botão Add Device.
- A tela de inserção de dispositivo irá surgir. Na lista de tipos de dispositivos à esquerda, selecione a opção SigFox.
- Escolha a opção Custom SigFox.
- 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. - 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:
- Na parte superior da página, clique em Device Type.
- Clique sobre o nome do dispositivo SigFox que deseja fazer esta callback.
- Clique sobre Callbacks, na parte esquerda da página.
- Na parte superior da página, clique sobre o botão New Callback.
- 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).
12345678910111213[{"variable": "device","value": "{device}","serie": "{time}"},{"variable": "data","value": "{data}","serie": "{time}"},{"variable": "seqNumber","value": "{seqNumber}","serie": "{time}"}] - 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:
- Uma vez logado na plataforma Tago.IO, clique em Devices (botçao do lado esquerdo da tela).
- Clique sobre o dispositivo SigFox.
- Na tela de gerenciamento do dispositivo SigFox, clique na aba Payload Parser.
- Clique sobre Run your own parser.
- 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.
- 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:
1const ignore_vars = ['seqNumber', 'device'];
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. - Na função parsePayload() do parser, modifique o conteúdo da variável data (linha 31) para o mostrado abaixo:
123456789101112131415var byte_sensor_gas = buffer.readInt8(1);var texto_sensor_gas = "";if (byte_sensor_gas == 0){texto_sensor_gas = "Gás e/ou fumaça não detectados";}else{texto_sensor_gas = "GÁS E/OU FUMAÇA DETECTADOS!";}const data = [ { variable: 'temperatura_ambiente', value: buffer.readInt8(0), unit: '°C' },{ variable: 'sensor_gas', value: texto_sensor_gas, unit: ' ' },]; - 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:
- Uma vez logado na plataforma Tago.IO, clique sobre o botão + na seção Dashboard, no lado esquerdo da tela.
- 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.
- 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. - Dentre os tipos de widgets, selecione o tipo Dial.
- 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. - 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.
- Dentre os tipos de widgets, selecione o tipo Display.
- 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. - 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.
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.
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.
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
Saiba mais
Conecte-se facilmente à nuvem Sigfox
Aplicações da Tecnologia Sigfox – Rastreamento e Localização
Conectando o que não foi Conectado! LPWAN e Sigfox, a tecnologia do IoT