前言
小伙伴们一定在为课设或毕设中的数据通信、远程监测和控制而发愁吧!今天我为大家详细的讲解一下,怎么利用 STM32和ESP8266实现与手机app的数据传输 。内容很详细,每一步都有图片,按着文章一步一步来都能成功。相关软件和网址放在了文章底部网盘中,想要的可以下载。
需要准备的器件:
必备器件:
STM32F103C8T6最小系统、ESP8266WIFI模块、CH340C固件下载烧录器、ST-LINK下载器
可选器件:
DHT11温湿度传感器、OLED显示屏、继电器、PCB板等
注意事项:
想要的小伙伴可以自行购买或主页加我V(避免买错),想要程序也可以加我哦!
相关软件和网址放在了文章底部网盘中,想要的可以下载。
1.App
1.1选用机智云。
浏览器搜索 机智云 ,然后进入官网,如下图。
1.2 开发者中心
1.3 注册登录
1.4 “+创建”
1.5 选择类型
点击 照明 ,再点击 球泡灯 ,然后点击 自定义方案 ,最后点击 灯。(这些操作只是先给APP选个模板而已,到时候功能可以不跟控灯功能相关)
1.6 设置产品信息
按照下图中红色框一样设置就行了(产品名称可以自己取),按图片操作完后,点击 创建。
1.7 编辑内容
1.7.1点击去编辑
1.7.2 填写内容
标识名:名字根据自己的想要的数据相关,要写清楚。后面机智云自动生成的单片机程序代码里表示窗开关的的变量名就是根据这个 标识名 生成的。
显示名称:APP上会显示的文字,比如我们填写“窗开关”,生成的APP上就会显示字“窗开关”按钮。
读写类型:看该功能实现方式,如果是读取数据,就用只读就可以;如果是控制开关,要选择可写类型。比如,实现窗的开关,就填可写。如果只是起显示数值作用属于只读,比如显示温度值等。
数据类型:窗的状态有“开”和“关”两种状态,所以数据类型是布尔值类型(也就是0和1)。如果读取数据就选择数值类型。
点击确定
1.8 虚拟设备
1.9 下载app
手机下载:机智云APP,APP去扫二维码即可看到我们自己制作的APP。
安装包和下载连接在文章最后的网盘里!!!
1.10 app界面
网页可以看数据
1.11 添加功能
1.12 添加数据采集
添加温度或湿度等
1.13 机智云app制作完成
2.ESP8266烧录
针对乐鑫ESP8266模块进行串口模式烧写流程
2.1 下载ESP8266固件
在机智云官网下载ESP8266固件到本地电脑上.
安装包和下载连接在文章最后的网盘里!!!
2.2 确认下载固件
下载到本地后,解压,得到以下文件,本文用到的ESP8266模块烧录的是下图的bin文件。
2.3 ESP8266接线
按照下图的连接方式,将ESP8266与USB转TTL模块连接好,(一般的USB转TTL模块只有4个引脚,但ESP8266烧录时,有7根引脚需要接线,所以ESP8266没法接到USB转TTL模块上的引脚,我们就把它们接到我们的STM32上。)线连接好后,将USB转TTL模块接如电脑的USB口,STM32也要保持供电。
建议去淘宝买个ESP8266固件下载器,就不用自己接线了,非常方便
建议咨询一下我,免得买错
2.4 烧录设备
以管理员的方式打开资料里提供的烧录工具
点击
2.5 烧录设置
选择正确的串口,当串口连接成功之后,点击如下图的“START”按钮
等待进度条出现完成即可。
3.代码移植
现在APP制作完毕,ESP8266固件也烧录好了,接下来就是进入编写STM32程序的环节。(需要我提供的代码模板,非常方便,各种毕设题目都可以在木板上修改)
3.1生成代码
点击MCU开发
输入账号密码
3.2复制文件
代码自动生成完毕后,下载下来,并解压后得到以下文件。
只需要用到 Gizwits文件夹 和 Utils文件夹 里的内容。
替换掉原有的文件
必须得有两个串口功能和实现1ms定时的定时器功能。(提供的代码中有)
打开代码
3.3 打开KEIL程序文件
在我提供的代码里,已经有两个串口和定时1s的定时器初始化函数。
3.4 修改程序
3.4.1 点击gizwits_product.c
3.4.2 注释掉HAL头文件
3.4.3 控制概念——修改窗户开或关
此处继电器连接PB8,因此需要控制PB8
3.3.4 数据监测——显示温度
3.4.5 替换
3.4.6 注释掉
3.4.7 替换
3.4.8 转到gizwits_product.h文件
将x换成0
填上温度变量
3.4.9 转到gizwits_protocol.c
3.5 编译完成
3.6 烧录完成实测
4 资料获取网址
我用夸克网盘分享了「机智云资料包」,点击链接即可保存。
打开「夸克APP」,链接:https://pan.quark.cn/s/9d8aa7472e84
提取码:FQwt
三连,主页+v获取程序。
评论记录:
回复评论: