一款用Raspberry Pi和传感器制作的可穿戴式小型健康管理设备!第四部分•剧终篇

第1部分:用Raspberry Pi Zero和罗姆SensorMedal制作健康管理设备!
第2部分:根据传感器的值计算步数、距离和卡路里,并将数据发送到LINE!
第3部分:一款用Raspberry Pi和传感器制作的可穿戴式小型健康管理设备!

 

连接显示器并完成这款可穿戴式健康管理设备

大家好,我是吉田!

本文是制作旨在解决运动不足问题的健康管理设备项目的最后一部分,也就是剧终篇。在这部分中,我想在一个小型显示器上显示这之前获取的步数和心率信息。让我们把它做成类似可穿戴的手表样式,这样就可以随时查看信息了!

1_2
20

 

本部分所需部件

Raspberry Pi Zero W

raspberrypi-wearable-healthcare-device-03_02

 

Seeed ReSpeaker Mic-2 Hat

5

 

Seeed Grove OLED Display

6

 

心率传感器

raspberrypi-wearable-healthcare-device-03_03

 

ROHM SensorMedal(SensorMedal-EVK-002)

8

 

LiPo电池

9

 

本部分的流程

  1. 使用Seeed Grove OLED显示信息
  2. 连接心率传感器显示心率
  3. 做成可穿戴的手表样式,项目完成!
  4. 总结

 

1. 使用Seeed Grove OLED显示信息

上一部分中,我们给Raspberry Pi Zero连接了心率传感器。在这部分中,为了安装显示器,我们将使用与Raspberry Pi Zero完美兼容的Seeed ReSpeaker Mic-2 Hat
5

该设备有两个支持Seeed Grove引脚的插口,非常方便。现在我们把这顶“帽子(Hat)”安装在Raspberry Pi上并通电。

11
从以下页面获取并安装Seeed ReSpeaker Mic-2 Hat的软件。

pi@raspizero:~/ $ git clone https://github.com/respeaker/seeed-voicecard.git
pi@raspizero:~/ $ cd seeed-voicecard
pi@raspizero:~/ $ sudo ./install.sh  --compat-kernel
pi@raspizero:~/ $ reboot

 

另外还需要安装库文件,以便能够使用Seeed ReSpeaker Mic-2 Hat所连接的LED。这样,当您运行Pixels示例程序时,就可以让Hat上的三个NeoPixels像在第三部分中一样发光了。

pi@raspizero:~/ $ sudo pip install spidev
pi@raspizero:~/ $ cd ~/
pi@raspizero:~/ $ git clone https://github.com/respeaker/mic_hat.git
pi@raspizero:~/ $ cd mic_hat
pi@raspizero:~/ $ python pixels.py

 

设置好Hat之后,我们将添加一个显示器。我使用的是带有Grove引脚的128 x 64的OLED显示器

6

将该显示器连接到面向Hat左侧的Grove引脚。该引脚支持I2C连接方式。

13

 

安装用来使用该显示器的软件(包括库文件)尝试用Raspberry Pi键入以下命令。

pi@raspizero:~/ $ curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s -
pi@raspizero:~/ $ cd grove.py
pi@raspizero:~/ $  python3 grove_oled_display_128x64.py

 

这将会创建一个名为“grove.py”的文件夹,其中保存着很多使用了Grove的库。在其中使用“grove_oled_display_128x64.py”。
raspberrypi-wearable-healthcare-device-04_11

 

当运行这个程序时,应该会在显示器上看到“hello world”字样。

14

 

2. 连接心率传感器显示心率

现在,让我们试一下在Hat上连接心率传感器并在显示器上显示心率等数据。将心率传感器与Hat中间的Grove引脚连接。

这个Grove引脚是连接到Raspberry Pi的GPIO12的。另外,需要复制之前的OLED程序,来创建一个“grove_oled_heart.py”程序,在其中添加如下描述:

pi@raspizero:~/ $ sudo cp ~/grove.py/grove_oled_display_128x64.pysudo ~/Programs/grove_oled_heart.py

----
#!/usr/bin/env python
import time
from collections import deque
import RPi.GPIO as GPIO
import datetime

class HeartRateMonitor:
    INTERRUPT_PIN = 12
    MAX_DETECTED_TIMES_COUNT = 20
    MAX_PULSE_INTERVAL = 2.0
    ...

        #print("HeartRate: {heart_rate}, Interval: {interval}".format(heart_rate = heart_rate, interval = interval))
        return heart_rate

    def execute(self):
        display = GroveOledDisplay128x64()
        display.set_cursor(0, 0)
        display.puts("RasPi Health")

        print('Please ready your heart rate monitor.')
        time.sleep(3)

        while True:
            display.set_cursor(1, 1)
            time_str = datetime.datetime.now().strftime("%H:%M:%S")
            display.puts(time_str)

            GPIO.wait_for_edge(self.INTERRUPT_PIN, GPIO.RISING)
            heart_rate = self._interrupt()
            if heart_rate is not None:
              display.set_cursor(3, 1)
              hr = round(heart_rate)
              print(hr)
              display.puts("HR: "+str(hr)+" BPM")

from grove.i2c import Bus
...
class GroveOledDisplay128x64(object):
...

def main():
    monitor = HeartRateMonitor()
    while True:
        monitor.execute()

if __name__ == "__main__":
    main()

 

当运行这个程序时,心率数据就显示在显示器中央了。

20-21

 

3. 做成可穿戴的手表样式,项目完成!

最后,让我们给这个作品装上外壳等,使其成为可穿戴设备。首先,使用小型锂聚合物电池为Raspberry Pi Zero供电。

17

 

将心率传感器与显示器一起重新连接到Hat。还需要装上一个能够看见显示器的外壳和一个表带。

1_2

 

最后,创建一个shell脚本(ble_steps_heart_oled.sh),并行运行SensorMedal的BLE测量程序和心率传感器。现在,通过nohup指定的OLED显示程序已经能够在后台运行,并且与SensorMedal程序并行运行。

#!/bin/bash
nohup sudo python3 /home/pi/Programs/grove_oled_heart.py &
sudo python3 /home/pi/Programs/ble_steps_line.py

 

像“. ble_steps_heart_oled.sh”一样运行上述程序。打开SensorMedal电源并将心率传感器夹在指尖上。

20

 

然后,大约20秒后,心率将开始出现在显示器上。此外,该设备还会读取SensorMedal的数值,当达到一定步数时,会将结果发送到LINE。

21

 

4. 总结

在这部分中,我们介绍了测量一天的步数和心率并将心率显示在可穿戴设备的小型显示器上的方法。大家应该也了解了从SensorMedal中获取各种数据,并将这些数据发送到小型 Raspberry Pi Zero中,显示数据或将其上传到LINE等的方法。

有了这款可穿戴设备,就可以轻松获取自己身体的信息,比如“虽然一直在家里,但我今天走了多少步?”“这个会议相当紧张,我的心率已经上升了很多……”。使用这个项目的方法,还可以用其他各种传感器来测量和了解自己身体的状况,用来解决运动不足问题和进行健康管理,不失为有趣的做法!

吉田 显一(Yoshiken)
吉田 显一(Yoshiken)

在普通公司工作的上班族,非常喜欢创作的周末创客,出版了电子书MESHBOOK,平时也写写博客。
http://blog.ktrips.net

相关文章

  1. basic-of-raspberrypi_01_02-1

    Raspberry Pi使用前的准备【第1篇】Raspberry Pi的基础知识

  2. 使用Raspberry Pi 4进行电子制作 入门!【第4篇】 使用Raspberry Pi 4和G…

  3. raspberrypi04_1

    使用Raspberry Pi 4进行电子制作 入门! 【第3篇】无头模式下熟练使用Raspberry…

  4. raspberrypi04_1

    使用Raspberry Pi 4进行电子制作的入门教程! 【第2篇】Raspberry Pi 4的设…

  5. raspberrypi04_1

    使用Raspberry Pi 4进行电子制作的入门教程! 第1篇: 开始使用新产品“Raspberr…

  6. i06_4a

    制作一款图形处理装置,用数字控制自然力

  7. ito_05

    制作卡通角色随风摆动就能绘制图形作品的装置

  8. i04-8

    使用传感器轻松制作有趣的项目

  9. what-is-raspberrypi_01_2

    从历史到使用方法的全面了解!电子作品创作不可或缺的“Raspberry Pi(树莓派)”究竟是何方神…

TECH INFO

  • Sugiken老师的电机驱动器课堂
  • 重点必看
  • 技术分享
  • Arduino入门指南

基础知识

  • Si功率元器件
  • IGBT功率元器件
  • 热设计
  • 电路仿真
  • 开关噪声-EMC
  • AC/DC
  • DC/DC
  • 电机
  • 传递函数

工程技巧


Sugiken老师的电机驱动器课堂

PICK UP

PAGE TOP