智能家居项目(基于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
相关文章
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (四)
- 阿里云服务器部署项目后台运行(入门)
- ABP源码分析一:整体项目结构及目录
- 【C/C++学院】(28)项目实战HttpServer--源码
- spring+springMVC+mybatis的框架项目基础环境搭建
- 开发过程使用Tomcat Maven插件持续快捷部署Web项目
- Django 1.6 最佳实践: django项目的服务器自动化部署(转)
- 项目中处理android 6.0权限管理问题
- Microsoft Visual Studio与Firefly 一直提示加载项目,更新源码状态问题
- Atitit. 查找linux 项目源码位置
- 【项目实战】从0开始入门JDK源码 - ArrayList入门介绍
- Java项目练习:后台管理系统——管理员管理模块(附源码下载地址)
- 【单片机仿真项目】数码管(proteus原理图+keil代码)
- Python实现哈里斯鹰优化算法(HHO)优化Catboost分类模型(CatBoostClassifier算法)项目实战
- 【项目实战】Python基于Django框架实现校园网上一站式购物系统
- iOS项目开发实战——使用同步请求获取网页源码
- VS统计项目源码行数
- 计算机毕设项目 40个高质量SSM+VUE毕设项目分享【源码+论文】(六)
- 毕业设计 40个SSM+VUE毕设项目分享【源码+论文】(三)
- 毕设项目 Spring Boot大学生兼职发布管理系统(含源码+论文)
- WebStorm 打开多个项目的方法
- eclipse在maven项目交付svn忽略简介
- 爬虫日记(74):Scrapy项目配置参数源码分析
- 使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)
- 企业级Android音视频开发学习路线+项目实战+源码解析(WebRTC Native 源码、X264源码、FFmpeg、Opus源码.....)
- 【项目实战】32G的电脑启动IDEA一个后端服务要2min,谁忍的了?
- 深度学习项目:图片数据建模流程:猫狗分类,83.6%识别率【附完整源码】
- 深度学习项目:搭建第一个卷积网络之手写数字识别【附完整源码】
- Django小项目+源码+详解