Escrito por: Pedro Bertoleti

A necessidade de utilizarmos fontes alternativas e renováveis de energia elétrica é cada vez maior, seja para gerar energia elétrica de forma mais sustentável ou para complementar a malha energética atual. Dentre as opções de fontes renováveis de energia, a energia solar é uma das mais relevantes pois, fraco ou forte, praticamente todos os dias há luz solar aproveitável.

 

Sendo assim, aproveitar essa enorme (e grátis) oferta de energia limpa pode ser fundamental para alimentar e recarregar as baterias de alguns projetos situados em locais remotos e sem acesso à rede elétrica, por exemplo. Porém, como saber, na prática, exatamente o quanto se pode gerar de energia elétrica limpa a partir da luz solar? É justamente isso que o projeto deste artigo irá mostrar: como monitorar a energia elétrica limpa possível de se gerar em um determinado local utilizando como conectividade o SigFox e como carga uma bateria do tipo Li-Ion (1 célula).

Este artigo trata-se de uma continuação do artigo Monitoramento de energia solar com SigFox - Parte 1. Portanto, é de suma importância que você tenha lido o artigo anterior e feito todo o procedimento informado.

 

Kit RedFox

Este projeto faz uso do kit de desenvolvimento RedFox, de autoria de Luiz Henrique Corrêa Bernardes. O kit de desenvolvimento, vendido junto com o livro IoT SigFox com Edukit Redfox (escrito pelo mesmo autor do kit), permite o uso da rede IoT SigFox a partir de um Arduino Nano para programação e como “modem” SigFox um microcontrolador HT32SX, do fabricante nacional HT Micron. Dessa forma, este é um dos poucos kits de desenvolvimento de excelência feitos em grande parte com material nacional. Ainda, o kit conta com 1 ano de conectividade SigFox de forma gratuita, permitindo que você avalie o uso de SigFox.

 

 

Kit de desenvolvimento RedFox (fonte da figura: https://www.curtocircuito.com.br/kit-iot-sigfox-com-edukit-redfox.html)
Kit de desenvolvimento RedFox (fonte da figura: https://www.curtocircuito.com.br/kit-iot-sigfox-com-edukit-redfox.html )

 

 

O kit exige o uso de um Arduino Nano para que o usuário faça a programação do projeto / solução. Isso torna o uso do kit muito simples, pois é possível programá-lo de forma idêntica a um Arduino comum.

O kit e o livro podem ser adquiridos na loja virtual Curto-Circuito, no seguinte endereço: https://www.curtocircuito.com.br/kit-iot-sigfox-com-edukit-redfox.html

 

Visão geral

Este artigo trata-se de uma continuação do artigo Monitoramento de energia solar com SigFox - Parte 1. Logo, os componentes eletrônicos, circuito esquemático e software embarcado utilizados permanecem os mesmos dos feitos no artigo anterior.

Neste artigo, você irá aprender a como fazer uma conta na plataforma TagoIO e também a como fazer os dados enviados do dispositivo SigFox serem automaticamente redirecionados a plataforma IoT TagoIO, de forma que você consiga, na p?opria plataforma IoT, exibir os dados em dashboards e processá-los conforme desejar.

 

Criação de conta na TagoIO

Para criar sua conta grátis na plataforma IoT TagoIO ( https://tago.io/ ), siga o procedimento abaixo:

 

1. Faça o registro de sua conta preenchendo os dados requeridos na página de cadastro: https://admin.tago.io/signup  . É de extrema importância você informar um e-mail funcional e verdadeiro (que você possua pleno acesso). Uma vez preenchidos os dados, clique em Registre-se.

2. Você será redirecionado a uma tela perguntando se você é um usuário novo ou se já conhece a TagoIO. Como o passo-a-passo do uso da plataforma IoT será informado neste artigo, você pode clicar na opção em que você informa já conhecer a TagoIO (opção I already know TagoIO, conforme destaca a figura 1). Porém, se deseja fazer o tour inicial pela plataforma IoT e conhecê-la um pouco mais, sinta-se à vontade de clicar na opção I’m new at TagoIO, conforme mostrada na figura 1.

 

 

Figura 1 - opções de nível de usuário na TagoIO (fonte: livro IoT SigFox Com Edukit RedFox)
Figura 1 - opções de nível de usuário na TagoIO (fonte: livro IoT SigFox Com Edukit RedFox)

 

 

3. Você receberá um e-mail da TagoIO, solicitando sua confirmação de criação da conta. Confirme a conta conforme as instruções do e-mail e faça novamente o login em sua conta TagoIO (com e-mail e senha cadastrados) em https://tago.io/ .

4. A partir desse ponto, sua conta TagoIO está criada e pronta para uso.

 

 

Integração do backend SigFox com a TagoIO

 

Para fazer a integração do backend SigFox, siga todo o procedimento indicado no site https://docs.tago.io/en/articles/172-sigfox-downlink   .

Este procedimento fará com que todos dados brutos recebidos via SigFox de seu dispositivo sejam automaticamente encaminhados à plataforma IoT TagoIO de forma segura. Sendo assim, tais dados poderão ser futuramente exibidos em dashboards e trabalhados / processados, conforme você desejar.

 

Criação do parser na plataforma TagoIO

Uma vez que a integração entre backend SigFox e TagoIO estão feitas, é preciso programar na plataforma uma rotina para separar os dados brutos recebidos em variáveis, ou seja, informar a plataforma TagoIO como separar os dados úteis para posterior exibição e processamento. Esta rotina de separação de dados brutos recebidos em variáveis é chamada de parser .

Para criar o parser deste projeto, siga o procedimento abaixo:

 

1. Na plataforma TagoIO, clique em Devices, conforme destaca a figura 2.

 

Figura 2 - opção “Devices” da plataforma TagoIO
Figura 2 - opção “Devices” da plataforma TagoIO

 

 

2. Uma vez na tela de gerenciamento de devices, clique sobre o nome do seu dispositivo SigFox.

3. Na tela de informações do seu dispositivo SigFox, clique na aba Payload Parser.

4. Habilite a opção Run your own parser, como mostra a figura 3.

 

 

Figura 3 - opção “Run my own parser”, da plataforma TagoIO
Figura 3 - opção “Run my own parser”, da plataforma TagoIO

 

 

5. Haverá um campo de texto grande para a inserção de seu próprio código para o parser. Neste espaço, insira o código abaixo e depois clique em Save .

 

 

const payload_raw = payload.find(x => x.variable === 'data');

/* Verifica se o payload existe / eh valido */
if (payload_raw) {
 try {
   const buffer = Buffer.from(payload_raw.value, 'hex');

   /* Extrai variaveis do payload recebido por SigFox */
   const energia_gerada_acumulada = buffer.readFloatBE(0);
   const tensao_gerada = buffer.readUInt8(4)/10.0;
   const corrente_gerada = buffer.readInt16BE(5)/10.0;

   const data = [
     { variable: 'energia_gerada_acumulada', value: energia_gerada_acumulada, unit: 'kWh' },
     { variable: 'tensao_gerada',  value: tensao_gerada, unit: 'V' },
     { variable: 'corrente_gerada',  value: corrente_gerada, unit: 'mA' }
   ];

   payload = payload.concat(data.map(x => ({ ...x, serie: payload_raw.serie, time: payload_raw.time })));
 } catch (e) {
   console.error(e);
   payload = [{ variable: 'parse_error', value: e.message }];
 }
}

 

6. Pronto! Agora todos os dados brutos recebidos via SigFox e automaticamente encaminhados à plataforma TagoIO serão também automaticamente separados em variáveis pelo parser.

 

Criação de um dashboard

A partir deste ponto, todos os dados recebidos do seu dispositivo SigFox já estão acessíveis na forma de variáveis, sendo estas referente a: energia elétrica total gerada, tensão instantânea gerada e corrente elétrica instantânea gerada.

Agora, iremos exibir tais dados em um dashboard, permitindo que seja feito o acompanhamento visual dos dados recebidos de forma esteticamente agradável.

Para isso, siga o procedimento abaixo:

 

1. Para iniciar a criação de um novo dashboard (painel), clique sobre a opção + na sessão PAINÉIS, conforme destaca a figura 4.

 

 

Figura 4 - opção para criar um novo dashboard (painel)
Figura 4 - opção para criar um novo dashboard (painel)

 

 

2. Será solicitado o nome do dashboard a ser criado. Informe Energia solar como nome no campo Name e clique em Create my Dashboard, conforme mostra a figura 5.

 

 

Figura 5 - criação de um novo dashboard na plataforma TagoIO
Figura 5 - criação de um novo dashboard na plataforma TagoIO

 

 

3. Seu dashboard (ainda vazio) está criado. Agora é o momento de adicionar itens a este dashboard, de forma que cada item exiba uma variável específica. Este item é chamado de widget.

Para criar um widget, clique sobre o botão “Add widget” (ou no botão +, no canto superior direito do dashboard), conforme ilustra a figura 6.

 

 

Figura 6 - dashboard criado (e ainda vazio)
Figura 6 - dashboard criado (e ainda vazio)

 

 

4. Selecione o widget do tipo Display, conforme destaca a figura 7.

 

 

Figura 7 - widget do tipo Display
Figura 7 - widget do tipo Display | Clique na imagem para ampliar |

 

 

5. Na tela de configuração do widget Display, preencha conforme mostra a figura 8, substituindo o nome do device pelo nome do seu device (nome que você colocou em sua criação).

Após preencher os dados, clique em Save.

 

 

Figura 8 - configuração do widget Display
Figura 8 - configuração do widget Display | Clique na imagem para ampliar |

 

 

6. Neste ponto, o primeiro widget de seu dashboard (que mostrará a tensão instantânea gerada, em V) foi criado, conforme mostra a figura 9.

Note que é exibido o aviso de que nenhum dado está disponível. Isso aconteceu pois ainda não tem-se dados do dispositivo na plataforma TagoIO. Assim que forem recebidos dados, estes automaticamente popularão este e os demais widgets do dashboard.

 

 

Figura 9 - dashboard com primeiro widget criado
Figura 9 - dashboard com primeiro widget criado

 

 

7. Repita o procedimento dos passos 3, 4, 5 e 6, substituindo o nome de variável para corrente_gerada e substituindo o título do widget para Corrente instantânea gerada .

Este é o widget que irá mostrar a corrente instantânea gerada (em mA).

8. Repita o procedimento dos passos 3, 4, 5 e 6, substituindo o nome de variável para energia_gerada_acumulada e substituindo o título do widget para Energia elétrica gerada .

Este é o widget que irá mostrar a energia elétrica total gerada (em kWh).

9. Ao fim do procedimento, o seu dashboard estará conforme mostra a figura 10.

 

 

Figura 10 - dashboard completo
Figura 10 - dashboard completo

 

 

10. Clique no botão na forma de um olho, no canto superior direito do seu dashboard. Seu dashboard será colocado no modo de exibição.

11. A partir de agora, a cada transmissão de dados de seu dispositivo SigFox, os dados serão exibidos no dashboard.

 

 

Exibição dos dados recebidos do dispositivo SigFox

Uma vez com o dashboard feito, todos os dados recebidos do dispositivo SigFox que passarem pelo parser (ou seja, separados em variáveis) serão exibidos de forma esteticamente agradável no dashboard. Conforme ilustra a figura 11.

 

 

Figura 11 - dashboard preenchido com dados recebidos, já separados em variáveis pelo parser
Figura 11 - dashboard preenchido com dados recebidos, já separados em variáveis pelo parser

 

 

Como o projeto do software embarcado utiliza um período de 30 minutos entre dois envios de dados, o dashboard será atualizado de 30 em 30 minutos.

 

 

Próximos passos

A plataforma TagoIO é muito completa, permitindo que você vá muito além do apresentado aqui e aprimore cada vez mais seu projeto do ponto de vista da nuvem. Abaixo, seguem algumas sugestões do que explorar na plataforma:

 

Explore novos tipos de widgets para seu dashboard, como por exemplo: VU Meter, Angular, Line e Solid.

Na TagoIO, o processamento dos dados recebidos (na forma de variáveis, após passar pelo parser) é feito em um script de Analysis . Dessa forma, você pode fazer operações com as variáveis para calcular alguma outra variável secundária (média de valores, por exemplo), varrer todas as variáveis recebidas para buscar por um determinado valor, prever alguma condição com base nas variáveis recebidas, etc. Leia mais sobre como criar um script de Analysis no link https://docs.tago.io/en/articles/29-analysis-overview .

Ainda, na TagoIO é possível fazer ações pré-determinadas (enviar um e-mail ou SMS, por exemplo) de acordo com os valores de variáveis recebidas. Isso se chama Action . Leia mais sobre como criar Actions no link https://docs.tago.io/en/articles/30-actions

 

Conclusão

Neste artigo, você aprendeu a como utilizar a plataforma IoT TagoIO de forma integrada com o backend SigFox, permitindo que os dados recebidos sejam automaticamente encaminhados a TagoIO para posterior processamento e exibição. Ainda, aprendeu a como tratar os dados recebidos (parser) e exibir os dados tratados (variáveis) em um dashboard.

A partir daqui você pode aprender mais sobre a TagoIO e tornar seus projetos IoT com SigFox muito mais profissionais e robustos. Dessa forma, você aprendeu, juntamente com o artigo anterior (Monitoramento de energia solar com SigFox - Parte 1) a fazer uma solução IoT com SigFox de ponta a ponta: do dispositivo embarcado até a nuvem.