Skip to content

Commit be1ef3a

Browse files
authored
Merge pull request #993 from caternuson/sensor_log
Add code for sensor logging
2 parents c454340 + 8cfe0bb commit be1ef3a

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import time
2+
from datetime import datetime
3+
import board
4+
import adafruit_bme280
5+
from google.oauth2.service_account import Credentials
6+
from googleapiclient.discovery import build
7+
8+
#--| User Config |-----------------------------------------------
9+
SERVICE_ACCOUNT_FILE = 'YOUR_CREDENTIALS_FILE.json'
10+
SPREADSHEET_ID = 'YOUR_SHEET_ID'
11+
DATA_LOCATION = 'A1'
12+
UPDATE_RATE = 60
13+
#--| User Config |-----------------------------------------------
14+
15+
# Sensor setup
16+
bme = adafruit_bme280.Adafruit_BME280_I2C(board.I2C())
17+
18+
# Google Sheets API setup
19+
SCOPES = ['https://spreadsheets.google.com/feeds',
20+
'https://www.googleapis.com/auth/drive']
21+
CREDS = Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
22+
SHEET = build('sheets', 'v4', credentials=CREDS).spreadsheets()
23+
24+
# Logging loop
25+
print("Logging...")
26+
while True:
27+
values = [[datetime.now().isoformat(), bme.pressure, bme.temperature, bme.humidity]]
28+
SHEET.values().append(spreadsheetId=SPREADSHEET_ID,
29+
valueInputOption='RAW',
30+
range=DATA_LOCATION,
31+
body={'values' : values}).execute()
32+
time.sleep(UPDATE_RATE)
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import time
2+
from datetime import datetime
3+
import board
4+
import digitalio
5+
import adafruit_max31855
6+
from google.oauth2.service_account import Credentials
7+
from googleapiclient.discovery import build
8+
9+
#--| User Config |-----------------------------------------------
10+
SERVICE_ACCOUNT_FILE = 'YOUR_CREDENTIALS_FILE.json'
11+
SPREADSHEET_ID = 'YOUR_SHEET_ID'
12+
DATA_LOCATION = 'A1'
13+
UPDATE_RATE = 60
14+
#--| User Config |-----------------------------------------------
15+
16+
# Sensor setup
17+
cs = digitalio.DigitalInOut(board.C0)
18+
max31855 = adafruit_max31855.MAX31855(board.SPI(), cs)
19+
20+
# Google Sheets API setup
21+
SCOPES = ['https://spreadsheets.google.com/feeds',
22+
'https://www.googleapis.com/auth/drive']
23+
CREDS = Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
24+
SHEET = build('sheets', 'v4', credentials=CREDS).spreadsheets()
25+
26+
# Logging loop
27+
print("Logging...")
28+
while True:
29+
values = [[datetime.now().isoformat(), max31855.temperature]]
30+
SHEET.values().append(spreadsheetId=SPREADSHEET_ID,
31+
valueInputOption='RAW',
32+
range=DATA_LOCATION,
33+
body={'values' : values}).execute()
34+
time.sleep(UPDATE_RATE)

0 commit comments

Comments
 (0)