欢迎光临
我们一直在努力

ESP8266-01无线模块兼容Arduino

Open-Live-Writer99dbc1c67383_14E1A082611n9347b2aw41b49d4_thumb

==产品概述==
ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi无线网络上,进行互联网或局域网通信,实现联网功能。ESP8266封装方式多样,天线可支持板载PCB天线,IPEX接口和邮票孔接口三种形式;ESP8266可广泛应用于智能电网、智能交通、智能家具、手持设备、工业控制等领域。
==规格参数==
*支持无线802.11 b/g/n 标准
*支持STA/AP/STA+AP 三种工作模式
*内置TCP/IP协议栈,支持多路TCP Client连接
*支持丰富的Socket AT指令
*支持UART/GPIO数据通信接口
*支持Smart Link 智能联网功能
*支持远程固件升级(OTA)
*内置32位MCU,可兼作应用处理器
*超低能耗,适合电池供电应用
*3.3V 单电源供电
==接口定义==

ESP82661

Open-Live-Writer99dbc1c67383_14E1A082611ty77d7r4mc91bb1m_thumb

==主要功能==
ESP8266可以实现的主要功能包括:串口透传,PWM 调控,GPIO控制。
*串口透传:数据传输,传输的可靠性好,最大的传输速率为:460800bps。
*PWM 调控:灯光调节,三色LED 调节,电机调速等。
*GPIO控制:控制开关,继电器等。
==工作模式==
ESP8266模块支持STA/AP/STA+AP 三种工作模式。
*STA 模式:ESP8266模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。
*AP 模式:ESP8266模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制。
*STA+AP 模式:两种模式的共存模式,即可以通过互联网控制可实现无缝切换,方便操作。
==应用领域==
#串口CH340 转Wi-Fi;
#工业透传DTU;
#Wi-Fi 远程监控/控制;
#玩具领域;
#色LED 控制;
#消防、安防智能一体化管理;
#智能卡终端,无线POS 机,Wi-Fi 摄像头,手持设备等。
==AiCloud==
#AiCloud为安信可科技(Ai-Thinker)推出的互联网云平台服务。用户可以在平台上对设备进行监控和管理,实现大数据管理和分析,使设备真正实现智能化。
#AiCloud可将打包全套的服务器解决方案,为客户省去成本,加快开发进度。
#AiCloud可接受客户的定制化需求,Web 页面配置,Android/iOS 平台App均可支持。
==使用方法==
===接线方法===
本次使用的是USB-TTL转接板进行配置(注:串口模式不推荐使用,就不放上来了。)
*VCC—-3.3
*GND–GND
*CH_PD–3.3
*GPIO0–GND(烧录固件时连接,不烧录时为空)
*RX–TX
*TX–RX
*注意:3.3V供电 要独立供电 不能直接用USB转串口板子上的
串口调试软件调整好参数,设备连接成功的话会出现一堆乱码和ready

Open-Live-Writer99dbc1c67383_14E1ATB2MlYLtXXXXXaIXpXXXXXXXXXX_14857792_thumb

按照上述连接好设备后,下面就可以进行AT设置。

 

==手机连接ESP8266无线模块(AP模式下AT指令设置及说明)==

将连接好的USB-TTL和ESP8266插在电脑上的USB端口上,随后打开电脑的设备管理器(WINDOWS控制面板—系统–管理—设备管理器)看到如下界面:

shebei1

接下来就可以打开串口调试软件SSCOM42,并按照图中的设置(文章下方的固件工具集里有),如下图:

chuankou1_副本

注:如您使用其他串口调试软件,须在填写好AT指令后,按下回车键,再点击发送按钮,否则无法发送!

按照图中的设置后,接下来就可以进行AT指令的设置。(建议手动输入AT指令,直接复制可能会导致格式错误,请不要在中文输入方式下输入AT指令)

第一步:发送AT+RST(执行指令)

指令:AT+RST

反馈:OK 

说明:刚上电可以不发送该指令,有些厂家生产的ESP8266模块,无法即时重启复位,导致串口无响应,如已发送,则重新开关串口按钮即可。

第二步:发送AT+CWMODE=3或AT+CWMODE=2(设置指令)

指令:AT+CWMODE=<MODE>

说明:<MODE>:1为Station模式,2为AP模式,3为Station兼AP模式

反馈:OK

image

说明:如死机,则发送AT+RST

第三步:发送AT+CWSAP=”zhongbest”,”12345678”,1,3(设置指令)

指令:AT+CWSAP=<ssid>,<pwd>,<chl>,<ecn>

说明:该指令只有在AP模式开启后有效

           <ssid>:字符串参数,ESP8266WIFI名字

           <pwd>:字符串参数,WIFI密码,最长64字节,ASCII

           <chl>:通信号,你的接入设备数量

           <ecn>:0为开放式,1-WEP,2-WPA-PSK,3-WPA2_PSK,—-就是跟你家设置无线路由器方法一样的,只是这里直接写在指令里。

反馈:OK

image

第四步:打开手机的无线网络,找到无线名称为“zhongbest”的WIFI信号,用手机连接,并输入您之前设置的WIFI密码。如下图:

A2F0A11A24F3C4FA72B9B5D1D6765C82

第五步:连接上ESP8266的WIFI后,在串口调试软件中发送AT+CWLIF(执行指令)

指令:AT+CWLIF

说明:查看已接入设备的IP地址,例如:手机、电脑等。

响应:<IP addr>

反馈: OK

image

说明:最好拿个笔记下来,不然老要忘。

如果反馈为:

image

说明:表示没有设备连接ESP8266的WIFI,您确实连接上了,可以重新发送指令,看是否有反馈IP地址。

第六步:发送AT+CIFSR(执行指令)

指令:AT+CIFSR

说明:查看ESP8266模块的IP地址

响应:<IP addr>

反馈:OK

image

第七步:发送AT+CIPMUX=1(设置指令)

指令:AT+CIPMUX=<mode>

说明:<mode>为连接模式,0为单路连接模式,1为多路连接模式

反馈:OK

image

查询方式:发送AT+CIPMUX?

响应:+CIPMUX:1

反馈:OK

image

说明:多路连接模式已经打开了。

第八步:发送AT+CIPSERVER=1,8080(设置指令)

指令:AT+CIPSERVER=<mode>[,<port>]

说明:<mode>,0为SERVER关闭模式,1位开启SERVER模式

          <port>,为端口号,缺省值为333

反馈:OK

image

第九步:安卓手机上安装网络调试软件(安卓应用市场里很多,这里放一个我用的):http://pan.baidu.com/s/1pKUktrP   (此外,苹果手机可以去下载个叫通讯调试器的软件,也可以进行设置,只不过只能以16进制数发送信息),安装好后,打开软件,选择tcp Client模式,看到如下图片:

619D9EC9BC0D0985FA8871D0753F1E9D

第十步:点击图中的增加按钮,进行IP地址和端口号的设置(之前查询ESP8266的IP及设置的端口号),输入完成后,点击增加,增加成功后自动连接,如下二张图:

8FF2931D4D8962CE7AB287CC91A28204

10DAE01BC3270EA1D4C4786FC6421604

第十一步:在网络调试软件的发送框内输入所要发送的内容,随后点击发送。如下图:

C0004C4E1D39DFCA1D883405A1F2BD1F

第十二步:电脑上查看你的串口调试软件,是否收到你从手机上发送的内容,如下图:

33520116165148919

==程序效果==

通过手机控制ESP8266,ESP8266相当于一个WIFI热点,接收其他设备发送的信息。

==注意事项==

1、手机如果锁屏后,就会断开连接,解锁后,软件会重新连接。

2、ESP8266模块存在寄存器,重新上电后,将手机连接ESP8266的WIFI后,其他指令无需再设置,需要重新发送AT+CIPMUX=1和AT+CIPSERVER=1,8080,就是说重新设置成多路连接模式和打开Server服务及设置端口。还有种就是把AT指令写进Arduino程序中。那就上电就触发了。(如要解决该问题,得刷ESP8266的自动透传固件,没有研究过,改天试一下- -#)。

3、发送指令不要太快,有时候一条接一条连续发会导致ESP8266反馈错误。

 

方法二:ESP8266串口连接方式

==使用方法==

ESP8266 和Arduino UNO:

VCC—-3.3v

GND—GND

CH_PD—3.3v(建议独立供电3.3V ,否则有可能因供电不足) 不要接5V!!!

TXD—–PIN3

RXD—–PIN2

==接线方式==

arduino esp8266

==例子程序==


#include <SoftwareSerial.h>

SoftwareSerial mySerial(3, 2); // RX, TX

void setup()
{
   // Open serial communications and wait for port to open:
   Serial.begin(115200);
   while (!Serial) {
     ; // wait for serial port to connect. Needed for Leonardo only
   }

   Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
   mySerial.begin(115200);
   mySerial.println("Hello, world?");
}

void loop() // run over and over
{
   if (mySerial.available())
     Serial.write(mySerial.read());
   if (Serial.available())
     mySerial.write(Serial.read());
}

==程序效果==

打开串口,设置波特率为115200(ESP8266模块默认115200,有的厂家的为9600波特率),串口显示:

Goodnight moon!
Hello, world?

ERROR

表示已经进入AT模式,如果只有Goodnight moon!,说明没有进入AT模式。

发送AT,反馈OK。

20161019173930

 

没有进行连接测试的,请自行设置AT指令后,将ESP8266和相应的设备进行连接。

==注意事项==

1、串口没反应的话,检查波特率是否正确,看下接线,TX和RX是否接反了。

2、CH_PD要输入一个高电平3.3V,有时候因供电不足会导致模块无反应。

3、示例程序建议不好擅自更改,会导致模块反馈错误。先将本示例做通后,再尝试其他程序。

4、关于ESP8266修改波特率的设置方法:AT指令为:AT+UART=9600,8,1,0,0

首先,  上电后打开串口,选择115200波特率  在串口发送AT   反馈 OK,  随后发送AT+UART=9600,8,1,0,0 ,返回OK   关闭串口,打开IDE,将程序里的波特率改为9600,重新上传程序,再打开串口,串口选择9600波特率,发送AT  反馈OK。   指令反馈ERROR说明没有设置成功或者指令格式错误!



==ESP8266-01无线模块刷固件说明==

1.准备材料:

  • 一台电脑

  • USB转串口(USART)模块。

  • ESP8266模块

  • 升级软件(本文最下方有下载)

  • 固件包(最好去芯片公司下载,本文最下方附固件,网上的很多都不能用的)

2、刷固件接线方式:

ESP8266USB_TTL_bb

UTXD—–RXD

URXD—–TXD

CH_PD—-3.3v

VCC——-3.3V

GND——GND

GPIO0—–GND

3、操作方法:

(1)连接好线路后,将USB-TTL插在电脑上,打开电脑的设备管理器并记录端口COM号。

20161202124738

(2)打开ESP8266一键烧录工具,目标串口自动识别(无法识别的,请手动设置)。

20161202124654

(3)点击ESP8266一键烧录工具的“配置”界面,看到第二栏//FLASH。

20161202124826

(4)点击第二栏//FLASH的小齿轮,只选取第二栏,更改为你的固件所在的位置并设置成0x00000。

20161202124941

(5)返回“操作”界面,点击”一键烧写“按钮。

20161202125039

(6)软件生成二维码,AP MAC  STA MAC后 ,自动进行烧录。

20161202125117

(7)等待烧录完成。固件就升级成功了。

20161202125504

(8)将ESP8266上的GPIO0端口的连接线去掉,重新上电ESP8266,打开串口调试工具,发送AT指令验证(AT或者AT+GMR)。

20161202125829

4、注意事项:

注意: 一键烧写后,ESP8266的固件将更改。

1.请将MTDO与GPIO0置于低电平,GPIO2置于高电平。
    如果你的模块没有MTDO,请至少将GPIO0置于低电平。
    GPIO0置于低电平是烧写模式,高电平是运行模式。
2.请复位(复位是指RST低电平脉冲)或重新上电进入烧写模式。
3.最好不要使用USB转TTL引出的电源,请使用独立电源(有可能供电不足)。
4.烧写成功后,请重新上电。模块波特率更改为9600或115200.
5.烧写中途失败后,请重新上电烧写,否则无法使用模块。

 

==相关下载==

ESP8266最新AT指令集(061229):http://pan.baidu.com/s/1slyDHrn

ESP8266无线模块:http://pan.baidu.com/s/1i4Uv6xJ

ESP8266固件工具集:http://pan.baidu.com/s/1eSDlIZg

ESP82661.5.4固件:http://pan.baidu.com/s/1dFgLsyd

未经允许不得转载:Arduino-Maker » ESP8266-01无线模块兼容Arduino

分享到:更多 ()

评论 2

评论前必须登录!

 

  1. #1

    这里好多资源啊啊

    a201577f05463个月前 (10-22)

中贝斯特线上商城

旗舰店企业店