1、模块介绍

ESP8266系列模组是安信可科技有限公司开发的一系列基于乐鑫ESP8266芯片的模组。可以方便地进行二次开发,接入云端服务。更多的详情可以访问安信可官网,里面有更多详细的介绍。

1b47afeb20809f5634ac306c20171fe8.jpg

2、管脚介绍

  • Vcc:3.3V电源供电

  • Gnd:接地

  • RX:  串口数据接收管脚

  • TX: 串口数据发送管脚

  • IO0:低电平:下载模式。高电平:正常模式。

当给wifi模块下载固件时,需要给wifi模块的IO0管脚一个低电平。才能正常的给wifi模块进行固件下载。

图片1-mjxh.png

3、模块系列

ESP8266系列模组下有很多的型号,常见的有ESP-01、ESP-01S、ESP-12S等等。我们系统使用的型号是ESP-01S。不同的型号在传输距离、Flash大小等方面不同,根据需求选择合适的型号即可。

图片2-tcwd.png

4、开发模式

固件:其实就是wifi模块的程序,里面集成了一些网络的协议栈等。只有wifi模块中有固件程序,我们发送给wifi的AT指令模块才能正确的识别和处理。目前有很多的固件,但其本质都是在官方的AT固件做一些修改和删减,最核心的AT指令功能都是相同的。

AT指令开发方式: ESP8266芯片烧入好固件,封装好WiFi的协议栈,内部已经实现透传。我们只需要通过串口给ESP8266发送相应的AT指令就可以控制模块进行不同的操作。

  • AT+CWDHCP_DEF=0,0              保存设置为 AP 模式,后面的参数 0 为关闭 DHCP,可设置静态IP。

  • AT+CIPAP_DEF="192.168.5.109","192.168.5.1","255.255.255.0"         设置静态 IP 地址并保存

  • AT+CIFSR                                   查看模组 MAC 地址和 IP 地址

图片3-rxrr.png

SDK模式开发:ESP8266本身即是可编程的芯片,可以把它视为一个带有无线通信的单片机,而用户需要在专门的IDE中编写对应的程序。ESP8266官方的sdk有两种,一种是带操作系统的版本,一种是没有操作系统的版本。分别为ESP8266_RTOS_SDK和ESP8266 Non-OS SDK,其中使用操作系统的版本使用的是开源的freeRTOS。

图片4-jbea.png

我们系统中使用的AT指令开发方式,给wifi模块下载对应的固件程序,然后wifi模块通过串口与STM32单片机的串口相连接。STM32可以通过串口给wifi模块发送相应的指令,wifi模块接收到指令后会执行相关的操作。

图片5-vngi.png

5、编程思路

  • 首先需要给wifi模块下载对应的AT固件,一般wifi模块出场时就会烧录好一个出场固件,满足大部分的需求。如果需要连接机智云、腾讯云平台等,需要烧录单独的固件程序。

  • 配置单片机的串口功能,通过STM32单片机的串口发送相关的数据给wifi模块执行相应的操作。