基于STM32单片机的OneNet物联网云平台血压心率体温摔倒检测系统

0、毕业设计选题原则说明(重点)

  • 选题之前,同学们要弄明白一件事情,做毕业设计是干什么用的!
  • 这里我告诉大家,毕业设计对于你来说,不是让你去搞研究,掌握运用所学知识的,也不是让你去比谁做的毕业设计多么牛逼,多么厉害。
  • 说白点,它的作用就是一个,让你顺利毕业,能够拿到学位证,毕业证而已!!!
  • 当你明白这一点后,作毕业设计的要求就是在满足老师的要求后,越简单越好,这样不但容易去做,而且你自己也容易去理解,掌握,同样也能花最少的钱!!!
  • 满足老师的要求,这个没办法,毕竟他是决定你是否能通过答辩的人。
  • 每年都有很多同学找到我的时候,后悔当初为什么要把功能写的那么复杂,后悔没有提前找我咨询一下!所以在这里提醒同学们,提交开题报告之前一定要多想想,不要自己随便写一堆提交上去!!!
  • 毕业设计、开题报告等可以找我咨询,我可以给大家一些建议
  • 点击此处即可咨询

1、项目简介

  • 系统构成:本设计由STM32单片机电路+ADXL345加速度传感器电路+按键电路+蜂鸣器报警电路+ 温度检测电路+oled显示电路+wifi电路+mkb0805心率血压检测电路+电源电路组成。

1.1、系统功能

  • 功能介绍:
    • 1、监护系统一旦倾角传感器检测到角度变化即摔倒,蜂鸣器报警,并且将报警信息通过WIFI模块上传给中国移动物联网云平台。
    • 2、监护系统可以测量人体的温度、血压、心率,并将测量结果显示在OLED液晶显示屏与中国移动物联网云平台上。
    • 3、舒张压正常范围通常是60-90毫米汞柱,收缩压通常在90-140毫米汞柱,心率是在60-100次每分钟左右,当检测结果超出以上范围会进行蜂鸣器报警并将报警信息上传给中国移动物联网云平台。
    • 4、通过按键可以设置温度的报警阈值,当温度超过设置的报警阈值时,使用蜂鸣器进行报警,并将报警结果上传给中国移动物联网云平台。

1.2、演示视频

2、部分电路设计

2.1、STM32单片机核心板电路设计

  • ‌基于 ARM Cortex-M3内核的STM32F1系列单片机属于主流STM32单片机,其中增强型STM32F103子系列单片机的CPU 主频高达72MHz,片内Flash容量高达1MB,芯片引脚数量多达144个,有 QFN、LQFP、CSP、BGA 等多种芯片封装形式,并具有多种片内外设、USB接口和CAN 接口。根据STM32F103单片机片内Flash容量的不同,ST 公司将其分为小容量(16-32KB)、中等容量(64-128KB)、大容量(256KB-1MB)3种。
  • 电源电路:为单片机提供稳定的工作电压,通常采用3.3V电源供电。电源电路的设计要保证单片机在不同工作条件下都能获得稳定的电压输出,以确保单片机的正常工作。
  • 晶振电路:提供单片机工作所需的时钟信号。晶振电路通过晶振和电容组成,为单片机提供稳定的工作脉冲,确保单片机的定时和同步需求。
  • 复位电路:实现单片机的复位功能,类似于电脑的重启。复位电路通过电容和电阻的配合,实现单片机在上电启动时的自动复位,以及通过手动按键实现复位功能,保证单片机在程序跑飞或异常情况下能够重新开始执行程序。

STM32单片机是一种功能强大、易于使用、灵活且可靠的32位微控制器,基于ARM Cortex™-M内核。其主要功能特点包括:

  • 高性能和低功耗‌:STM32系列单片机提供多种内核选择,如Cortex-M0、Cortex-M3、Cortex-M4等,满足不同应用场景对性能的需求,同时保持低功耗特性。‌
  • 多种通信和外设接口‌:STM32单片机具备广泛的通信和外设接口,如I2C、SPI、USART、USB等,便于开发者实现各种复杂功能。‌
  • 易于开发和调试‌:STM32单片机提供了丰富的软件和硬件工具,如HAL库、CubeMX等,帮助开发者快速创建和调试嵌入式系统。
  • 高集成度和设计灵活性‌:STM32系列单片机全系列产品共用大部分引脚、软件和外设,优异的兼容性为开发人员带来最大的设计灵活性

单片机最小系统原理图如下图所示:

实物图:

2.2、ESP8266 WIFI电路设计

  • ESP8266 是一个非常强大的 WIFI 模块,可以利用串口与单片机进行通讯,从而编程实现控制ESP8266。利用 ESP8266 可以访问一些 API,获取天气信息或者完成网络授时,也可以连接云平台进行开发。不过因为是串口传输,速度较慢,不能用来传输图像、视频这些大容量的数据,但是传些传感器数据还是绰绰有余的。

  • 本系统用到的是 ESP-01S,使用该模块连接中国移动物联网云平台

  • 其具体电路原理图如下图所示:

  • 实物图如下:

2.3、MKB0805血压心率检测电路设计

  • 该心率血压监测方案主要由1 颗 YK1801 脉搏传感器芯片、1 颗 HR6707 脉搏芯片 、1 颗 HR6816增益芯片 和 1 颗 SFB9712 算法芯片组成。
  • 脉搏传感器芯片采用光电式容积脉搏波描记( PPG )的方式感应人体的 脉搏信息并加以提取,通过模拟 端芯片 HR607+HR6816 和算法芯片 SFB9712 输出血压、心率等串口信号。
  • 该心率血压监测方案可实现功能:心率血压采集计算、脉搏波和心电波形输出、人体佩戴状态识别、人体体表温度监测(选装)、 HR V PNN50 (选装)、 血压跟踪监测等人体健康指标。
  • 血压方案原理:主要通过PPG 特征认知、跟踪对比监测用户的血压变化趋势。
  • 其具体电路原理图如下图所示:

2.4、ADXL345摔倒检测电路设计

  • 本设计选择倾角传感器ADXL345模块实时检测相关的状态信息。ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位),测量范围达± 16g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。ADXL345非常适合移动设备应用。
  • 它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率(3.9mg/LSB),能够测量不到1.0°的倾斜角度变化。该器件提供多种特殊检测功能。活动和非活动检测功能通过比较任意轴上的加速度与用户设置的阈值来检测有无运动发生。

其具体电路原理图如下图所示:

实物图:

2.5、DS18B20温度采集电路

  • DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。
  • DS18B20温度传感器可编程的分辨率为9~12位,温度转换为12位数字格式最大值为750毫秒,用户可定义的非易失性温度报警设置,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统。试验证明DS18B20温度传感器满足本设计要求。
  • DS18B20温度传感器封装一般有2种,使用上都是一样的。可以根据使用环境随意选择。第一种是直接是裸露的芯片,主要用于空气温度检测。第2种是不锈钢钢管封装好的,防水,一般用于水温灯液体温度检测。

实物图如下:

其具体电路原理图如下图所示:

3、单片机代码展示

3.1、OLED初始化

static void OLED_I2C_Configuration(void)
{
	I2C_InitTypeDef  I2C_InitStructure;
	GPIO_InitTypeDef  GPIO_InitStructure; 

	RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

	/*STM32F103C8T6芯片的硬件I2C: PB6 -- SCL; PB7 -- SDA */
	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_6 | GPIO_Pin_7;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;//I2C必须开漏输出
	GPIO_Init(GPIOB, &GPIO_InitStructure);

	I2C_DeInit(I2C1);//使用I2C1
	I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
	I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
	I2C_InitStructure.I2C_OwnAddress1 = 0x30;//主机的I2C地址,随便写的
	I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
	I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
	I2C_InitStructure.I2C_ClockSpeed = 400000;//400K

	I2C_Cmd(I2C1, ENABLE);
	I2C_Init(I2C1, &I2C_InitStructure);
}

3.2、ESP8266 WIFI模块初始化

void ESP8266_Init(void)
{
	
	GPIO_InitTypeDef GPIO_Initure;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

	//ESP8266复位引脚
	GPIO_Initure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Initure.GPIO_Pin = GPIO_Pin_1;					//GPIOC14-复位
	GPIO_Initure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_Initure);
	
	GPIO_WriteBit(GPIOA, GPIO_Pin_1, Bit_RESET);
	delay_ms(250);
	GPIO_WriteBit(GPIOA, GPIO_Pin_1, Bit_SET);
	delay_ms(500);
	
	ESP8266_Clear();
	
	UsartPrintf(USART_DEBUG, "1. AT\r\n");
	while(ESP8266_SendCmd("AT\r\n", "OK"))
		delay_ms(500);
	
	UsartPrintf(USART_DEBUG, "2. CWMODE\r\n");
	while(ESP8266_SendCmd("AT+CWMODE=1\r\n", "OK"))
		delay_ms(500);
	
	UsartPrintf(USART_DEBUG, "3. AT+CWDHCP\r\n");
	while(ESP8266_SendCmd("AT+CWDHCP=1,1\r\n", "OK"))
		delay_ms(500);
	
	UsartPrintf(USART_DEBUG, "4. CWJAP\r\n");
	while(ESP8266_SendCmd(ESP8266_WIFI_INFO, "GOT IP"))
		delay_ms(500);
	
	UsartPrintf(USART_DEBUG, "5. ESP8266 Init OK\r\n");
	
}

3.3、向OneNET云平台发送数据

void OneNet_SendData(void)
{
	
	MQTT_PACKET_STRUCTURE mqttPacket = {NULL, 0, 0, 0};												//协议包
	
	char buf[ONENET_SEND_BUF_SIZE];
	
	short body_len = 0, i = 0;
	
	UsartPrintf(USART_DEBUG, "Tips:	OneNet_SendData-MQTT\r\n");
	
	memset(buf, 0, sizeof(buf));
	
	body_len = OneNet_FillBuf(buf);																	//获取当前需要发送的数据流的总长度
	
	if(body_len)
	{
		if(MQTT_PacketSaveData(PROID, DEVICE_NAME, body_len, NULL, &mqttPacket) == 0)				//封包
		{
			for(; i < body_len; i++)
				mqttPacket._data[mqttPacket._len++] = buf[i];
			
			ESP8266_SendData(mqttPacket._data, mqttPacket._len);									//上传数据到平台
			UsartPrintf(USART_DEBUG, "Send %d Bytes\r\n", mqttPacket._len);
			
			MQTT_DeleteBuffer(&mqttPacket);															//删包
		}
		else
			UsartPrintf(USART_DEBUG, "WARN:	EDP_NewBuffer Failed\r\n");
	}
	
}
### 回答1: 基于STM32的二维码识别OneNet物联网云仓库系统是我毕业设计的主题。 本系统使用STM32开发板和相应的模块,结合OneNet物联网平台,实现对仓库中商品的二维码识别和管理。系统的设计包括硬件部分和软件部分。 硬件方面,我选择使用STM32开发板作为主控制器,配合摄像头模块进行图像采集。通过串口或者USB接口连接OneNet物联网平台,实现数据的传输。此外,我还会加入一些传感器模块,如温湿度传感器,用于监测仓库环境。 软件方面,我将使用C语言编程,基于HAL库来驱动STM32开发板和相应的模块。通过摄像头模块获取仓库中商品的二维码信息,然后通过串口或者USB将数据发送给OneNet物联网平台进行识别和存储。同时,我还会设计一个用户界面,方便用户查看仓库中商品的信息和状态。 系统的工作流程如下:摄像头模块不断扫描仓库中的二维码,将识别到的信息发送给STM32开发板;STM32开发板通过串口或者USB将数据发送给OneNet物联网平台;OneNet物联网平台接收到数据后,进行二维码识别和存储;用户可以通过用户界面访问OneNet物联网平台,查看仓库中商品的信息和状态。 这个系统的应用前景广阔。以二维码为识别标识,可以提高仓库商品的管理效率。同时,结合物联网平台,可以实现远程监控和管理仓库。 ### 回答2: 基于STM32的二维码识别OneNet物联网云仓库系统是一种利用STM32单片机实现的毕业设计项目。该系统旨在通过扫描二维码进行物联网设备的识别和管理,并将实时数据上传至OneNet物联网云平台。 在该系统中,通过STM32单片机与二维码识别模块的结合,能够快速高效地读取二维码上的信息。通过扫描二维码后,STM32将获取到的数据通过串口或网络模块上传给OneNet物联网云平台物联网云仓库系统的核心功能包括设备识别和管理。在设备识别方面,系统能够通过扫描二维码获取设备的唯一标识符,并通过OneNet平台获取该设备的详细信息。同时,系统还能够实现设备的状态监测和报警功能,提高仓库管理的效率和安全性。 在设备管理方面,系统能够实时监测设备的工作状态和数据变化,并将数据上传至OneNet平台。通过OneNet平台的数据分析功能,可以对设备进行远程控制和管理。同时,系统还支持对设备的扩展和管理,方便后续的仓库扩大或设备更换。 基于STM32的二维码识别OneNet物联网云仓库系统具有简洁的硬件结构和高效的数据传输能力。它可以实现仓库设备的智能管理和监控,提高仓库管理的效率和质量。 ### 回答3: 基于STM32的二维码识别OneNet物联网云仓库系统将利用STM32微控制器和二维码技术来实现物联网云仓库管理系统。这个系统的核心目标是实现仓库中商品的自动记录、管理和查询,并通过OneNet平台实现数据的实时监控和远程控制。 系统的硬件部分主要由STM32微控制器、二维码扫描模块、电机驱动模块和传感器模块等组成。首先,二维码扫描模块将负责将商品的二维码进行扫描并解析出商品的相关信息。接着,STM32微控制器将通过串口将解析出的信息传输到OneNet平台上。 软件部分主要由STM32的嵌入式程序、OneNet平台的云服务以及PC端的管理软件构成。STM32的嵌入式程序将负责二维码扫描模块的控制、数据的处理和上传。一旦商品被扫描,系统会将商品的信息发送到OneNet平台上,并根据实时数据更新仓库的商品存储情况。同时,OneNet平台会提供实时的仓库数据监控和查询功能,以便用户能够在PC端进行即时的掌控和管理。 通过基于STM32的二维码识别OneNet物联网云仓库系统,用户可以实现对仓库中商品的远程监控和管理,无需直接接触商品,提高了仓库的管理效率和准确性。此外,通过实时的云数据传输,仓库的存储和发货信息可以实时同步,降低了人工差错的风险。同时,系统还具备可扩展性,可以根据需求进行各种功能的扩展,如温湿度传感器的接入、库存预警等。整体上,这个系统极大地简化了仓库管理的流程,提高了效率,为用户提供了更好的使用体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式基地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值