/ Google_Sheet_Sensor_Logging / max31855_logger.py
max31855_logger.py
 1  # SPDX-FileCopyrightText: 2020 Carter Nelson for Adafruit Industries
 2  #
 3  # SPDX-License-Identifier: MIT
 4  
 5  import time
 6  from datetime import datetime
 7  import board
 8  import digitalio
 9  import adafruit_max31855
10  from google.oauth2.service_account import Credentials
11  from googleapiclient.discovery import build
12  
13  #--| User Config |-----------------------------------------------
14  SERVICE_ACCOUNT_FILE = 'YOUR_CREDENTIALS_FILE.json'
15  SPREADSHEET_ID = 'YOUR_SHEET_ID'
16  DATA_LOCATION = 'A1'
17  UPDATE_RATE = 60
18  #--| User Config |-----------------------------------------------
19  
20  # Sensor setup
21  cs = digitalio.DigitalInOut(board.C0)
22  max31855 = adafruit_max31855.MAX31855(board.SPI(), cs)
23  
24  # Google Sheets API setup
25  SCOPES = ['https://spreadsheets.google.com/feeds',
26            'https://www.googleapis.com/auth/drive']
27  CREDS = Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
28  SHEET = build('sheets', 'v4', credentials=CREDS).spreadsheets()
29  
30  # Logging loop
31  print("Logging...")
32  while True:
33      values = [[datetime.now().isoformat(), max31855.temperature]]
34      SHEET.values().append(spreadsheetId=SPREADSHEET_ID,
35                            valueInputOption='RAW',
36                            range=DATA_LOCATION,
37                            body={'values' : values}).execute()
38      time.sleep(UPDATE_RATE)