Logger de Sensores Python/MicroPython: Almacena Datos de Sensores en Google Sheets Fácilmente
Un sistema robusto para registrar valores de sensores directamente en una Hoja de Google. Usa peticiones HTTP simples para conectar tu microcontrolador con un servidor ligero, y la librería gspread para escribir los datos.
Antes de empezar, sigue las instrucciones de configuración OAuth2 en la documentación de gspread para conceder a tu script acceso a la hoja de cálculo objetivo.
Conexiones de Hardware
- D0 a RST: Requerido para despertar la placa de deep-sleep.
- + a 3.3 V en el Wemos.
- – a GND en el Wemos.
- Señal a A0 en el Wemos.
Si tienes problemas, deja un comentario y te ayudaré a solucionarlos.
Esquemáticos
Código
import machine
import urequests
import time
# RTC maneja wake-ups de deep-sleep
rtc = machine.RTC()
rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP)
# Pin ADC para voltaje del sensor
adc = machine.ADC(0)
######################
# Calibración del sensor
######################
# Valores de referencia (inverso ×1000)
# Aire seco = 759 (0 %) → 1.31752305665349143610013175231
# Agua = 382 (100 %) → 2.61780104712041884816753926702
# Diferencia = 1.30027799046692741206740751471
# 1 % humedad 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}"
# Convertir lectura ADC a humedad relativa (%)
variable = (((1 / adc.read()) * 1000) / 0.0130027799046692741206740751471) - 101
variable = max(0, min(100, variable))
# Enviar datos a 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())
# Programar siguiente lectura tras 25 s y entrar en deep-sleep
rtc.alarm(rtc.ALARM0, 25000)
machine.deepsleep()
Fuente: Python/MicroPython Sensor Logger para Google Sheets
Proceso de manufactura
- Construya un registrador de temperatura con Raspberry Pi y sensor I2C de 5 $
- Construya un sensor de temperatura remoto con Raspberry Pi y Python – Guía paso a paso
- Sensor de seguimiento de línea con Raspberry Pi – Detector simple KY‑033 para puerta/línea
- Construya una API robusta de temperatura y sensores en Raspberry Pi usando el módulo GY‑91
- Construya un Monitor de Temperatura ThingSpeak con Raspberry Pi y BrickPi
- Construye un sistema aeropónico automatizado con Raspberry Pi y sensor de humedad
- Logger de Sensores Python/MicroPython: Almacena Datos de Sensores en Google Sheets Fácilmente
- Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
- Función round() en Python explicada con ejemplos prácticos
- Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas
- Programación de Extensiones en Python con C: Crea Módulos Nativos Rápidos