Logger de Sensores Python/MicroPython: Armazene Dados de Sensores no Google Sheets Facilmente
Um sistema robusto para registrar valores de sensores diretamente em uma Planilha Google. Usa requisições HTTP simples para conectar seu microcontrolador a um servidor leve, e a biblioteca gspread para escrever os dados.
Antes de começar, siga as instruções de configuração OAuth2 na documentação do gspread para conceder acesso ao script à planilha alvo.
Conexões de Hardware
- D0 para RST: Necessário para acordar a placa do deep-sleep.
- + para 3,3 V no Wemos.
- – para GND no Wemos.
- Sinal para A0 no Wemos.
Se encontrar problemas, deixe um comentário e ajudarei a resolver.
Esquemáticos
Código
import machine
import urequests
import time
# RTC gerencia wake-ups do deep-sleep
rtc = machine.RTC()
rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP)
# Pino ADC para tensão do sensor
adc = machine.ADC(0)
######################
# Calibração do sensor
######################
# Valores de referência (inverso ×1000)
# Ar seco = 759 (0 %) → 1.31752305665349143610013175231
# Água = 382 (100 %) → 2.61780104712041884816753926702
# Diferença = 1.30027799046692741206740751471
# 1 % umidade relativa = 0.0130027799046692741206740751471
hours = str(time.localtime()[3])
mins = str(time.localtime()[4])
secs = str(time.localtime()[5])
if int(secs) < 10:
secs = '0' + secs
if int(mins) < 10:
mins = '0' + mins
timestr = f"{hours}:{mins}:{secs}"
# Converte leitura ADC para umidade relativa (%)
variable = (((1 / adc.read()) * 1000) / 0.0130027799046692741206740751471) - 101
variable = max(0, min(100, variable))
# Envia dados para endpoint local
url = 'https://192.168.1.2:8000/solomon'
headers = {'content-type': 'application/json'}
data = f'{{"Value":"{variable}","Time":"{timestr}"}}'
resp = urequests.post(url, data=data, headers=headers)
print(resp.json())
# Agenda próxima leitura após 25 s e entra em deep-sleep
rtc.alarm(rtc.ALARM0, 25000)
machine.deepsleep()
Fonte: Python/MicroPython Sensor Logger para Google Sheets
Processo de manufatura
- Construa um Registrador de Temperatura com Raspberry Pi e Sensor I2C de $5
- Construa um Sensor de Temperatura Remoto com Raspberry Pi e Python – Guia Passo a Passo
- Sensor de Rastreamento de Linha com Raspberry Pi – Detector KY‑033 Simples para Porta/Linha
- Construa API Robusta de Temperatura e Sensores no Raspberry Pi com Módulo GY‑91
- Construa um Monitor de Temperatura ThingSpeak com Raspberry Pi e BrickPi
- Construa um Sistema Aeropônico Automatizado com Raspberry Pi e Sensor de Umidade
- Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos
- Função round() em Python Explicada com Exemplos Práticos
- Dominando a Função map() do Python: Sintaxe, Exemplos e Boas Práticas
- Programação de Extensões Python com C: Criando Módulos Nativos Rápidos