APP下载

基于Arduino和ESP8266网络远程心率测量系统

2019-05-24罗金生王荣海李岷

电脑知识与技术 2019年7期
关键词:网络心率

罗金生 王荣海 李岷

摘要:以人体手腕脉搏为研究对象,提出一种嵌入式系统的网络远程心率测量的方案。该方案C/S架构。客户端采用低功耗心率传感器SON7015采集心跳数据,ESP8266嵌入式芯片負责数据传输和网络通信。服务器接收并存储数据,也可以发送指令给客户端,客户端执行相应的操作,如初始化设备和开始心率数据的传输。测试结果表明,该系统传输效果好,易于观察,成本低,适合在健康生活、关爱老人生命安全中推广应用。

关键词:网络;心率;ESP8266;C/S

中图分类号:TP391 文献标识码:A

文章编号:1009-3044(2019)07-0055-02

开放科学(资源服务)标识码(OSID):

心率是指正常人安静状态下每分钟心跳的次数,一般为60~100次/分,可因年龄、性别或其他生理因素产生个体差异。脉搏心率携带有丰富的人体健康状况的信息。在中医四诊(望、闻、问、切)中,脉诊占有非常重要的位置。脉诊是我国传统医学中最具特色的一项诊断方法,其历史悠久。虽然脉诊具有简便、无创、无痛的特点,然而也存在许多主观臆断因素,影响了对脉象判断的规范化;其次无法记录和保存影响了对脉象机理的研究。本文提出一种现代化的检测心率的方法,采用低功耗心率传感器采集心跳,ESP8266 SOC芯片负责网络通信和控制,软件采用Arduino开发平台。医生可以通过该系统在电脑上远程观察分析和存储病人的心率数据,实现远程医疗。

1 Arduino开发平台

Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles和Tom Igoe、等。它流行的主要原因是库函数与底层硬件整合的天衣无缝,降低了非专业人士玩电子的难度。致使很多不是学电子的同学可以在Arduino上设计出PCB绘画机、WiFi小车等一系列的高级应用。安装配置好Arduino的IDE开发环境,下载STM32驱动库函数和网络通信等函数,即可开始编写、调试和烧录心率测量应用程序。

2 系统总体设计

本系统的核心是通过ESP8266既可以当WIFI传输数据芯片的同时,也可以当主控芯片来使用,其内部有一颗低功耗的STM32处理器。ESP8266可以接受来自服务器的相应指令执行相应的操作,进行IO管脚的控制,在此项目便是使用GPIO4来进行心率传感器脉冲的采集,通过返回的数据进行处理,传到服务器,以此来设计硬件电路和软件程序。选取ESP8266为主控芯片,同时负责网络通信,系统框图1所示。

2.1 ESP8266及模块

ESP8266芯片是一款串口转无线模芯片,内部自带固件,用户操作简单,无须编写时序信号等优点,原理图是图2所示。ESP8266 特性:

支持802.11 b/g/n协议

内置低功耗32位CPU:可以兼作应用处理器

内置10 bit高精度ADC

内置TCP/IP协议栈

内置TR开关、balun、LNA、功率放大器和匹配网络

内置PLL、稳压器和电源管理组件

支持天线分集

STBC、1x1 MIMO、2x1 MIMO

A-MPDU、A-MSDU的聚合和0.4 s的保护间隔

WiFi @ 2.4 GHz,支持 WPA/WPA2 安全模式

支持STA/AP/STA+AP工作模式

支持Smart Config功能(包括Android和iOS设备)

SDIO 2.0、(H) SPI、UART、I2C、I2S、IR Remote Control、PWM、GPIO

深度睡眠保持电流为10 uA,关断电流小于5 uA

2 ms之内唤醒、连接并传递数据包

802.11b模式下+20 dBm的输出功率

待机状态消耗功率小于1.0 mW (DTIM3)

工作温度范围:-40°C - 125°C

通过 FCC, CE, TELEC, WiFi Alliance 及 SRRC 认证

3 系统具体实现

3.1 心率模块的使用

SON7015是一款低功耗的心率传感器,采用光电式容积描记(PPG)的方式感应人体的心跳信息并加以提取,得到的心率波形送至运动心率算法ICSON3130,在OUT2管脚输出矩形脉冲,以供ESP8266进行脉冲采集,在采集时要注意LED灯的闪烁,如果闪烁正常便可以进行采集了,闪烁太快或者太慢,一定要调试好之后再进行采集,以保证采集的数据的准确性。心率传感器模块如图3所示。

3.2 服务器的创建

使用SocketTool进行TCP Sever的创建,并监听8080的端口号,以备客户端进行连接,电脑和ESP8266模块要连接到同一个局域网,实现服务器对客户端的数据接收以及对客户端进行控制。服务器创建好以后如图4所示。

3.3 ESP8266的使用

进行需要连接WIFI以及访问的服务器的IP的配置,进行串口参数以及中断的初始化,并进行网络的连接。进行服务器指令的接收,再使用GPIO4进行脉冲的采集,并进行数据的处理,使测量的心率更加接近标准的值,并把测量到的心率通过网络上传到服务器。当ESP8266接收到服务器发送的指令“a”时,发送“roger that”,经过20秒的测量后,发送所测量到的心率的数据。收到的心跳数据如图5所示。

3.4 程序设计

1) 网络参数配置,串口初始化,中断初始化。

2) WIFI连接,并检测是否连接到网络。

3) 并从网络中读取数据,并对定时和中断记录脉冲时需要用到的变量进行处理。

4) 定时功能,进行一段时间的定时,以便于心率的计算,定时、数据处理完成后进行数据的上传,在数据上传的时候,电脑只能接收字符类型的数据,所以要用itoa函数进行数据类型的转换,才能在服务器上正确的显示数据。

5) 中断服务程序,进行脉冲数量的采集。

4 总结

本文介绍一种基于Arduino的ESP8266网络控制心率测量系统,并对该系统的各部分功能设计方法进行了详细介绍。通过搭配ESP8266WIFI网络通信模块实现服务器对客户端进行控制,并接收客户端采集的心率数据进行显示。该项目代码可移植性较强,设计成本低,功能可扩展。经过试验证明,系统运行正常,能够直观地显示采集到的心率数据。该系统作为物联网的一个典型应用,可以在健康生活、关爱老人生命安全等领域广泛使用。

参考文献:

[1] 周聪聪,涂春龙,高云,等. 腕戴式低功耗无线心率监测装置的研制[J].浙江大学学报(工学版).2015(4):789-805.

[2] 吴振宇,李华龙,李航.基于蓝牙4.0和GSM的无线心率监测儀设计[J].计算机测量与控制.2015(2):664-667.

[3] 李战胜,万叶丽.基于CC2430的智能心率器的设计[J].电子制作.2015(17):69-70.

[4] 蒙卓玮.心电监护仪电压与心率报警发生时间的测量不确定度评定[J].科技风.2011(15):128-129.

[5] 郝乐,李哲英,蒋昊.心率信号的采集与处理[J].微计算机信息.2007 (32):152-154.

[6] 范兴隆.ESP8266在智能家居监控系统中的应用[J]. 单片机与嵌入式系统应用.2016(09):52-56.

[7] 曹振民,陈年生,等.基于ESP8266的无线控制电路设计[J].工业控制计算机 .2017(1):68-69.

【通联编辑:梁书】

猜你喜欢

网络心率
心率多少才健康
离心率
离心率相关问题
探索圆锥曲线离心率的求解
离心率求解探秘
计算机网络管理技术探析
刍议计算机网络信息化管理
油气集输系统信息化发展形势展望
基于网络的信息资源组织与评价现状及发展趋势研究
基于网络的中学阅读指导