第一部分:用跳繩測試儀解決運動不足問題!
第二部分:用SensorMedal檢測跳躍次數并在顯示器上顯示
第三部分:連接Google Drive,保存并查看跳繩結果
大家好,我是吉田!
本文是制作一款用來解決運動不足問題的跳繩設備項目連載的最后一篇。我們已經成功實現了跳躍次數計數及其數據保存,在這部分中,我們將為這臺設備安裝一個顯示器,讓它實現能夠激發您動力的有趣顯示,以便您可持之以恒地堅持運動。
本部分所需部件
跳繩
ROHM SensorMedal(SensorMedal-EVK-002)
Raspberry Pi zero(Raspberry Pi Zero W)
Raspberry Pi4
7英寸觸控顯示器
本部分的流程
Raspberry Pi用顯示器的設置
在屏幕上顯示跳繩信息
以有趣的方式顯示跳躍次數,讓動力滿滿!
總結
1.Raspberry Pi用顯示器的設置
適用于Raspberry Pi的顯示器包括下面這款7英寸大小的觸控屏。通過HDMI(如果是Raspberry Pi4的話是MicroHDMI)將其與Raspberry Pi連接,即可在大屏幕上顯示數據。
我們會用Raspberry Pi創建應用程序,以實現在這個屏幕上顯示。為此,我們將使用可以創建桌面應用程序的Tkinter。
首先,安裝Tkinter。
$ sudo apt-get install python3-tk
創建可以顯示當前時間的程序display.py。
pi@raspizero:~/Programs $ sudo vi display.py --------- #!/usr/bin/python # -*- coding: utf-8 -*- from tkinter import * from datetime import datetime from time import sleep # 創建主窗口 root = Tk() # 主窗口大小 root.geometry("720x480") # 主窗口標題 root.title("Clock") # 創建Canvas c = Canvas(root, , width=500, height=480) c.pack(expand=True, fill='x', padx=5, side='left') # 創建字符串 cd = c.create_text(350, 180, font=('', 40, 'bold'), fill='black') ct = c.create_text(350, 280, font=('', 80), fill='black') # 主窗口的最大化 root.attributes("-zoomed", "1") # 總是在最前顯示 root.attributes("-topmost", False) def cupdate(): # 顯示當前時間 now = datetime.now() d = '{0:0>4d}年{1:0>2d}月{2:0>2d}日 ({3})'.format(now.year, now.month, now.day, now.strftime('%a')) t = '{0:0>2d}:{1:0>2d}:{2:0>2d}'.format(now.hour, now.minute, now.second) c.itemconfigure(cd, text=d) c.itemconfigure(ct, text=t) c.update() # 以1秒間隔重復 root.after(1000, cupdate) # 注冊回調函數 root.after(1000, cupdate) # 主循環 root.mainloop()
像sudo python3 display.py那樣運行這個程序時,會創建一個顯示當前時間的桌面應用程序。
顯示時間的桌面應用程序
2. 在屏幕上顯示跳繩信息
將顯示器與Raspberry Pi連好后,讓我們嘗試一下在上面顯示上次在Google Sheets中記錄的跳躍次數吧。
需要能夠將Google Sheets中的數據讀取到桌面應用程序中。需要顯示Google Sheets中的時間、次數和卡路里數據。我們將用來讀取Google sheets的程序添加到前面的display.py程序中(用黃色表示增加的描述部分)。
pi@raspizero:~/Programs $ sudo cp display.py jump_display.py --- 下面的更改或添加部分用黃色表示 --- #!/usr/bin/env python3 # coding: utf-8 from tkinter import * --- import gspread from apiclient import discovery from oauth2client.service_account import ServiceAccountCredentials import httplib2 import numpy as np from datetime import datetime key_name = "xxx.json" # Use your own information sheet_id = “yyy” # sheet_id sheet_name= “zzz” class SpreadSheet(object): def __init__(self, sheet_id): self.sheetId = sheet_id def search(searchKey): scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive'] credentials = ServiceAccountCredentials.from_json_keyfile_name(key_name, scope) gc = gspread.authorize(credentials) # 使用JSON密鑰文件進行身份驗證 wks = gc.open(sheet_name).sheet1 # 打開sheet records = wks.get_all_values() # 讀取內容并保存在數組中 for i in range(1, len(records)): # 僅重復sheet的行數 if records[i][0] == searchKey: # 直到第一列與TerminalID匹配 gdate=records[i][0] gtime=records[i][1] gjump=records[i][2] gdur =records[i][3] gcal =records[i][4] print(gdate, gtime, gjump, gdur, gcal) return gdate, gtime, gjump, gdur, gcal spread_sheet = SpreadSheet(sheet_id) --- # 創建字符串 cd = c.create_text(100, 60, font=('', 80,), fill='blue') ct = c.create_text(100, 120, font=('', 80), fill='red') --- def cupdate(): totals = spread_sheet.search("Total") total_count= totals[2] total_time = totals[3] jump_text = str(total_count)+”次 " c.itemconfigure(cd, ) c.itemconfigure(ct, text=jump_text) c.update() ---
通過運行這個程序,應該能夠從Google Sheets中獲取總跳躍次數并將其顯示在屏幕上。
3. 以有趣的方式顯示跳躍次數,讓動力滿滿!
最后,讓我們把這個帶顯示器的Raspberry Pi做成平板電腦的樣子吧。另外,我們假設跳躍一次相當于走了1m,可以將跳繩比作東海道五十三次徒步,可以看到自己走到哪里了,甚至可以用來和朋友比賽。
那么,我們先開始“外部裝潢”吧。
首先,準備一個B5大小的外殼。在外殼上開一個顯示器大小的窗口。
將液晶顯示器、Raspberry Pi和移動電源放入外殼中。
打開電源并確認屏幕顯示。
現在外部裝潢好了,我創建了一個可以讓顯示更有趣的程序。我把示例程序放在下面的Github上了,您可以試用一下:
https://github.com/ktrips/jump/blob/master/jump.py
好啦,現在讓我們開始跳繩吧。
跳繩后請確認一下數值是否更新了,顯示是否改變了。
用這種方法保持動力,堅持跳繩是不是變得更容易了?
4. 總結
在本系列連載中,我們使用Raspberry Pi和SensorMedal制作了一款能夠將跳繩數字化的物聯網設備。
首先,我們在手柄上安裝了4位顯示器,通過SensorMedal的加速度傳感器檢測跳躍次數并將數據在顯示器上顯示出來了。
接下來,我們實現了將跳躍結果發送到Google Sheets,并將其作為歷史記錄保存下來。還增加了總時間、總次數、卡路里等數據。
最后,我們讓這款帶有顯示器的Raspberry Pi設備能夠顯示各種信息,以便增加跳繩和運動的動力。這次,我設置的是讓跳躍1次相當于步行1m,看看自己最終在所謂的“東海道五十三次徒步”中走了多遠,通過這種方式來享受跳繩運動的樂趣。此外,我還用飯團等來顯示卡路里量,這也是一種有趣的顯示方式。
怎么樣,我們是不是創建了一款誰都可以輕松享受跳繩、有助于解決運動不足問題的設備呢?對于越來越喜歡“家里蹲”的人而言,希望這款設備能成為激發您運動健身的轉折點!
本系列連載一覽
第一部分:用跳繩測試儀解決運動不足問題!
第二部分:用SensorMedal檢測跳躍次數并在顯示器上顯示
第三部分:連接Google Drive,保存并查看跳繩結果
第四部分:在設備上安裝顯示器以增加動力!(本章)
吉田顯一(Yoshiken)
-
顯示器
+關注
關注
21文章
5017瀏覽量
140458 -
Raspberry Pi
+關注
關注
2文章
559瀏覽量
22348 -
IOT
+關注
關注
187文章
4230瀏覽量
197715
發布評論請先 登錄
相關推薦
評論