zl程序教程

您现在的位置是:首页 >  其他

当前栏目

智能家居项目(基于HAL库开发附源码)

项目源码开发 基于 智能家居 HAL
2023-09-11 14:18:27 时间


前言

感谢百问网老师的授课,非常推荐各位伙伴学习嵌入式上百问网
有明星老师韦东山老师的亲自授课!!!

需求分析

通过微信小程序:百问网嵌入式物联网,来控制STM32F103_MIN开发板上的LED,同时通过控制开发板上的按键Key来控制微信小程序的按钮状态(局域网内)

在这里插入图片描述

开发板:STM32F103_MIN

实物图

在这里插入图片描述

原理图

在这里插入图片描述

CubeMX环境搭建

GPIO设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中断设置

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述最后生成代码,使用Keil打开就行。

代码分析

系统时钟配置

在这里插入图片描述

GPIO引脚初始化

在这里插入图片描述

USART1初始化

在这里插入图片描述

USART2初始化

在这里插入图片描述

NVIC初始化

在这里插入图片描述

功能代码编写

按键功能的完善

这里我们需要实现的是当按键按下,我们就通过esp8266发送消息给微信小程序,小程序收到消息以后在控制界面的门铃改变背景颜色。
首先第一步,我们实现用户按键KEY的中断功能。
在这里插入图片描述

主函数中我们调用get_keyValue()函数来获取flag的状态值,当按键按下,就产生一次中断,我们就发送数据。

USART1串口打印功能

重构printf函数

在这里插入图片描述添加即可,注意修改串口的参数是huart1

添加输入wifi账号和密码功能

这里,大家可以放在后面优化的时候再来添加

USART2串口的数据发送和接收

在这里插入图片描述

USART2向ESP8266进行数据的发送和接收

在这里插入图片描述

获取ESP8266的IP

在这里插入图片描述

优化IP显示函数

在这里插入图片描述

发送UDP数据

在这里插入图片描述

优化,串口输入wifi的账号和密码

在这里插入图片描述

在这里插入图片描述

主函数的编写

在这里插入图片描述

在这里插入图片描述

运行结果

在这里插入图片描述

源码网址

百度网盘
题目码:stm3