一款用Raspberry Pi和感測器製作的可穿戴式小型健康管理設備!第二部分

第1部分:一款用Raspberry Pi和感測器製作的可穿戴式小型健康管理設備!第一部分

 

根據感測器的值計算步數、距離和卡路里,並將資料發送到LINE!

大家好,我是吉田!

從這部分開始,我們將著手製作這款用來解決運動不足問題的健康管理設備。首先,我們使用羅姆SensorMedal來測量和計算步數、移動距離、消耗的卡路里等。

另外,將您在家中散步的結果發送到LINE,是不是可以提高您的運動積極性呢?您可能會意外地發現,自己在家裡竟然運動量也不小,如果用得好,也許還可以減肥哦!

raspberrypi-wearable-healthcare-device-02_01

 

本部分所需零件

Raspberry Pi Zero WH

raspberrypi-wearable-healthcare-device-02_02

 

羅姆SensorMedal(SensorMedal-EVK-002)

raspberrypi-comfortable-space-device-03-4

 

本部分的流程

  1. 計算移動距離和卡路里消耗量
  2. 將步數通知LINE
  3. 總結

 

1. 計算移動距離和卡路里消耗量

在這裡,我們使用羅姆的SensorMedal(SensorMedal-EVK-002)來測量步數和距離。在第一部分中,我們在Raspberry Pi Zero上安裝了一個名為“bluepy”的庫,以便能夠透過Bluetooth將SensorMedal連接到Raspberry Pi。另外,我們還透過使用Github中的便捷程式,獲得了以下資料。

 

可從SensorMedal獲取的測量值:

  • Temperature: 溫度(℃)
  • Humidity: 濕度(%)
  • Pressure: 氣壓(hPa)
  • Illuminance: 亮度(lx)
  • Accelerometer: 加速度(x軸、y軸、z軸)(g)
  • Geomagnetic: 陀螺儀感測器值(x軸、y軸、z軸)(uT)
  • Magnetic: 霍爾感測器值(磁鐵在附近透過為1,否則為0)
  • Steps: 步數(歩)
  • Battery Level: 電池電量

其中,Steps用來獲取加速度感測器的步數資料。首先,我想根據該步數資料計算移動距離。為此,需要每步的距離(步幅),這個資料因人而異,可以根據身高,按照“身高/2〜身高×1.2”計算。在這裡,我們簡單地設每步的步幅 = 0.5m。

我們先來計算一下您在家中移動(步行)所消耗的卡路里吧。有這樣一個測量值:一個健康男性1天走10000步左右消耗的卡路里約為350kcal(約一碗米飯)。參考這個值,我們使用350/10,000 = 0.035作為每步的係數。

綜上所述,我們需要計算的專案匯總如下:

編號 輸出值 計算方法
1 Steps 步數 (步) 從加速度感測器獲取步數
2 Distance 移動距離(m) 步數×每步距離(這裡簡單地假設為每步0.5m)
3 Calorie 卡路里(kcal) 步數 × 每步消耗的卡路里量(這裡使用卡路里係數0.035)

下面,我們將其寫成一個程式:

運行這個程式ble_steps.py。啟動該程式後,按下SensorMedal的按鈕,將其重置一次,然後將從那裡開始計算步數和時間。

raspberrypi-wearable-healthcare-device-02_03

可以看到,成功顯示了根據步數計算出來的移動距離和卡路里等資料,因此,我們可以將SensorMedal放在衣兜等位置,將Raspberry Pi Zero連接電源並放在房間中。現在,您可以像使用計步器一樣使用SensorMedal了。

raspberrypi-wearable-healthcare-device-02_08

 

2. 將步數通知LINE

接下來,當達到一定數位的步數時,可以將資料發送到LINE以便於查看。例如,每當您走了〇〇步時,或者每當您走路時,將“您已經走了〇〇步!”等資料發送到LINE等工具,也許可以提高您運動的積極性。

首先,要使用LINE,需要先從“LINE Notify”頁面上登錄。
https://notify-bot.line.me/ja/

raspberrypi-wearable-healthcare-device-02_04

從右上角的登錄區域使用您的LINE Developer帳戶登錄(如果您沒有帳戶,請先註冊)。登錄後,需要發行訪問權杖,以便能夠從“我的”頁面向LINE發送消息。

raspberrypi-wearable-healthcare-device-02_05

在這裡需要取一個合適的權杖名稱,並在LINE中選擇一個聊天室,然後發行權杖。

raspberrypi-wearable-healthcare-device-02_06

 

這時,將會顯示用來發送LINE Notify的權杖,複製該權杖。如果關閉該頁面將需要重新發行權杖,因此請務必確保已經複製好了。

raspberrypi-wearable-healthcare-device-02_07

 

使用該權杖在Raspberry Pi上添加程式。在這裡,我們將程式添加到前面提到的“ble_steps.py”中,使其成為“ble_steps_line.py”。將複製的權杖粘貼到下面代碼的第11行,即“xxx”的位置。

 

這次我為了便於測試,設置為每20步發送一條文本。現在,讓我們像“sudo python3 ble_steps_line.py”一樣運行這個程式,請走動或搖動SensorMedal,試試看能否正常測量步數。

raspberrypi-wearable-healthcare-device-02_08

 

如下圖所示,文本應該會發送到指定的LINE聊天室中(我也一併發送了表情圖,這個您可以根據自己的喜好添加)。

raspberrypi-wearable-healthcare-device-02_09

 

3. 總結

本文是第二部分,我們開始實際製作這款用來解決運動不足問題的健康管理設備。由於可以很容易地從SensorMedal中的加速度感測器獲取步數,因此我使用通用數值計算並顯示了移動距離和卡路里消耗量。另外,為了提高運動積極性,我們還將結果發送到了LINE。

怎麼樣?把這個SensorMedal放在衣兜裡,即使您在家中,也可以有意識地運動,是不是很不錯?

第三部分中,我們將使用脈搏感測器來測量日常生活和運動過程中的心率。

 

 

相关连载一览

第1部分:用Raspberry Pi Zero和罗姆SensorMedal制作健康管理设备!
第2部分:根據感測器的值計算步數、距離和卡路里,並將資料發送到LINE!(本章)
第3部分:一款用Raspberry Pi和感測器製作的可穿戴式小型健康管理設備!
第4部分:連接顯示器並完成這款可穿戴式健康管理設備