按照前面的教程演示,如果想要给esp8266模块联网,可以使用AT指令加上SSID和密码即可以让模块连接到无线网络上。

        但是对于一个投向了市场的产品而言,消费者购买了你的一个可以联网的智能产品,当他们想要使用的时候总不能让消费者也使用AT指令这样的方式去连网,这是不现实的。所以,面对这种情况,是要能够提供更加便捷操作的方式让用户进行连网配置的,比如利用手机,PC电脑之类的终端。

        目前常见的用于wifi的配网方式有AP配网和SmartConfig智能配网两种方式。它们的原理分别如下:

1、AP 模式配网

        AP 模式配网是要让esp8266处于AP热点的模式,可以组建一个局域网。手机连接这个esp8266产生的热点,然后手机上通过配置软件输入需要连接的无线网络的SSID和密码,然后发送到esp8266模块,esp8266收到SSID和密码之后,就去连接指定的热点,连接成功之后再转换工作模式。

        AP 模式的操作可以参见如下的示意图:

        假如esp8266产生的热点wifi名称为ESP8266_wifi,无线路由器的wifi名称为“TP_WIFI”,如下:

esp8266如何和手机连接python esp8266如何与手机连接_固件

简单的示意图如下:

esp8266如何和手机连接python esp8266如何与手机连接_无线路由器_02

2、SmartConfig 智能配网

        SmartConfig配网方式是相较于AP配网来说操作更加简单的一种配网方式。

        SmartConfig配网的流程大致为:ESP8266处于STA模式下,手机连接上ESP8266将要连接的无线路由器的wifi,手机上打开配网用的APP,输入SSID和密码之后,通过无线路由器广播或者组播无线路由器的wifi信息到esp8266模块,esp8266模块收到广播的信息,解析出连接无线路由器的SSID和密码并接入到wifi,成功接入后esp8266转为正常的工作模式,即完成了配网的过程。

        简单的过程示意如下:

esp8266如何和手机连接python esp8266如何与手机连接_固件_03

3、ESP8266的配网

        ESP8266的配网目前用的最多也最简单的操作是用乐鑫的ESP-Touch或者微信AirKiss实现。

        由于我手上只有一块NodeMcu开发板,没有做其他的外接配置操作,所以就用AT指令+配网工具的方式进行演示如何配网。

3.1、ESP-Touch 配网(AT指令)

(1)连接硬件,确保硬件的连接没有错误。

(2)输入AT固件。如果原本就有相应的AT固件的话就不用刷了,如果没有就需要先刷入固件。固件的话可以选择乐鑫官方提供的AT固件,比如:

AT固件汇总 | 安信可科技

用这个即可:

esp8266如何和手机连接python esp8266如何与手机连接_微信_04

(3)烧录固件

烧录固件可以到乐鑫上去下载,如下:

工具 | 乐鑫科技

esp8266如何和手机连接python esp8266如何与手机连接_无线路由器_05

(4)固件烧录完成之后,就可以开始进行配网了。

输入如下的AT指令,让ESP8266模块处于STA模式,指令如下:

AT+CWMODE=1
AT+CWSTARTSMART=3

注意:上面的指令是为了做演示用的,实际的产品中是要通过其他的方式完成这些设置的,比如使用按钮、触摸屏之类的。

(5)打开ESP-Touch配网工具,输入需要连接的WIFI的用户名和密码,输入完成之后点击确认等待配网完成。

ESP-Touch APP下载链接:App | 乐鑫科技

esp8266如何和手机连接python esp8266如何与手机连接_固件_06

ESP-Touch 输入界面如下:

esp8266如何和手机连接python esp8266如何与手机连接_固件_07

 

(6)连接成功之后的示意图如下:

esp8266如何和手机连接python esp8266如何与手机连接_微信_08

 

ESP8266 模块通过串口返回的调试信息如下:

esp8266如何和手机连接python esp8266如何与手机连接_微信_09

到这一步ESP-Touch的配网就完成了。

(7)配网完成之后需要退出配网的智能连接,使用指令如下:

AT+CWSTOPSMART    // 退出智能配网
AT+CIPSTATUS       // 查询网络连接状态

3.2、AIRKISS配网(AT指令)

(1)正确连接硬件。

(2)输入固件。参考ESP-Touch的刷固件。

固件刷好之后,输入指令进入到智能配置模式:

AT+CWMODE=1
AT+CWSTARTSMART=3

(3)微信上找到微信公众号“安信可科技”,进入并找到“应用开发”里面的“微信配网”,并进入。如下图:

esp8266如何和手机连接python esp8266如何与手机连接_微信_10

(4)手机连接上需要让esp8266接入的无线路由器的wifi,在微信airkiss上输入密码,然后进行配置。如下示意图:

esp8266如何和手机连接python esp8266如何与手机连接_无线路由器_11

完成之后的示意图如下:

esp8266如何和手机连接python esp8266如何与手机连接_物联网_12

esp8266模块返回的信息如下:

esp8266如何和手机连接python esp8266如何与手机连接_物联网_13

(5)完成之后退出智能配网模式。如下指令:

AT+CWSTOPSMART    // 退出智能配网
AT+CIPSTATUS       // 查询网络连接状态