学习物联网这一块大家首先想到的是ESP8266,这个模块可以连网就是连接你家中的路由器,也可以作为一个热点来让你的手机连接它,是不是很奇妙。虽然这个东西程序和相关的产品已经很成熟,但是还是有一些入门的小伙伴不知道咋学。如何用一个ESP8266加上STM32单片机做一个小产品呢?这个学习的路线是怎样的呢还有如何入门呢?
AT指令控制 ESP8266 模组
乐鑫官方的 AT 指令有将近 100 条,但常用的就十几条,理解起来也非常简单,现在举例一些常用指令,并使用这些指令一步一步的通过 TCP 连接到远程的服务器实现收发数据,更多 AT 指令可以查阅《ESP8266 AT 指令集手册》。
总结 AT 指令的构成就是,每条指令要以 AT 开始,后面跟要查询(读)或者要设置(写)的参数,例如查询 WIFI 模式对应的指令为 AT+CWMODE?,设置 WIFI 模式为AT+CWMODE=3。另外要求的回车换行符结尾是说要在待发送的数据后面追加\r\n,即十六进制的 0x0D 0x0A。
设置AP模式及AP参数(AT+CWMODE ,AT+CWSAP_DEF)
WIFI 模式有两种,一种叫 AP 模式,一种叫 Station 模式,AP 就是我们平时所说的热点,如 WIFI 路由器,开了热点的手机,或者是公共热点等,这些 AP 设备可以允许其他设备(如手机,笔记本电脑等)输入热点名和密码(也可不设置密码)后接入,Station 则是前面说的连接 AP 的设备,如:手机,笔记本电脑等,ESP8266 还有第三种模式:AP+Station,即:将 AP 和 Station 的功能合二为一,但是应用的场景不多,这里不做展示。当 ESP8266 设置为 AP 模式时,其他设备可以接入该热点,最多支持 4 台 Station 设备接入。AP 模式也是 ESP8266 默认的模式。设置 ESP8266 流程如下:
1.首先发送AT+CWMODE?查询模块当前处于哪一种模式
AT+CWMODE=2也就是热点模式。
2.然后我们发送AT+CWMODE=2,让模块处于热点模式下,同时我们的电脑上也会显示热点名称。
3.我们现在自定义设置我们ESP8266的热点名和密码,来看看我们电脑能不能连接我们所设置的好的ESP8266模块。
- 1、设置WIFI模式为AP模式,也就是充当热点模式(AT+CWMODE=2) 另: AT+CWMODE=1 为 Station 模式,AT+CWMODE=3 位 AP+Station 模式
- 2、设置AP热点属性(AT+CWSAP=AT+CWSAP_DEF="ESP8266-XSD","12345678",5,3)
其含义为:热点名为ESP8266-XSD,密码为12345678,使用通道5,加密方式为 WPA2_PSK,这里的通道对应的就是不同的射频频率,如果同一空间内存在相同通道的 WIFI 信号,将会产生干扰,影响上网质量,因此可以设置通道来避免这种干扰,常用的通道有 1、6、11,因为这三个通道互不产生干扰。
连接数量可以限制 Station 设备的接入数量,广播或者不广播 SSID 就是指是否隐藏热点名,使热点更加安全。另外AT+CWSAP=AT+CWSAP_DEF表示设置的参数会存储的 flash,还有另外一个类似指令 AT+CWSAP=AT+CWSAP_ CUR,该条指令表示设置的参数重启后失效,即不保存到 flash 中。其他的 AT 指令也有类似的后缀。
设置为Station 模式(AT +CWMODE=1,AT +CWJAP)
该模式是平时应用最多的模式,因为物联网设备需要连接到家中路由才可以接入外网,此时设备就作为 Station 连接到 AP 热点。设置 Station 并连接 AP 流程如下:
1.设置 WIFI 模式为 Station(AT+CWMODE=1)
2.连接到家中路由器(AT+CWJAP="liuyao","liuyao1001")
这时候我们进入家中的路由器就能看到我们的ESP8266模块连接到了家中的路由器。如果想要断开连接,可以使用AT+CWQAP,就可以断开ESP8266与路由器的连接。