Python/MicroPython Sensor Logger: Naadloos Sensordata Opslaan in Google Sheets
Een robuust systeem voor het vastleggen van sensorwaarden direct in een Google Sheet. Het gebruikt simpele HTTP-verzoeken om je microcontroller te bruggen met een lichtgewicht server, en de gspread bibliotheek om de data weg te schrijven.
Voordat je begint, volg de OAuth2-setup-instructies op de gspread-documentatie om je script toegang te verlenen doe het doel-spreadsheet.
Hardware-aansluitingen
- D0 naar RST: Vereist om het bord uit deepsleep te wekken.
- + naar 3,3 V op de Wemos.
- – naar GND op de Wemos.
- Signaal naar A0 op de Wemos.
Als je problemen ondervindt, laat een reactie achter en ik help je troubleshooten.
Schema's
Code
import machine
import urequests
import time
# RTC handelt deepsleep wake-ups af
rtc = machine.RTC()
rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP)
# ADC-pin voor sensor-spanning
adc = machine.ADC(0)
######################
# Sensor kalibratie
######################
# Referentiewaarden (inverse ×1000)
# Droge lucht = 759 (0 %) → 1.31752305665349143610013175231
# Water = 382 (100 %) → 2.61780104712041884816753926702
# Verschil = 1.30027799046692741206740751471
# 1 % relatieve vochtigheid = 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}"
# Converteer ADC-meting naar relatieve vochtigheid (%)
variable = (((1 / adc.read()) * 1000) / 0.0130027799046692741206740751471) - 101
variable = max(0, min(100, variable))
# Stuur data naar lokaal endpoint
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())
# Plan volgende meting na 25 s en ga in deepsleep
rtc.alarm(rtc.ALARM0, 25000)
machine.deepsleep()
Bron: Python/MicroPython Sensor Logger voor Google Sheets
Productieproces
- Bouw Een Raspberry Pi Temperatuur Logger Met Een $5 I2C Sensor
- Een externe temperatuursensor bouwen met Raspberry Pi en Python – Stap-voor-stap handleiding
- Lijnvolgsensor met Raspberry Pi – Simpele KY-033 deur/lijndetector
- Een robuuste temperatuur- en sensor-API bouwen op Raspberry Pi met de GY-91-module
- Een ThingSpeak Temperatuurmonitor Bouwen met Raspberry Pi & BrickPi
- Een geautomatiseerd aeroponisch systeem bouwen met Raspberry Pi en vochtigheidssensor
- Python/MicroPython Sensor Logger: Naadloos Sensordata Opslaan in Google Sheets
- Python's str.count() beheersen: Karakters & substrings tellen met voorbeelden
- Python round()-functie uitgelegd met praktische voorbeelden
- Python's map()-functie beheersen: syntaxis, voorbeelden en best practices
- Python Extensieprogrammering met C: Snelle, Native Modules Bouwen