利用 NodeMCU 构建一个基于物联网的心率监测系统
将脉搏传感器直接连接到 NodeMCU ESP8266 上。将 VCC 接至 3.3V,GND 接至 GND,Signal/OUT 接至 A0 引脚。A0 引脚接收来自传感器的模拟脉冲信号。在将 NodeMCU 连接到电脑前,请先确认接线正确。
2:将 NodeMCU 连接到电脑
使用 USB 数据线将 NodeMCU ESP8266 连接到电脑。连接后,NodeMCU 将从电脑获得电源,并可通过 Arduino IDE 进行编程。
3:在 Arduino IDE 中配置 NodeMCU
打开 Arduino IDE,安装所需的 ESP8266 芯片包。在“工具”菜单中选择 NodeMCU 1.0(ESP-12E 模块),并选择正确的 COM 端口,以便 Arduino IDE 能够与 NodeMCU 建立通信。
4:安装并包含 KiwisIoT 库
在 Arduino IDE 中安装所需的 KiwisIoT 库,并通过相应的头文件将其包含到程序中。该库使 NodeMCU 能够与 KiwisIoT 平台建立通信。
5:配置Wi-Fi和KiwisIoT
在Arduino程序中输入Wi-Fi的SSID和密码,同时输入为项目创建的KiwisIoT主题ID。这些信息将使NodeMCU能够连接到互联网,并与正确的KiwisIoT仪表板进行通信。
请勿在博客中公开真实的Wi-Fi密码。在截图或代码示例中,应将其替换为类似“YOUR_WIFI_PASSWORD”的占位符。
6:配置脉搏传感器输入
在程序中将脉搏传感器输入定义为A0引脚。NodeMCU会持续读取该引脚上的模拟传感器值。程序会使用合适的阈值来区分心跳信号与正常的传感器信号。
7:计算心率(BPM)
当脉冲信号超过设定的阈值时,程序便检测到心跳。通过NodeMCU的时间函数测量两次连续心跳之间的时间差。
然后计算出每分钟的心跳次数(BPM),即每分钟预期的心跳数。
8:验证并上传程序
完成程序后,在Arduino IDE中点击“验证”以检查编译错误。如果程序编译成功,请点击“上传”。
等待程序完全上传到NodeMCU。上传完成后,板子可能会自动重启。
9:测试脉搏传感器
将指尖轻轻放在脉搏传感器上并保持稳定。避免用力按压或频繁移动手指,因为动作可能会影响读数。
NodeMCU会持续读取传感器数据,并在检测到心跳时计算出每分钟心率(BPM)。
10:检查串口监视器中的输出
打开Arduino IDE的串口监视器,并将波特率设置为与程序匹配的115200。
计算出的心率数值将显示在串口监视器中,例如:
心率:85 BPM
心率:78 BPM
心率:88 BPM
串口监视器可用于确认脉搏传感器、NodeMCU以及心率计算功能是否正常工作。
11:将BPM数据发送至KiwisIoT
在计算出BPM值后,NodeMCU会通过Wi-Fi将心率数值发送至KiwisIoT。串口监视器中显示的传输消息也可用于验证BPM数据是否成功发送。
当前的数据流程如下:
脉搏传感器 → NodeMCU → 心率计算 → Wi-Fi → KiwisIoT
12:创建KiwisIoT仪表板
打开为心率项目创建的KiwisIoT面板,向仪表板中添加合适的可视化组件,例如图表。
配置该组件以显示从NodeMCU接收到的心率数据。
13:在KiwisIoT上查看心率
当NodeMCU开始传输数据后,KiwisIoT会接收这些数值并将其显示在仪表板上。
该图表直观地展示了心率数值随时间的变化情况,相比仅在串口监视器中查看数值,这种视觉化方式更便于理解物联网输出结果。
14:验证完整的物联网通信
将Arduino IDE串口监视器中显示的数值与KiwisIoT仪表板接收到的数值进行比较。
如果NodeMCU已连接且仪表板正在接收传输的数据,则硬件与物联网平台之间的通信正常工作。
15:项目最终运行
当手指接触脉搏传感器时,它会根据每次心跳检测到的变化产生信号。NodeMCU通过A0引脚读取该信号,检测心跳,并计算出每分钟心率(BPM)。
使用Arduino IDE对NodeMCU进行编程,并通过串口监视器验证输出结果。随后,NodeMCU利用其内置的Wi-Fi功能将计算出的BPM数据发送至KiwisIoT。最后,接收到的数据将以图形形式在KiwisIoT仪表板上显示。
完整项目流程:手指 → 脉搏传感器 → NodeMCU ESP8266 → 心率计算 → 串口监视器 → Wi-Fi → KiwisIoT → 实时仪表盘
本文编译自hackster.io





