用Raspberry Pi和SensorMedal製作IoT跳繩設備 第三部分:連接Google Drive,保存並查看跳繩結果

第一部分:用跳繩測試儀解決運動不足問題!
第二部分:用SensorMedal檢測跳躍次數並在顯示器上顯示

 

大家好,我是吉田!

本連載旨在製作一款用來解決運動不足問題的跳繩設備。本文是第三部分,前面已經實現了通過加速度感測器對跳躍次數進行計數,本文將介紹將其資料保存在Google Sheets中並進行處理的步驟。如果能夠瞭解自己的跳躍次數、時間、消耗的總熱量等,可能會增加今後堅持鍛煉的動力。現在就動手開始做吧!

raspberrypi-iot-jumprope-device-03-01

raspberrypi-iot-jumprope-device-03-02

 

本部分所需零件

跳繩

raspberrypi-iot-jumprope-device-01-03

 

ROHM SensorMedal(SensorMedal-EVK-002

raspberrypi-iot-jumprope-device-01-04

 

Raspberry Pi zero(Raspberry Pi Zero W

raspberrypi-iot-jumprope-device-01-05

 

FOUR LETTER LED PHAT

raspberrypi-iot-jumprope-device-01-06

 

本部分的流程

  1. 1.設置Google Sheets
  2. 2.從Raspberry Pi上傳到Google
  3. 3.保存並顯示跳繩結果
  4. 4.總結

 

1.設置Google Sheets

當我們實現了跳繩計數後,就很希望能將次數等資料保存下來,以便隨時查看以往的跳躍次數。

為此,讓我們將跳躍次數等資料保存在Google雲端的試算表中吧。Google的雲服務可以在一定程度內免費使用,因此可以隨時開始使用。

首先,需要訪問下面的Google控制台。按一下下面的連結可以註冊您的Google帳戶並登錄開始使用:
https://console.developers.google.com/

您Google帳戶的初始設置完成後,可以在控制台中搜索名為“Sheets”的API,就會出來Google Sheets API,請選擇它。

raspberrypi-iot-jumprope-device-03-03

 

現在,點擊左側的藍色按鈕“啟用”,啟用Sheets API。

raspberrypi-iot-jumprope-device-03-04

 

然後將游標移到左側功能表中的“認證資訊”。
raspberrypi-iot-jumprope-device-03-05

 
從認證頁面頂部的“創建認證資訊”中選擇“服務帳戶”。

raspberrypi-iot-jumprope-device-03-06

 

在服務帳戶創建頁面上,輸入適當的帳戶名稱和ID,然後點擊“創建”。

raspberrypi-iot-jumprope-device-03-08

 

即使“允許訪問”,也需要授予專案所有者等許可權並點擊“繼續”。
raspberrypi-iot-jumprope-device-03-07

 

這樣,就創建了服務帳戶。現在,按一下如下所示的創建秘鑰按鈕,下載JSON格式的檔。

raspberrypi-iot-jumprope-device-03-09

 

raspberrypi-iot-jumprope-device-03-10

 

下載好JSON檔後打開,保存郵件資訊“xxx@yyy.iam.gserviceaccount.com”的地址。另外,將這個JSON檔發送給Raspberry Pi。

raspberrypi-iot-jumprope-device-03-11

 

這些設置完成後,轉到 Google Sheets並嘗試創建試算表。可以訪問Google Drive或使用下面的連結:
https://docs.google.com/spreadsheets/create

新建的Google Sheets表格打開後,在左上角的名稱位置輸入適當的表格名稱。(我設置的是“Jump_Count”)

然後點擊右側的“分享”按鈕,輸入之前保存的帳號資訊(xxx@yyy.iam.gserviceaccount.com),完成。
raspberrypi-iot-jumprope-device-03-12

 

2. 從Raspberry Pi上傳到Google

現在,Google這邊的設置已經完成,讓我們從Raspberry Pi開始使用吧。啟動Raspberry Pi並打開終端。

要想使用Google Sheets,需要各種認證和使用名為“gspread”的庫,因此請按如下方式安裝。

現在可以將資料保存在Sheets中了。在這裡,我創建了一個程式,用來從Raspberry Pi輸入資料,程式如下:

 

當運行這個程式時,“Jump Data”的資料會從Raspberry Pi被插入到雲表格中。

raspberrypi-iot-jumprope-device-03-13

 

3. 跳繩&保存、顯示!

現在讓我們修改跳繩程式,以讓跳躍次數可以上傳到Google。

raspberrypi-iot-jumprope-device-03-14

 

首先需要記錄下您的表格的sheet_id(下面網址中紅框內的部分)。

raspberrypi-iot-jumprope-device-03-15

 

在試算表中,日期和時間保存在A列和B列中,跳躍次數保存在C列中,跳繩時間(秒)保存在D列中,卡路里消耗量保存在E列中。當在表格的C1、D1和E1輸入求和命令時,就會自動計算跳躍的總次數和消耗的卡路里總量等數據。

raspberrypi-iot-jumprope-device-03-16

 

接下來,通過在ble_jump_4d.py程式中添加的方式,創建ble_jump_4d_sheets.py程式。為了將跳躍次數保存在Google Sheets中,需要添加以下部分:

  • 第9〜42行
  • 第49〜50行
  • 第57〜69行
  • 第76〜77行

 

讓我們運行這個程式,按下SensorMedal上的按鈕後跳幾下吧。

raspberrypi-iot-jumprope-device-03-17

 

在有網路的地方,每次按下按鈕並跳繩,都會將次數保存下來。 我們設計的這種方式,可以成功地將跳躍次數保存在表格中。

 

4. 總結

在本連載中,我們使用Raspberry Pi和SensorMedal實現了連接物聯網的數位化跳繩。

本文是第三部分,我們不僅實現了次數計數,而且還成功地將每次跳繩的次數等資料上傳到Google Sheets以保存結果。Google Sheets很容易獲得合計值和繪製圖表,因此非常適合隨時查看跳繩結果。

在下一部分中,也就是最後一部分,我們將使用跳躍次數和保存的資料來創建一種機制,讓跳繩變得更加有趣也更加有動力,敬請期待!