基于STM32开发板实现传感数据采集及wifi上云

一.前言
温度和湿度值是重要的物理参数,例如精密机械加工、实验室、温室大棚、粮库、重要活动场所、会议室、居住场所等都需要对温度和湿度进行实时采集和控制,因此设计温湿度采集系统具有重要意义。

一、实验目的
利用stm32对DHT11模块进行数据采集,将采集到的温湿度数据上云。

二.实验准备
1.硬件:STM32F407ZGT6、DHT11温湿度传感器、杜邦线等
2.软件:Keil5、STM32f407固件库、STM32CudeMx、STM32CudeMx的f407软件包
3.接线:
DHT11 STM32
data — 》 PG9
vcc — 》 5V
GND — 》 GND
三.实验过程
1、BSP工程项目创建

①打开STM32CudeMX

②点击创建工程

③搜索STM32F407ZGT6,双击黄色区域

④点击Categories——》System Core ——》GPIO,选择PF9和PF10,各自点击为GPIO_OutPut

⑤对GPIO进行具体配置

⑥配置RCC时钟

⑦配置系统时钟

⑧这里以串口1为例 我们可以选择串口的模式(异步,同步,半双工) 串口接收中断

a)点击USATR1
b)设置MODE为异步通信(Asynchronous)
c)基础参数:波特率为115200 Bits/s。传输数据长度为8 Bit。奇偶检验无,停止位1 接收和发送都使能
d)GPIO引脚设置 USART1_RX/USART_TX
e) NVIC Settings 一栏使能接收中断

⑨配置STM32F407ZGT6的时钟树,由于是外部8M的晶振,所以得出一下的时钟树

a)选择外部时钟HSE 8MHz
b)PLL锁相环倍频168倍
c)系统时钟来源选择为PLL
d)设置APB1分频器为 /4

⑩建立工程

2、BSP工程项目开发

(1)用keil5打开工程

(2)点击option(锤子),然后进行主频配置,修改为8.0或者12.0,然后重新打开该工程进行检查,最后进行编译。

(3)在keil5上面创建SYSTEM和HARDWAVE两个文件夹

(4)回到创建的test工程目录,添加这两个文件夹,复制库文件里面SYSTEM和HARDWAVE两个文件夹到test工程目录下。

(5)回到keil5里面,继续点击那个文件管理,然后根据对应的文件夹添加文件,一个都不要漏。

注:HARDWAVE也是这样添加工程文件进去。

(6)配置头文件路径,选择为第4步已经复制的两个文件夹(SYSTEM和HARDWAVE)

(7)编写代码

(8)检查配置,编译下载

(9)打开串口助手进行查看
四.实验代码
1.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 BEGIN SysInit */
 
  /* USER CODE END SysInit */
 
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  HAL_UART_Receive_IT(&huart1, (uint8_t *)aRxBuffer, RXBUFFERSIZE);
  while (1)
  {
   
			if(t%10==0)//?100ms????
		{
             
			DHT11_Read_Data(&temperature,&humidity);		
			printf("2018A14111 heweijing\r\n");
			printf("Tem:%d\r\n"
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值