Python/MicroPython Sensor Logger with Google Sheets

A system for recording sensor values to a Google Sheet. Making use of HTTP requests to communicate between the micro-controller and the server, and utilising gspread to write data to online spreadsheet.

You will need to follow the instructions on the following link to set up access to your spreadsheet.

http://gspread.readthedocs.io/en/latest/oauth2.html

pin D0 to RST: Must be connected to wake from Deepsleep.

+ : to 3.3v on Wemos

 : to GND on Wemos

Signal: to A0 on Wemos

As usual, if you need help implementing this in your own project, leave me a comment and I’ll get back to you.

Schematics

Code

import machine
import urequests
import time

rtc = machine.RTC() # Clock for deepsleep
rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP)

adc = machine.ADC(0) # Pin to Read sensor voltage

######################
# Sensor calibration #
######################

# values on right are inverse * 1000 values on left
# dry air = 759 (0%) = 1.31752305665349143610013175231
# water = 382 (100%) = 2.61780104712041884816753926702
# The Difference     = 1.30027799046692741206740751471
# 1 %                = 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 = hours + ':' + mins + ':' + secs

variable = (((1 / adc.read())* 1000) / 0.0130027799046692741206740751471) - 101
if variable > 100:
	variable = 100
if variable < 0:
	variable = 0

url = 'http://192.168.1.2:8000/solomon'
headers = {'content-type': 'application/json'}
data = '{"Value": "%s", "Time": "%s"}' % (variable, timestr)
resp = urequests.post(url, data=data, headers=headers) # Send the request
print(resp.json())

rtc.alarm(rtc.ALARM0, 25000) # Set alarm for 25 seconds
machine.deepsleep() # Go to sleep ...

Source: Python/MicroPython Sensor Logger with Google Sheets

Scroll to Top
Scroll to Top
Read previous post:
GENIATECH LAUNCHES AI-ENHANCED RK3399PRO BASED SBC AND 5 OTHERS
GENIATECH LAUNCHES AI-ENHANCED RK3399PRO BASED SBC AND 5 OTHERS

Geniatech has posted about the launch of their DB3399 and DB3399 Pro SBCs equipped with the RK3399 and RK3399Pro SoCs, and their specifications. The Android 8.0-powered DB3399 Pro SBC...

Close