ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于ESP32的智能家庭健康系统

2020-05-15 09:38:09  阅读:430  来源: 互联网

标签:基于 ESP8266 ESP32 穿戴 M5Stick 智能 传感器 数据


M5Stick-c
ESP8266

项目背景及概述:

项目最初的想法来源于当下疫情局势,每个人都关心自己及家人的健康状况。因此本产品旨在应用于人们居家隔离或复工复产过程中,对个人身体情况的实时监测。同时,为满足人们对于家庭的环境状况的了解与相关设备的智能控制,我们充分利用ESP32等设备与阿里云的数据交互,设计并完成了一款基于ESP32的智能家庭健康系统。

2.系统组成及功能说明:

2.1 整体介绍:

整个系统分为基于M5Stick-c的可穿戴部分,以及基于ESP8266(或ESP32),智能家居控制部分和云端数据处理及移动端应用部分(本项目可采用两块ESP32,而组委会刚好提供两块M5Stick-c,但为了团队合作和进度的需要,将其分给两位组员,考虑到成本因素,使得智能家居控制部分采用一块ESP8266完成)
系统框图如下:
在这里插入图片描述

开发环境我们选用的是 Arduino IDE,因为arduino开发方式具有资源丰富,例程完善自带串口调试器,使用方便的特点,同时支持众多传感器的驱动程序。

2.2可穿戴部分:

2.2.1身体健康监测

(1)心率血氧测试模块:采用MAX30102,是一种集成了脉搏血氧仪和心率监测仪的生物传感器 ,集成了一个红光LED,光电检测器,以及带环境光抑制的低噪声线路,可佩戴与耳垂,手指用于可穿戴设备心率血氧的检测。
(2)体温测试模块:通过对比非接触式人体红外温度传感器MLX90615和接触式体温检测传感器MAX30205,MAX30205温度传感器可高精度测量温度,提供过热报警/中断/关断输出。器件利用高分辨率模/数转换器(ADC)将温度测量值转换为数字形式。通过I2C兼容2线串行接口进行通信。
两块传感器通过一主多从的I2C协议与M5Stick-c相连。此处使用了Mini Proto Unit扩展了传感器采集电路。
2.2.2 数据可视化
通过M5Stick-c的屏幕显示各个传感器的数据信息。针对不同传感器,我们设计了5个数据可视化窗口,通过板子的Button_Home按键控制切换。
(1)Mode1:显示人体温度数据,设计“temperature ℃”,将云端读出的传感器实时数据显示在*处。
(2) Mode2:显示室内二氧化碳浓度。设计“CO2=ppm”字样。
(3) Mode3:显示人体心率、血氧数据。设计“Heart Rate=
/min”字样显示心率,“Blood Oxygen=
%”字样显示血氧含量。
(4) Mode4:显示室内湿度。设计“Humidity=**%”字样。
(5) Mode5:显示控制的电风扇和加湿器的开关状态。当电器打开时,对应页面显示ON,关闭时显示OFF。

2.2.3 M5Stick-c屏幕显示和时钟设计

时钟的数据来源于M5Stick-c自带的时钟功能,利用millis ( )函数获取CPU的内置时间。在循环函数中,通过毫秒计数获得准确的时间递进值。当每通过1000毫秒时,变量ss加1,逢60在mm变量加1,mm逢60给变量hh加1,从而获得准确的时间变化量。
在时钟的页面设计上,采用传统表盘的形式。由于M5Stick-c是可穿戴设备,因此将其设计成表盘更能体现将物联网带入生活的感觉。初始化页面是外围的时钟边框和刻度盘,三个指针采用每秒刷新的形式控制走针。
根据不同传感器的功能,设计5个MODE,通过按键中断控制屏幕的切换。在屏幕切换时,用给button计数的方式选择页面,从而实现屏幕页面的循环播放。
在这里插入图片描述

2.3智能家居控制部分

2.3.1方案对比:

(1) 通过arduino和HC05经典蓝牙模块与M5Stick-c进行蓝牙数据透传完成数据交互,该方案具有可行性,我们也完成了相应的调试,但会ESP32同时进行WIFI和蓝牙的数据传输有时会将蓝牙连接打断,且当ESP32远离固定部分时,固定部分将无法正常工作。为此我们设计了方案二:
我们采用一块ESP8266(ESP32)作为该部分的控制芯片,连接家庭WIFI,与阿里云进行数据交互,将数据上传至阿里云,并通过阿里云的云产品流转的方式,将相应传感器数据下发至可穿戴部分,进行M2M(machine to machine)数据传输,完成可穿戴部分对家庭环境数据的获取。

2.3.2 室内温湿度及空气质量检测

(1)我们采用了CCS811气体传感器, CCS811将金属氧化物气体传感器和微控制器子系统集成在一起,从而使得智能手机、可穿戴设备和联网家用设备能够实现室内空气质量(Indoor Air Quality,IAQ)监测,主要测量室内空气中的二氧化碳浓度和室内有机气态物质TVOC浓度,设定相应阈值提醒用户开窗通风或采取换气措施.
(2)HDC1080 是一款具有集成温度传感器的数字湿度传感器,其能够以超低功耗提供出色的测量精度。利用该传感器完成对室内温湿度的测量。
二者同样通过一主多从的I2C方式与ESP8266(ESP32)相连,我们选用的模块集成了以上两种传感器,便于接线。

2.3.3 家用电器控制

通过对室内温室度的测量与数据的可视化,给与用户对于室内调节温室度的电器提供了使用建议,因此我们通过ESP8266(ESP32)的GPIO与两路5V继电器相配合,完成了对于一台家用小型加湿器和小型电风扇的智能控制,分为两种方式,(1)设定阈值,可自动调节电器开关,(2)可通过手机APP下发指令到ESP8266(ESP32)控制电器开关。
在这里插入图片描述

2.4 云端数据处理及移动端应用部分

2.4.1 云端数据处理

可穿戴部分和智能家居固定部分均通过wifi将数据上传至阿里云,在阿里云的IOT控制台配置好产品和设备以及相应的物模型,即可完成数据上报与数据下发。
云产品流转,通过阿里云提供的规则引擎,配置好云产品流转的SQL语句,即可完成M2M的数据传输。

2.4.2 移动端Android APP

我们利用了阿里云的IOT studio进行了Android APP的开发,完成移动端数据的可视化以及对电器的控制。
在这里插入图片描述
在这里插入图片描述

3.成果分析:

与预期方案相比,我们减少了心电检测部分,因为心电监测需要特制的生物电采集探头和导线,集成起来非常麻烦,增加了电器的控制,使传感器检测数据拥有硬件回应,同时改变了数据传递方式,通过云端云产品流转可以方便稳定的完成M2M的数据交互。
最终我们完成了具有可穿戴部分和智能家居控制部分并利用阿里云IOT平台的,基于ESP32的智能家庭健康系统,并完成了配套移动端Android APP开发,功能完善,作品完成度较高。
同时为了践行开源精神,我们将设计文档上传至CSDN,整个项目工程上传至GitHub,同时我们又撰写了四篇csdn文档,记录在项目开发过程中遇到的问题及解决方式,以便为他人提供参考。

标签:基于,ESP8266,ESP32,穿戴,M5Stick,智能,传感器,数据
来源: https://blog.csdn.net/qq_43064082/article/details/106084932

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有