EBC Exercise 38 Logging to Excel
Embedded Linux Class by Mark A. Yoder
Here are instructions on how to log data to an Excel spreadsheet from Python.
Contents
Create a new Excel Spreadsheet
Create a new spreadsheet:
- Sign into your OneDrive account.
- Select New:Excel workbook.
- Give it 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 step 1.
If you are using Python, got to {https://developer.microsoft.com/en-us/graph/quick-start?platform=option-Python https://developer.microsoft.com/en-us/graph/quick-start?platform=option-Python] and follow step 2.
- Click the Get an app ID and secret button
- Click the Add an app button
- Give the app a name. I used 'Logging Data to Excel'
- Click Let us help you get started
Either way put the credentials.json file in the sheets directory.
Run the example
JavaScript
- Edit demo.js and change the sheetID string to the string you noted above.
- Load the API
bone$ npm install googleapis
- 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.
Python
- Edit demo.py and change the sheetID string to the string you noted above.
- Load the API
bone$ pip3 install --upgrade google-api-python-client oauth2client
- Run
Then, run the example on your Bone. The arguments are the values to be logged on the sheet.
bone$ ./demo.py --noauth_local_webserver 3.14 10
The first time you will have to paste a URL into your browser and paste a string back to the Bone. You can leave off the --noauth_local_webserver after the first time.
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