Índice:

CloudyData - ESP8266 para Planilhas Google Simplificadas: 10 etapas (com imagens)
CloudyData - ESP8266 para Planilhas Google Simplificadas: 10 etapas (com imagens)

Vídeo: CloudyData - ESP8266 para Planilhas Google Simplificadas: 10 etapas (com imagens)

Vídeo: CloudyData - ESP8266 para Planilhas Google Simplificadas: 10 etapas (com imagens)
Vídeo: IoT based RFID Attendance system using ESP8266 and Google sheet / PN532 RFID 2024, Novembro
Anonim
CloudyData - ESP8266 para Google Sheets Made Simple
CloudyData - ESP8266 para Google Sheets Made Simple

Há muito tempo procuro armazenamento de dados em nuvem nos últimos anos: é interessante monitorar dados de qualquer tipo de sensor, mas é mais interessante se esses dados estiverem disponíveis em todos os lugares sem nenhuma dificuldade de armazenamento, como usando cartões SD ou semelhante, no armazenamento local. Eu costumava armazenar dados de velocidade do vento em cartões SD anos atrás, antes de IoT e serviços em nuvem começarem a ser simples de usar: agora, um passo além é possível com dificuldades particulares, mesmo se você não for um especialista em IoT ou um desenvolvedor.

Neste instrutível, descreverei como estou monitorando minha qualidade do ar dentro de casa, especialmente me referindo à concentração de poeira e partículas perto da minha impressora 3D, tentando entender se o processo de impressão 3D é perigoso em termos de PM2.5, e como estou usando o Planilhas Google para armazenar dados, sem a necessidade de qualquer serviço de terceiros.

Etapa 1: objetivo geral

Objetivo Geral
Objetivo Geral

Quero saber se viver na presença de uma impressora 3D pode ser perigoso.

Para fazer isso, preciso de dados e os dados devem ser armazenados na nuvem.

Quero usar o Planilhas Google porque é simples e eficaz.

Eu também quero privacidade: compartilhar dados com o Google não é minha primeira escolha, mas é melhor do que usar serviços de terceiros, como muitos blogueiros costumam fazer.

Usar o Planilhas Google é uma etapa para fazer o upload de dados para um armazenamento local pessoal, como Nextcloud em um NAS simples: isso será descrito em um futuro instrutível.

Etapa 2: Primeira Etapa: Sensores

Primeira Etapa: Sensores
Primeira Etapa: Sensores
Primeira Etapa: Sensores
Primeira Etapa: Sensores

Eu uso 2 sensores para monitorar a qualidade do ar da minha casa:

  • um Sensor Nova PM SDS011 Módulo Sensor de Detecção de Qualidade do Ar, uma ótima peça de hardware, relativamente simples de usar com Arduino e placas semelhantes. Você pode usá-lo com seu próprio software (somente Windows!:-() e adaptador USB, ou conectando-se a Arduino com bibliotecas. Muitas informações podem ser encontradas aqui:

    • inovafitness.com/en/a/chanpinzhongxin/95.ht…
    • www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
    • aqicn.org/sensor/sds011/
  • um escudo SHT30 de Wemos, para Wemos D1 mini: eu usei uma versão v1.0.0, a versão atual é v2.1.0, mas eles têm o mesmo tamanho, mesmas funcionalidades

    wiki.wemos.cc/products:d1_mini_shields:sht…

Etapa 3: Segunda etapa: Conectando ao microcontrolador

Segunda etapa: Conectando ao microcontrolador
Segunda etapa: Conectando ao microcontrolador

Wemos D1 mini é provavelmente a melhor forma de prototipar em torno do ESP8266: conector microUSB, led integrado, bons escudos prontos para usar disponíveis.

Liguei a blindagem SHT30 no Wemos D1 mini diretamente (cuidado com a orientação!), Depois conectei o Nova Air Sensor ao Wemos D1 mini da seguinte forma:

Wemos GND pin Nova Air sensor GND

Wemos 5V pino Nova Air sensor 5V

Pino Wemos D5 (pino RX) Sensor Nova Air TX

Pino Wemos D6 (pino TX) Sensor Nova Air RX

Você pode dar uma olhada aqui para mais informações:

www.hackair.eu/docs/sds011/

www.zerozone.it/tecnologia-e-sicurezza/nov…

www.instructables.com/id/Make-one-PM25-mon…

Etapa 4: Terceira etapa: Construindo um esboço

Agora você precisa construir um esboço: temos sorte, alguns caras desenvolveram bibliotecas específicas para o Nova Air Sensor para que você possa escrever facilmente o seu software.

O meu também usa a biblioteca SHT30 para medir e fazer upload de dados de temperatura e umidade.

Remixei um esboço que encontrei online, principalmente o de nishant_sahay7, cujo tutorial está completo e cheio de informações. Você pode encontrá-lo aqui.

Usei esta biblioteca:

Vou comentar apenas algumas linhas no esboço que gerei:

linha 76-77: acordar um pouco o sensor de poeira, depois ele irá dormir novamente, pois as planilhas informam que deve funcionar por cerca de 8.000 horas, o que é mais do que suficiente, mas não infinito

sds.wakeup (); atraso (30000); // trabalhando 30 segundos

linha 121: os dados enviados são temperatura, umidade, PM2,5 e PM10

sendData (t, h, pm2_5, pm10);

linha 122-123: Não uso ESP.deepSleep, vou tentar no futuro; agora um simples atraso (90000) será suficiente para ter o envio de dados a cada 30s + 90s = 2 minutos, mais ou menos

//ESP.deepSleep(dataPostDelay);

atraso (90000);

linha 143:

esta é a linha mais importante, a ordem em que você cria String_url para fazer upload de dados deve ser a mesma que você usará no Google Script (consulte as próximas etapas)

String url = "/ macros / s /" + GAS_ID + "/ exec? Temperatura =" + string_x + "& umidade =" + string_y + "& PM2.5 =" + string_z + "& PM10 =" + string_k;

Etapa 5: Quarta etapa: Preparação da Planilha Google e seu script

Quarta etapa: Preparação da Planilha Google e seu script
Quarta etapa: Preparação da Planilha Google e seu script
Quarta etapa: Preparando a planilha do Google e seu script
Quarta etapa: Preparando a planilha do Google e seu script
Quarta etapa: Preparação da Planilha Google e seu script
Quarta etapa: Preparação da Planilha Google e seu script

Os créditos vão para nishant_sahay7, como eu disse.

Eu simplesmente republico aqui seu trabalho, adicionando algumas dicas para melhorias e modificações futuras:

  1. Configurando o Planilhas Google

    1. Abra o Google Drive e crie uma nova planilha e nomeie-a, depois dê os campos com os parâmetros que deseja definir.
    2. O ID da folha é mostrado na figura 2
    3. Vá para Tools-Script Editor (figura 3)
    4. Dê o mesmo nome da planilha (figura 4)
    5. Escolha o código aqui e cole na janela do Editor de scripts (figura 5)

      Substitua o var sheet_id pelo ID da planilha da etapa 2

    6. Vá para Publish - Deploy as Web App (figura 6)
    7. Altere o tipo de acesso para qualquer pessoa, mesmo anônimo, e implante (figura 7)
    8. Vá para as permissões de revisão (figura 8)
    9. Escolha Avançado (figura 9)
    10. Escolha Ir para (nome do arquivo) e, em seguida, permita (figura 10)
    11. Copie o URL do aplicativo da web atual e clique em OK (figura 11)
  2. Obtendo o ID do Google Script

    • O URL copiado será algo como: https://script.google.com/macros/s/AKfycbxZGcTwqe … o link acima está na forma de: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Portanto, aqui o ID do Google Script é: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Ele será usado para enviar os dados para o Planilhas Google: Exemplo:

      script.google.com/macros/s/AKfycbxZGcTwqeD…

      Colar o link acima para uma nova janela e pressionar Enter enviará os dados para o Planilhas Google e uma mensagem de confirmação aparecerá na janela. Os dados enviados serão

      • temperatura = 1
      • umidade = 2
      • PM2.5 = 3
      • PM10 = 33,10
  3. Mudança nas suas necessidades

    você tem que alterar o Google Script E o esboço do Arduino de acordo, a fim de adicionar ou remover valores e colunas: compare a figura 5 e a figura 5b

Etapa 6: Quinto Passo: Conectando Todos Juntos

Quinto Passo: Conectando Todos Juntos
Quinto Passo: Conectando Todos Juntos

Agora você tem um aparelho que envia dados para o Planilhas Google, um Google Script capaz de receber e alocar dados, basta um navegador para visualizar os dados, no computador ou smartphone ou o que você quiser.

O melhor seria gerenciar um pouco esses dados, para mostrar apenas alguns necessários.

Etapa 7: Sexta Etapa: Representando Gráficos de Dados

Sexta etapa: gráficos de dados
Sexta etapa: gráficos de dados
Sexta etapa: gráficos de dados
Sexta etapa: gráficos de dados

Para ter um painel simples, mas interessante e útil, organizei meus dados da seguinte maneira:

  1. a folha do google original, a principal, usada para coletar seu ID para entrar no Google Script, DEVE estar intacta e manter sua ordem
  2. Gerei duas outras planilhas, seguindo a principal

    1. um para extrair apenas alguns dados de todo o material, nas últimas 24 horas, por exemplo. Para extrair os dados, usei as funções SORT e QUERY, inserindo na primeira célula os dados extraídos

      = SORT (QUERY (Foglio1! A2: Z, "ordenar por A desc limit 694"), 1, 1)

    2. o outro para criar gráficos para mostrar valores, tornando um painel simples

Etapa 8: Sétima Etapa: Analisando Dados

Sétima Etapa: Analisando Dados
Sétima Etapa: Analisando Dados

Fiz algumas análises e posso dizer, por enquanto, não deve haver nenhum perigo usando impressora 3D (material: PLA) em termos de PM2.5 e PM10. Toda vez que eu inicio uma nova impressão os valores de partículas sobem para o telhado, só por um tempo: acho que isso se deve à poeira previamente depositada na mesa da impressora 3D, de forma que quando a ventoinha efetora atinge a placa ela começa a voar para todos os lados. Depois de alguns minutos, a poeira desaparece, pois os ventiladores continuam soprando e os valores de PM2.5 e PM10 caem para valores mais baixos.

De fato, são necessários mais dados e análises.

Recomendado: