图3 STA模式示意图
3)混合模式
了解了前两个概念,AP混合STA模式就不难理解了,就是既可以连接到其它的WiFi热点,也可以让别的无线终端连接,这两个过程能同时进行,如图4所示。
图4 混合模式示意图
1.3 ESP8266的AT指令每个ESP8266模块出厂之前一般都有刷好的固件,正是因为内置了这样的固件,开发者就可以很方便的通过指令对ESP8266进行配置,而这些指令格式都以“AT”开头(Attention的缩写),所以称之为AT指令。
乐鑫官方的AT指令有将近百条,但常用的就十几条,理解起来也非常简单,表1列举的几条指令,是我们接下来编程实践中要用到的。通过这些指令,便可以一步一步的配置ESP8266接入WiFi热点和连接云平台服务器。更多AT指令可以查阅官方的《ESP8266 AT指令集手册》。
表1 本章用到的AT指令
总结AT指令的构成就是,每条指令要以AT开始,后面跟要查询(读)或者要设置(写)的参数,例如查询WiFi模式对应的指令为 AT CWMODE?,设置WiFi模式为AT CWMODE=?。另外,还有一点需要特别注意,每条指令都要以回车换行符结尾,从C语言字符串的角度来说,就是要在待发送的内容后面追加\r\n,即十六进制的0x0D 0x0A。
二、ESP8266开发实践准备ESP8266作为物联网无线通信模块集成化、低代码化、低成本化的典型代表,在应用上其实门槛并不高。了解了入网所需的几条AT指令,再结合STM32串口编程的基础,就可以进行开发实践了。下面就针对我们开发板所涉及的软硬件,进行以下准备工作。
2.1 拟解决的问题我们先来看硬件层面需要解决的问题,图5展示了开发板连接物联网云平台所涉及的关键硬件,这里我们只关注与ESP8266“对话”的接口。从图中可以看出,ESP8266通过串口2与STM32“对话”,而我们通过串口1与STM32“对话”。因此,硬件上就是通过这两个串口,配置开发板上的ESP8266入网并连接云平台服务器。
图5 开发板连接云平台示意
再来看软件层面,那就是“对话”的规则和内容了,我们想让ESP8266做什么事情,就通过串口助手给它发送对应的AT指令,做完它还会“汇报”结果,如图6所示。