STM32单片机采集数据并上云

该实验使用STM32F103C8T6开发板连接DHT11传感器获取温湿度数据,通过ESP8266将数据上传到云服务器。在STM32CubeMX中创建HAL库工程模板,配置GPIO、RCC、串口等,接着在Keil5上进行开发,编写代码并编译下载,最终通过串口助手验证数据上传成功。
摘要由CSDN通过智能技术生成

STM32单片机采集数据并上云

一、实验目的及要求

利用STM32单片机连接DHT11温湿度传感器测出温湿度数据,并通过Esp8266模块把数据上传到云服务器中。

二、实验软硬件环境

1、硬件
STM32F103C8T6开发板、DHT11温湿度传感器、ESP8266
2、软件
MDK5(Keil5)、STM32CudeMx
3、接线
DHT11 STM32
data — 》 PG9
vcc — 》 5V
GND — 》 GND

三、实验过程

3.1用STM32CudeMx工具创建HAL库工程模板

(1)打开STM32CudeMX,创建工程
在这里插入图片描述
(2)添加相应的开发板,如 STM32F103C8T6
在这里插入图片描述
(3)点击【Categories】→【System Core 】→【GPIO】,对GPIO进行具体配置
在这里插入图片描述
(4)点击【RCC】,进行外部时钟配置
在这里插入图片描述
(5)点击【SYS】,添加在线调试功能(适用于Jlink,stlink)
在这里插入图片描述
(6)添加串口外设(选择串口模式(异步/同步/半双工)),方便调试输出至上位机
①点击USATR1(串口1);
②设置MODE为异步通信(Asynchronous);
③基础参数:波特率为115200 Bits/s。传输数据长度为8 Bit。奇偶检验无,停止位1 接收和发送都使能;
④GPIO引脚设置 USART1_RX/USART_TX;
⑤NVIC Settings 一栏使能接收中断。
在这里插入图片描述
(7)进行STM32F103C8T6的时钟配置
在这里插入图片描述
(8)建立工程
①在主界面上点击【Project】→【settings】进入设置界面
在这里插入图片描述
②设置输出文件
在这里插入图片描述
③生成工程
点击GENERATE CODE生成工程。
在这里插入图片描述
(9)到此一个基于HAL库的工程模板就建好了,在项目的保存路径下可以看见刚刚创建的工程,其内容如下图所示。
在这里插入图片描述

3.2使用Keil5在HAL工程模板的基础上进行开发

(1)点击工程目录下的MDK-ARM文件夹,用keil5(MDK5)打开.uvprojx文件,如下图所示;
在这里插入图片描述
(2)点击option,然后进行主频配置,修改为8.0或者12.0,然后进行编译
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)在keil5上面创建SYSTEM和HARDWAVE两个文件夹
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(4)把刚刚在MDK5创建的库文件(SYSTEM文件夹和HARDWAVE文件夹)复制到工程目录下
在这里插入图片描述
(5)把SYSTEM文件夹和HARDWAVE文件夹里的文件添加到工程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(6)配置头文件(SYSTEM文件夹和HARDWAVE文件夹里的文件)路径
在这里插入图片描述
在这里插入图片描述
(7)编程开发
编写程序,如main.c、uart.c、uart.h等文件。
main.c

#include "main.h"
#include "usart.h"
#include "gpio.h"
#include "stdio.h"
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "dht11.h"


void SystemClock_Config(void);

int main(void)
{
   
  u8 t=0;			     
	u8 temperature;  	    
	u8 humidity; 
  int times;
  HAL_Init();
 
  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
	delay_init(168);               	           	
  SystemClock_Config();
	DHT11_Init();

  /* USER CODE
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值