Difference between revisions of "EBC Exercise 37 Logging to Sheets"
m (→Python) |
m (→Python) |
||
(One intermediate revision by the same user not shown) | |||
Line 30: | Line 30: | ||
* Run the example on your Bone. The arguments are the values to be logged on the sheet. | * Run the example on your Bone. The arguments are the values to be logged on the sheet. | ||
bone$ '''./demo.py 3.14 10''' | bone$ '''./demo.py 3.14 10''' | ||
− | Please visit this URL to authorize this application: https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=834314057708- | + | Please visit this URL to authorize this application: https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=834314057708-q7dsgi6i0eeef4ap6gh3d6k2qu64g5k.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fspreadsheets&state=mNbw6E6ZIbpHqU2j6mrxPamewzcbUE&prompt=consent&access_type=offline&code_challenge=AV-yuItiICbH9KjdudKbLCwg1KDJ-vvCzUUzotDNijE&code_challenge_method=S256 |
The first time you will have to paste a URL into your browser. When you see | The first time you will have to paste a URL into your browser. When you see | ||
Line 36: | Line 36: | ||
[[File:Appnotverified.png]] | [[File:Appnotverified.png]] | ||
− | go to | + | go to Advanced and click the '''Go to Logging Data (unsafe)'''. It's unsafe since Google hasn't verified our app. |
Finally paste the string back to the Bone. | Finally paste the string back to the Bone. |
Revision as of 06:10, 29 October 2020
Embedded Linux Class by Mark A. Yoder
Here are instructions on how to log data to a Google Sheet from JavaScript or Python.
Contents
Create a new Sheet
Create a new sheet by:
- Going to https://sheets.google.com and clicking to Start a new spreadsheet, Blank
- Give the sheet a meaningful name
- Enter some column labels
- Note the sheetID in the path
Get Credentials
Go to the class repo and change to the sheets directory
bone$ cd exercises/iot/google/sheets
If you are using JavaScipt, go to https://developers.google.com/sheets/api/quickstart/nodejs and follow steps 1 and 2.
If you are using Python, got to https://developers.google.com/sheets/api/quickstart/python and follow steps 1 and 2.
Either way put the credentials.json file in the sheets directory.
Run the example
Python
- Edit demo.py and change the sheetID string to the string you noted above.
- Run the example on your Bone. The arguments are the values to be logged on the sheet.
bone$ ./demo.py 3.14 10 Please visit this URL to authorize this application: https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=834314057708-q7dsgi6i0eeef4ap6gh3d6k2qu64g5k.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fspreadsheets&state=mNbw6E6ZIbpHqU2j6mrxPamewzcbUE&prompt=consent&access_type=offline&code_challenge=AV-yuItiICbH9KjdudKbLCwg1KDJ-vvCzUUzotDNijE&code_challenge_method=S256
The first time you will have to paste a URL into your browser. When you see
go to Advanced and click the Go to Logging Data (unsafe). It's unsafe since Google hasn't verified our app.
Finally paste the string back to the Bone.
JavaScript
- Edit demo.js and change the sheetID string to the string you noted above.
- Then, run the example on your Bone. The arguments are the values to be logged on the sheet.
bone$ ./demo.js 3.14 10
The first time you will have to paste a URL into your browser and paste a string back to the Bone.
Plot the Data
Go to your Google sheet and the new data, and a time stamp should be there.
- Select the A column and select Format:Number:Date time
- Select all the columns and click Insert chart
- Select Line chart
- Select Use row 1 as headers
- Select Use column A as labels
Your data should be plotted. Try running your script again and the chart will update.
Embedded Linux Class by Mark A. Yoder