STM32+ESP8266模块连接阿里云(附源代码)

一、模块介绍

ESP8266 系列无线模块是安信可科技自主研发设计的一系列高性价比WiFiSOC 模组。该系列模块支持标准的IEEE802.11 b/g/n 协议,内置完整的TCP/IP协议栈。用户可以使用该系列模块为现有的设备添加联网功能,也可以构建独立的网络控制器。

官方资料链接:ESP8266系列模组专题 | 安信可科技

二、硬件介绍和典型应用

三、工作模式

ATK-ESP8266 模块支持 STA、AP、STA+AP 三种工作模式。

STA 模式: ESP8266 模块通过路由器连接互联网(如阿里云、腾讯云),手机或电脑通过互联网实现对设备的远程控制。

AP 模式:默认模式 ATK_ESP8266 模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制。

STA+AP 模式:两种模式的共存模式,(STA 模式)即可以通过路由器连接到互联网,并通过互联网控制设备;(AP 模式)也可作为 wifi 热点,其他 wifi设备连接到模块。这样实现局域网和广域网的无缝切换,方便操作。

四、烧录AT 固件

1.为什么要烧录AT固件

我们可以使用AT指令,控制esp8266模块的工作状态(包括控制运行模式)、设置esp8266模块的参数。在此之前,要确保模块运行的软件(固件)是不是我们要的版本。版本有很多,可以查看官网:AT固件汇总 | 安信可科技。根据不同的需要,烧录对应版本的AT固件。

这里我们的模块使用的固件是:

2.烧录AT固件步骤

1)使设备进入下载模式

GPIO0 管脚下拉时,设备进入下载模式

2) 下载烧录软件

烧录软件下载:工具 | 乐鑫科技

3)打开烧录软件

4)下载配置

填入需要烧录的 bin 文件,和对应的烧录地址,勾选 bin 文件前面的复选框,并根据自己实际需求填入 SPI SPEED、SPI MODE、COM 及BAUD。

注意:

  • 选择对应flash大小的固件版本——小编1M的flash选择:Ai-Thinker_ESP8266_DOUT_8Mbit_v1.5.4.1-a_20171130.bin(8Mbit=8M)
  • 波特率小点错误率没那么高,但是下载速度会慢

5)点击 START 开始下载

下载前GPIO0接地,重新上电。下载过程中,下载工具会读取 flash 的信息和芯片的MAC 地址。

6)下载完成

五、TCP Client 单连接透传

方便您理解esp8266连接服务器,下面列举了TCP Client 单连接透传的AT指令。AT指令和更多的连接模式,请参考官方文档。

注意:

  • AT指令必须以"\r\n"结尾
  • 连接WiFi频率2.4GHz
  • 连接WIFI后再次使用ESP8266无法连接WIFI时,重新插拔接入3.3V的ESP8266电源线和EN线,芯片恢复正常且能正常连接WIFI。(也可能wifi模块不合格)

1.连接WIFI

2.连接服务器

连接上wifi有网络后,连接服务器示例:

AT+CIPSTART="TCP","192.168.3.116",8080 //protocol, server IP and port

3.使能透传模式

AT+CIPMODE=1

4.发送数据

AT+CIPSEND

>指令后面的数据,会一次发送出去
  • 注意:
  • 发送数据时,如果输入的字节数超过了了设置长度(n):
  • 系统将提示 busy,并发送数据的前 n 个字节,发送完成后响应 SEND OK。
  • 超出长度的部分数据被认为是无效数据,不不被接受。

5.退出发送数据

在透传发送数据过程中,若识别到单独的⼀一包数据 “+++”,则退出透传发送。

如果使⽤用键盘打字输⼊入 “+++” ,可能耗时太⻓长,不不被认为是连续的三个 “+”,建议使

之后,请⾄至少间隔 1 秒,再发下⼀一条 AT 指令。

6.退出透传模式

AT+CIPMODE=0

7.断开 TCP 连接

AT+CIPCLOSE

六、阿里云连接

接下来使用STM32与esp8266,AT+MCU方式接入阿里云物联网平台。

1.物联网平台创建设备

1)注册登录实名认证后打开控制台

2)打开物联网平台

3)开通公共实例

4)创建产品 

5)添加设备

6)添加物模型

2.硬件连接

本文章代码模板使用的MCU型号是STM32F103C8T6,TXD----->PA2, RXD------->PA3.

3.代码配置

1)修改堆栈

代码需要比较大的堆栈。需要修改默认的堆栈大小,确保有足够的运行空间。

2)修改配置文件

配置文件esp8266_conf.h

a.硬件连接配置

b.其它的接口

c.wifi连接

注意:WIFI频段2.4GHz

d.在阿里云平台的设备信息中,打开MQTT连接参数

e.根据连接参数,修改代码配置

f.在阿里云平台的设备信息中,查看三元组

g.根据三元组,修改代码配置

4.设备成功连上阿里云

5.修改设备上传到阿里云的属性(数据)

不知道怎么设置物模型属性,请看到前文 添加物模型 部分

6.处理阿里云下发的属性

代码工程下载:https://download.csdn.net/download/qq_44906777/89317053icon-default.png?t=N7T8https://download.csdn.net/download/qq_44906777/89317053

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

键盘又敲坏了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值