Explorando o NodeMcu – Envio de dados para Google Sheets

Fala galera, beleza? Estamos voltando às aulas e, com isso, o fim das férias… Rs. Para nós do EC, isso não existe rs. Brincadeiras a parte, no post de hoje, vamos explorar um pouco mais o Nodemcu e trabalhar com o envio de dados para o Google Sheets. Então, role a tela pra baixo e me acompanhe neste artigo.

Afinal, por que enviar dados para o Google Sheets?

Para quem não sabe, o Google Spreadsheets é um programa para elaboração de planilhas, assim como o Excel, Open Calc entre outros. A sua maior vantagem é o fato de estar na nuvem e ser 100% GRATUITO, com recursos interessantes e possibilidade de rodar scripts, tornando suas planilhas mais interessantes.

Para nosso projeto de hoje, vamos utilizar o Google Sheets como um banco de dados, onde armazenaremos os valores: DATA/HORA, TEMPERATURA e UMIDADE.

E, por que utilizar esta ferramenta? Simples, para nosso projeto, queremos optar por algo simples, gratuito e que podemos futuramente fazer análises, através de gráficos, entre outros recursos da ferramenta. Com isso, esta opção se torna extremamente viável, para projetos que estão em sua fase inicial.

O que precisamos fazer?

Antes de “meter a mão na massa” e programar seu Nodemcu, precisamos fazer alguns ajustes, para que essa comunicação seja possível.  Para isso, primeiramente, vamos criar uma planilha no Google Sheets. Acesse o Google Drive com sua conta preferida e dentro de uma pasta que desejar, crie uma nova planilha e nomeie conforme sua preferência:

Feito isso, nomeie as colunas, no meu caso fiz da seguinte forma:

  • Coluna A: DATA
  • Coluna B: TEMPERATURA
  • Coluna C: UMIDADE

Essa fase é muito importante, caso utilize letra minúscula, lembre-se disso! Utilizaremos “essa informação” em nosso script, para permitir tal comunicação.

Ao criar a planilha, vá até o menu Ferramentas > Editor de Scripts. Abrirá uma aba, onde escreveremos o script.js de nosso projeto. Nomeie como desejar.

Digite ou copie e cole o código a seguir:

Dentro do script, o que precisa ser alterado/inserido é apenas o ID da sua planilha. Essa informação é selecionada da seguinte maneira:

Perceba  na imagem a área selecionada. Faça isso, na linha:

Insira o valor copiado entre as aspas simples. Após isso, vamos salvar o projeto.

Salvando o script e permitindo acesso

Para salvar o script, acesse o menu Publish > Deploy as web app, e aparecerá uma janela para confirmação. No ultimo item, altere para  Anyone, even anonymus e clique no botão Deploy.

Aparecerá a seguinte mensagem para você:

Fique tranquilo… Como acessaremos a planilha e inseriremos dados de um serviço externo, o Google nos alerta. Clique na opção Avançado e permita tal acesso. Confirmando isso, será gerado um link (copie e cole de preferência em um editor de texto). Ele será usado no Sketch do Arduino. Feito isso, já estamos com o script/planilha criados e prontos, para receber dados externos. Antes de tudo, vamos fazer um pequeno teste beleza?

Com seu link copiado, vamos inserir os parâmetros de temperatura, umidade e verificar se os mesmos serão inseridos na planilha. No meu caso, ficou desta maneira:

htps://script.google.com/macros/s/AKfycbygyYXCIA4CyTiUTYQleiaRHUfLzbt5sW5SHHitdTFJaMxTqfY/exec?TEMPERATURA=20&UMIDADE=60

Copie e cole no navegador. E, após isso, você deverá conferir que os dados serão inseridos. A resposta no seu navegador será assim:

Você verá os dados inseridos na planilha! Bom, então o Google Sheets já está recebendo dados externos. Agora, vamos ao hardware necessário e o sketch, para transmissão de dados do NodeMcu para a planilha.

O que vamos precisar?

Bom, para este projeto, realizaremos a leitura de temperatura e umidade de um DHT11. Para montagem do hardware necessário, você precisará de:

1 – Protoboard;

1 – Sensor  de temperatura de umidade DHT11;

Fios jumpers;

Além da placa NodeMcu, é claro. A ligação do circuito é realizada, conforme imagem abaixo:

O esquemático para este projeto é relativamente simples. Agora, vamos ao código fonte.

  • Observação: É necessária instalação de biblioteca auxiliar do DHT11.

O Sketch

O sketch está devidamente comentado. Você fornece os dados para conexão à rede e a planilha. Vale ressaltar que, você pega parte do link gerado ao criar o script e colocar variável googleSheetsID, conforme a seguir:

https://script.google.com/macros/s/AKfycbygyYXCIA4CyTiUTYQleiaRHUfLzbt5sW5SHHitdTFJaMxTqfY/exec

Como podemos observar, trata-se do trecho após /s/ e antes de /exec. Aqui está o exemplo da planilha que criei, o seu ID com certeza será diferente.  No meu caso, a variável ficará desta maneira:

Após digitar e ou copiar o código, clique em Verificar, para checar se há algum erro. Depois dessa verificação, clique em Carregar, para passar o código fonte para a placa. Ao carregar o código para a placa, abra o Monitor Serial e deixe a velocidade de baud-rate em 115200.

Resultados obtidos

Com isso, você deverá observar que, a cada 30s, os dados serão plotados em sua planilha. Caso isso não ocorra, verifique o ID da planilha, se está devidamente correto e suas credenciais. E, por fim, se o hardware está ligado corretamente. Você deverá ver os dados assim:

Vamos deixar isso um pouco mais elegante não é?! Ver uma tabela, com um monte de dado preenchido, não é muito legal… Recomendo a você, inserir um gráfico para temperatura e outro para umidade, no meu caso ficou assim:

Deixe ligado por um tempo e verá os dados plotados. Altere o tempo para transmissão, se necessário e pronto! Você já tem um banco de dados simples de implementar e perfeito para realizar testes que pode ser, facilmente, adaptado e incluídas mais variáveis a serem lidas.

Para finalizar…

Bom galera, espero que tenham gostado! O objetivo deste artigo foi mostrar uma opção viável e que poderá lhe auxiliar no início de projetos. Caso você precise gerar um gráfico, colher dados de uma forma rápida, creio que o Google Sheets seja bastante útil e funciona muito bem! Fiz um teste, deixando o mesmo ligado por alguns dias e os dados foram transmitidos, tranquilamente.

Espero que tenham gostado. E, caso tenha qualquer dúvida, deixe seu comentário aqui embaixo. Como sempre, os materiais estão disponíveis para download, gratuitamente. E, você pode adaptar, conforme sua necessidade.

Gostou? Compartilhe e de seu feedback! Isso é fundamental para melhorarmos nosso conteúdo e produzir, ainda mais, artigos para ajudar mais e mais pessoas.

Muito obrigado e até a próxima!

Yhan Christian

0 Comentários

Deixe seu comentário.

SiteLock