IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32F103C8T6与ESP8266构建通信(二) -> 正文阅读

[嵌入式]STM32F103C8T6与ESP8266构建通信(二)

关于ESP8266是否要进行烧录固件的问题

昨晚确实给我整麻了,烧录个固件弄的焦头烂额的,本次实训所用的ESP8266其实可以不用进行烧录固件,但我都烧录ok了,那还是留下点东西来防止以后忘掉吧

首先是烧录软件

? ESP8266烧录软件? ?????????提取码为2471

接下来是有关ESP8266的标准固件,这个亲测没有问题? ? ? ?

?ESP8266的标准固件 ????????提取码为2471

下载完软件之后,是这个样子,一定不要选错参数,要不然真的很折磨?

点击OK后,弹出一个新的界面

?上面的参数一定不要弄错,一定要按照顺序。

接下来要做的就是配置硬件管脚的连接

我这里使用的是ESP8266-01S,所以EN管脚我可以不连接的,大家在烧录时候一定要注意产品型号,根据数据手册来决定管脚的连接

ESP8266USB转TTL
3V33V3
TXRXD
RXTXD
GPIO0GND
GNDGND

做完这些准备工作,就可以开始烧录了,我们点击start,上方的IDLE会变成重新上电,这时候,我们手动拔插一下GND或者3V3即可。

ESP8266与电脑的通信

????????在使用ESP8266直接与电脑进行通信时,我单纯的以为,只要有一个USB转TTL就可以了,但事实不是这样的,首先要注意的一点是,GPIO0只有在烧录的时候,才需要接地,在使用的时候,悬空即可,同时,我们还需要单独给ESP8266供电,也就是说,对于ESP8266-01S来说,3V3和GND都需要其他设备来供电,而且GND还必须跟USB转TTL的GND共地。老师一开始也觉得很麻烦,后来老师在模块间用电烙铁焊接了一个大电容,把VCC和GND接了起来,这样就不需要额外给模块供电了

?剩下的就是ESP8266与我们的STM32F103C8T6最小核心板的连接了

ESP8266STM32F103C8T6
3V33V3
GNDGND
TXPA3
RXPA2
RSTPC14

连接完之后,我们就可以让单片机向ESP8266发送指令,我们就可以接收到了

代码部分

这里的代码,我在Demo的基础上进行更改的,Demo地址如下:

链接:https://pan.baidu.com/s/1UmlpvyYogR2LDeLSDRrOPw?
提取码:2471

这里我只给大家强调一下需要更改的地方。

首先是ESP8266的相关代码,下面是两条宏定义,其中第一个宏定义是我们的ESP8266要对我们的wifi进行连接,我们这个格式一定不能错。大家如果需要修改的话,可以在第一个逗号前输入自己的wifi也可以是自己的手机热点,逗号后面大家可以放自己的密码。要注意的是,千万不要乱更改\,我相信有C语言基础的同学一定知道原理,这里我就不再赘述了

第二个宏定义呢是MQTT协议的一个格式,这里呢,其实是不需要进行更改的,如果大家没有用该协议,那么此处需要更改,其余的地方,我们不需要更改

#define ESP8266_WIFI_INFO		"AT+CWJAP=\"TP-LINK_970E\",\"sdkjdx312\"\r\n"

#define ESP8266_ONENET_INFO		"AT+CIPSTART=\"TCP\",\"183.230.40.39\",6002\r\n"

在onenet.c文件下,我们也要对三个宏定义进行更改

#define PROID		"530747"

#define AUTH_INFO	"5678"

#define DEVID		"962710140"

这里的三个宏定义分别是产品ID(注意,千万不要看成是用户ID)

在这里呢,我们就需要进入Onenet的官网了,在上面匹配下我们的信息了

OneNET - 中国移动物联网开放平台 (10086.cn)

如何在平台上配置自己的ESP8266设备

可以参考我的资源,链接我放在下面

ESP8266的准备工作,Onenet配置一个ESP8266设备-智能家居文档类资源-CSDN文库

产品ID如下

?鉴权信息

就是大家在申请的时候自己写的内容,千万不要写错,你写的是1234,那填的时候就是1234

设备ID

?做完这些更改后,我们的任务还没有结束

STM32F103C8T6更改系统频率

要想防止我们的串口出现乱码的现象,大家一定要给核心板更改系统频率

?大家可以看到,我们的核心板上的外接晶振是8MHZ的,而我们的程序里却是12MHZ的晶振。

大家可以在左侧的项目里找到system_stm32f10x.c文件,使用CTRL+G输入1056找到倍频,将RCC_CFGR_PLLMULL6改为RCC_CFGR_PLLMULL9;

在stm32f10x.h文件下,使用CTRL+G找到时钟,将12000000改为8000000;

然后再点开我们的魔法棒,将晶振频率12.0M改为8.0M

?到此为止,我们就完成了更改频率这一步

使用我们的ST-LINK将代码烧录进单片机,具体可以参考我的上一篇博客,点开我的个人主页即可

当一切准备妥当之后,这就是我们的串口助手所给我们展示的。

最终代码展示

大家可以下载下来参考一下。

stm32与esp8266上传的数据到ONENET代码展示-智能家居文档类资源-CSDN文库

从网站上监视数据

大家可以点开这个控制台,点击下面的切换旧版

?

?在这里,我们可以看见我们创建出来的产品

?点开其中一个产品,我们点击设备列表

?我们的产品是在线的,再点击数据流

?我们就可以看到我们的参数了

只不过这里我用每隔13秒左右让温度和湿度实现一次自加,来替代DHT11采集到的数据。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-06-26 17:01:57  更:2022-06-26 17:02:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:57:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码