• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

基于物联网感知的家居人体健康状况检测系统

人工智能 better_coder 1256次浏览 0个评论

整体框架

基于物联网感知的家居人体健康状况检测系统    

本系统的设计理念共分为三个层面,分别是感知层,传输层和应用层。以精确检测人体基本健康指标数据并记录为目的出发,本系统选择了HX711等一系列具有优质功能的芯片,在充分了解其工作原理并学习设计应用这些传感器后,获得了体重、高低血压、血氧、脉搏、体温和身高数据;在获得数据后,本系统选择了低功耗的STM32F103和STM32F407来进行数据的初步处理和传输,并通过ESP8266连接上路由器网关后用 MQTT协议(Message Queuing Telemetry Transport,消息队列遥测传输)将健康数据传输到EMQ(Erlang/Enterprise/Elastic MQTT Broker)服务器上,后端Python程序会从EMQ服务器对应主题中取出数据并对数据进行整合分析后存入数据库中,最后前端程序会将数据库中的数据渲染在PC端的网页上,而且有数据折现图能让用户清楚了解自己的身体状况变化情况。


物联网模型

感知层

手臂子系统

图片

  基于物联网感知的家居人体健康状况检测系统  

电路原理图

  基于物联网感知的家居人体健康状况检测系统  

数据处理

当手臂子系统上电开启之后,STM32F103进行初始化并开始主循环,主循环内先判断选择模式按钮是否按下。如果没有按下,则轮询UART1和UART2,接收温度模块以及血氧模块的数据进行处理并规整格式后通过UART1发送给ESP8266。如果判断到选择模式按钮按下,停止发送温度数据和血氧数,开始轮询UART3血压模块的数据进行处理并规整格式后通过UART1发送给ESP8266,当血压模块数据感知完毕并且由ESP8266通过路由器发送给EMQ服务器之后,重新开启UART1和UART2的轮询和数据发送。   基于物联网感知的家居人体健康状况检测系统  

手持子系统

图片

基于物联网感知的家居人体健康状况检测系统基于物联网感知的家居人体健康状况检测系统

电路原理图

  基于物联网感知的家居人体健康状况检测系统  

数据处理

因为整个系统的数据需要传输到后端数据库中,而数据入库需要ID索引,而且数据入库的时机也应该由用户来决定,因此手持子系统同样也需要一块ESP8266,将ID数据,write_enable(是否写入数据库标志位)和身高数据发送到服务器中,当后端python程序在EMQ服务器中取到身高和ID数据之后就将该数据写入程序里的字典中,当程序接收到的write_enable变量为1的时候将字典中的数据写入数据库中。工作流程图如下:

  基于物联网感知的家居人体健康状况检测系统  

体重子系统

图片

  基于物联网感知的家居人体健康状况检测系统  

电路原理图

  基于物联网感知的家居人体健康状况检测系统

数据处理

当体重子系统上电启动之后,STM32F103进行初始化并接收到初始毛皮重量,主循环内接受到新的体重数据减去初始毛皮重量,数据处理后通过UART1发送给ESP8266,由ESP8266通过路由器将数据发送至EMQ服务器。

  基于物联网感知的家居人体健康状况检测系统


传输层

本系统的ESP8266是通过本地路由器的方式来连接网络的,首先需要对ESP8266进行配网,具体操作流程是使用连上了网络的手机扫描配网二维码,然后ESP8266的配置程序就可以使ESP8266手机连上同一个网络了,至此完成了ESP8266的配网操作,完成了该操作之后,ESP8266就可以通过本地路由器连接上网络。完成ESP8266的网络配置之后,在mqtt_config.h头文件里面配置好EMQ服务器的地址以及三个子系统广播数据的主题,在user_main.c文件里面配置好串口接收的波特率9600之后,ESP8266就可以接收到各个子系统里面的主控发送给ESP8266的数据在EMQ服务器中进行广播了。基于物联网感知的家居人体健康状况检测系统基于物联网感知的家居人体健康状况检测系统

应用层

Python后端程序会不停的在PC后台运行,并对EMQ服务器中正在广播的数据进行一个获取。具体方案就是Python脚本先导入PyMySQL和paho.mqtt.client这2个关键的库,pymysql支持python的数据库操作,paho.mqtt.client支持python在EMQ服务器中捕捉相应主题下面广播的数据,在导入这2个包和一些必要的开发包之后在主函数里面开3个线程,分别在服务器的height_pub,weight_pub,lzhpub主题中获取感知层中各个ESP8266通过路由器发送的数据

  基于物联网感知的家居人体健康状况检测系统  

除了舒张压,收缩压,脉搏之外,其他的数据是一直在服务器中进行广播的,因此只要遇到手持子系统发送的write_enable为1时,python脚本就会将数据写入数据库中,而血压和脉搏模块则是在接收到数据时,python脚本就会将其写入数据库中,程序如下图示:

  基于物联网感知的家居人体健康状况检测系统  基于物联网感知的家居人体健康状况检测系统

web页面显示

本系统使用的数据库管理系统每隔1s将数据库中的数据渲染到PC端的web网页上。为了简化前端的操作,本系统在PC机上建立了本地数据库,前端会从本地数据库(localhost)中取出用户的身体健康数据并且渲染在前端页面上,并且该数据库管理系统还可以绘制相关数据的折线图。    基于物联网感知的家居人体健康状况检测系统基于物联网感知的家居人体健康状况检测系统

系统全家福

基于物联网感知的家居人体健康状况检测系统

附在最后

基于物联网感知的家居人体健康状况检测系统


                                               (づ ̄3 ̄)づ╭❤~一键三连,这次一定(๑•̀ㅂ•́)و✧

基于物联网感知的家居人体健康状况检测系统


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明基于物联网感知的家居人体健康状况检测系统
喜欢 (0)

您必须 登录 才能发表评论!

加载中……