(献给正在学习路上的兄弟姐妹们)
对于ESP8266模块好多刚接触的朋友们第一感觉就是价格的确很便宜,然而初次接触它时你也许会对它束手无策,因为关于怎样使用它,官方给出的资料很凌乱,我刚接触时就无从下手。(说明一点本人也是小白)
好了废话少说,咱们言归正传。ESP8266这个模块有一个 32bit MCU,这就是说你可以不接外部MUC,直接使用模块自带的MCU就可以完成对模块的控制。当然这么一款高大上模块肯定也可以外接一块MCU进行控制。
下面说一下两种方法的优缺点。第一种方法的优点就是节约了一块MCU的钱,缺点是开发者要使用一到两个星期去学习模块自带的MCU的变成方法。第二种方法的优点是开发者可以直接使用自己熟悉的MCU对模块进行控制(比如8051STM32等)。缺点是要外接一块MCU,这样就加大了开发成本。我个人的观点是对于一些小的家用产品(比如插座、电灯等)可以使用模块自带的MCU。而对于空调、电视机、电饭煲等这些家用电器,因其本身的硬件系统已经很成熟,而且其内部已经有自身的MCU,所以可以直接使用内部的MCU对其控制。
对于ESP8266模块我们购买的时候可能会看到两种,一种是有八个引脚的,另一种是引脚全输出的。如下图:
对于引脚全输出的是用其自带的MCU进行开发设计,对于八引脚输出的是接外部MCU常用的方式。
下面我将介绍外接MCU的方式控制模块。(MCU选用8051单片机)
新买来的模块是没有固件的,所以要刷入固件才能对其进行相应的控制,我们采用AT方式来控制模块,所以要刷入相应的AT固件才行。(具体的刷固件教程网上都有,我在这里就不作介绍了)
(1) 设置模块为ST模式:发送:AT+CWMODE=1;返回:OK
(2) 查看当前WiFi列表:AT+CWLAP返回: OK
(3) 加入当前无线网络:发送命令:AT+CWJAP=”MERSAIN”,”XXXXXXXX”
第一个填你想要连接的WiFi名称,第二个填WiFi的密码
(5)查看当前模块IP地址:发送: AT+CWLIF返回:当前IP地址
(6)开启多连接模式 :发送命令:AT+CIPMUX=1返回:OK
(6)建服务器 发送命令:AT+CIPSERVER=1,8080(设置指令)
指令:AT+CIPSERVER=
说明:
RX:模块串口通信的接收引脚,接到单片机的TX引脚。
GPIO0:默认情况下不接线,在刷固件时要接低电平。
GPIO2:悬空
GND:接地
TX:模块的发射端,接单片机的RX接口。
CH_PD:接高电平。
RST:低电平复位,默认悬空。
VCC:接3.3V的高电平。
注:模块与5V单片机通信时候,I/O口要接2K的电阻。
ESP8266三种模式:
一、AP模式就是模块作为普通的路由器,可以发射出WiFi信号。
二、ST模式就是模块接入家里的路由器
三、AP+ST
这里我只介绍ST 模式:
将模块与USB转串口模块接好,插上电脑的USB接口,打开串口助手。模块默认的波特率为115200。
1. 建立STA
(1) 重启模块:发送命令:AT+RST;返回:OK
(1) 设置模块为ST模式:发送:AT+CWMODE=1;返回:OK
(2) 查看当前WiFi列表:AT+CWLAP返回: OK
(3) 加入当前无线网络:发送命令:AT+CWJAP=”MERSAIN”,”XXXXXXXX”
第一个填你想要连接的WiFi名称,第二个填WiFi的密码
(5)查看当前模块IP地址:发送: AT+CWLIF返回:当前IP地址
(6)开启多连接模式 :发送命令:AT+CIPMUX=1返回:OK
(6)建服务器 发送命令:AT+CIPSERVER=1,8080(设置指令)
指令:AT+CIPSERVER=
说明:
在手机上下载一个NEtassist软件。
注意:手机要和模块在同一个WiFi热点下。
打开软件,点击第一个:TCP Clinet
输入模块的IP;和你刚刚设置色端口号:8080,最后点击connect,就可成功连接模块了。
最后我上传我写的单片机程序。注:模块和单片机通信要使用9600波特率。
附上我自己焊接的控制系统,焊接技术差,将就着看吧单片机程序下载链接:链接:http://pan.baidu.com/s/1jI843wM 密码:xu2y