lys2005 发表于 2016-1-6 23:53:14

Arduino连接ESP8266串口WIFI超详细入门教程

本帖最后由 lys2005 于 2016-1-7 19:02 编辑

      最近在某宝上买了块ESP8266串口WIFI,这个模块相当便宜。今天测试了一下,把测试过程放出来一起学习。
   入门级的,相当简单,但我在论坛找了下只有一个相关的贴子,也不太细,我就再做细一点吧!高手略过。

ESP8266串口WIFI模块12元左右。
如图:

一、必备硬件条件:
1.      模块一个
2.      USB_TLL串口线一个
3.      3.3V(300毫安)电源一个(这个我用Arduino R3板子上的3.3V代替)
如图:
   
ESP8266串口WIFI


                        USB_TLL串口线

二、必备软件:
1.网络调试助手

2.串口调试工具


三、硬件连接
接下图把把硬件连接好:



说明:USB转TTL转换器上有四根线,定义如下:线序定义红+5V, 黑GND, 白RXD,绿TXD
按上图的接法把四根线插入到模块上,模块上有两个3.3V的接口,需要接,中间这个3.3V可以接到Arduino的3.3V输出。这样就OK了。

四、在“我的电脑”右键,“属性”,点开“硬件”选项卡,找到“设备管理器”,点开后看”端口(COM和LPT)” ,查看一下我们的USB-To-Serial Comm Port 后面括号里对应的是COM6或是多少,这个就是我们的模块的接口号了,记住一会用到这个号。
如图:


现在开始进入调试阶段:
1.      运行串口调试工具sscom4.2
串器号选择我们刚刚看到的这个端口,我的是COM6,波特率:115200,勾选“发送新行”复选框。如下图:

然后点“打开串口”,上面的窗口出现一堆乱码,先不用管它:点一下右边的“清除”按扭可以清屏。

在这个软件的下面输入:AT+RST 点“发送”。
这时上面的窗口显示如下:
————————————————分割线————————————————
AT+RST

OK

ets Jan8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x40100000, len 816, room 16
tail 0
chksum 0x8d
load 0x3ffe8000, len 788, room 8
tail 12
chksum 0xcf
ho 0 tail 12 room 4
load 0x3ffe8314, len 288, room 12
tail 4
chksum 0xcf
csum 0xcf

2nd boot version : 1.2
SPI Speed      : 40MHz
SPI Mode       : QIO
SPI Flash Size : 4Mbit
jump to run user1

Ai-ThinkerTechnology Co. Ltd.
Invalid
———————————————分割线————————————这条命令是让模块重启动一下。只要能显示上面的信息,说明重启动成功。如果没有任反映,请把中间的这个3.3V的线重拔插一下再试。注意,我测试时出现模块不工作这个情况,只要重拨插中间的这个3.3V一次,就可以正常,目前不知什么原因,希望大家 反馈。
1.      接着输入: AT+CWMODE=3显示:———————————————分割线———————————AT+CWMODE=3OK———————————————分割线———————————以上这句是把模块设置为softAP+station 共存模式注:模块一共有三种工作模式(1).Station第一种是客户端模式(2).AP   第二种是接入点模式(3).Station+AP第三种是两种模式共存。     执行完上面的命令,我们的模块就工作在第三种模式下了。现在它即是一个无线AP,又是一个无线客户端。    当然,要让它生效还必须重启一下模块。直接拔插边上的3.3V电源,就能重启,也可以用第一步中的命令重启。现在我们可以在手机或笔记电脑上看到多出一个网络信号如图:
3.

(1).      我们先测试客户端模式:输入:AT+CWJAP="SSID的信号名","密码"如我的是:AT+CWJAP="Laoli","lrh13888"这时上面显示:———————————————分割线———————————
AT+CWJAP="Laoli","lrh13888"OK———————————————分割线———————————这说明已经连接到我们的路无线路由器了。进入下步,下一步我们的思路是在我们用来调试的这台电脑上建立一个TCP服务器,然后用我们刚刚连接到路由器的ESP8266模块连接到我们建立的这个TCP服务器上,然后在这个模块与服务器之间转输数据。
(2).      接着输入:AT+CIFSR 这个命令是查看我们模块的IP地址情况,上面反回如下信息:———————————————分割线———————————AT+CIFSR+CIFSR:APIP,"192.168.4.1"+CIFSR:APMAC,"1a:fe:34:fa:b8:25"+CIFSR:STAIP,"192.168.1.107"+CIFSR:STAMAC,"18:fe:34:fa:b8:25"
OK———————————————分割线———————————       这里有两个IP地址,因为我们的模块之前我们设置成了AP和客户端两种模式的原因。上面的APIP是作为无线AP的IP地址。下面的STAIP是它作为客户端从路由器获取到的IP 地址。好,我们开始建立本机的TCP服务器,用到的工具是网络助手NetAssist.exe,运行后在网络协议类型:TCP Server ,然后点“连接”按扭。



好,现在本机已经成为一台TCP服务器了。我们的模块前面已正常连接到了路由器,现在我们把模块连接到刚刚建立的这台TCP服务器上。在串口工具中输入:AT+CIPSTART="TCP","192.168.1.100",8080返回:———————————————分割线———————————
AT+CIPSTART="TCP","192.168.1.100",8080CONNECTOK———————————————分割线———————————说明已正常连接到了我们的服务器,进入下一步发送接收数据的测试。1.      在串口工具中输入:AT+CIPSEND=4意思是发送四个字节的数据。反回———————————————分割线———————————AT+CIPSEND=4OK> ———————————————分割线———————————再输入:ABCD



这时,我们的网络助手显示:【Receive from 192.168.1.107 :20618】:03 08 41 42 41 42 43 44 41 42 43 44它接收到了ABCD这四个字母,但它以十六进制的形式显示出来了。如图



   然后我们把网络助手的“连接对象”选择成我们的模块IP地址,在下面输入:CDEFG,点发送,这时看看我们的串口工具中显示了什么?显示如下:+IPD,5:CDEFG   这一行的意思是接收到的数据长度为5个字节,CDEFG为数据内容。好的,到这里,发送接收就讲完了。

下面是设置成其它模式,请自行测试:单连接server1) 设置wifi模式: AT+CWMODE=3//设置为softAP+station共存模式响应:OK2) 重启生效 AT+RST响应:OK3) 建立server AT+CIPSERVER=1       //默认端口333响应:OK4) PC连入设备softAP,PC 作client连接设备。 注意,ESP8266 作为server有超时机制,如果连接建立后,一段时间内无数据来往,server 会将client踢掉。请在PC工具连上ESP8266后建立一个2s 的循环数据发送,用于保持连接。8 / 8Espressif Systems June 27, 2014 5) 发送数据AT+CIPSEND=4   //发送四个字节,字节数可按需任定>iopd         // 输入要发送的四个字节内容,无需回车。响应:SEND OK注意,若发送的字节数目超过了指令设定的长度n,则会响应busy,并发送数据的前n个字节,完成后响应
SEND
OK。
6) 接收数据 +IPD,n:xxxxxxxxxx//接收到的数据长度为n个字节,xxxxx为数据内容_�ml� P� ;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin'>地址,
      因为我们的模块之前我们设置成了AP和客户端两种模式的原因。上面的APIP是作为无线AP的IP地址。下面的STAIP是它作为客户端从路由器获取到的IP 地址。
    好,我们开始建立本机的TCP服务器,用到的工具是网络助手NetAssist.exe,运行后在网络协议类型:TCP Server ,然后点“连接”按扭。

lys2005 发表于 2016-1-7 00:12:24

:lol图片好像有点乱:lol

jueluohong 发表于 2016-1-7 08:20:37

支持,刚刚想上论坛询问8266的事情,结果就看到你的教程了,之前按照坛子里的教程,打开串口监视窗口总是见不到反馈数据,烦得要死~~~~我再按照你的试下,谢啦:lol

kagetang 发表于 2016-1-7 11:52:08

这个必须支持

lovezypj 发表于 2016-1-9 22:02:41

请问下支持http协议吗?比如 访问一个url

lys2005 发表于 2016-1-11 19:51:23

lovezypj 发表于 2016-1-9 22:02 static/image/common/back.gif
请问下支持http协议吗?比如 访问一个url

最近有点忙,有时间测试一下

正在途中 发表于 2016-1-15 21:59:21

感谢楼主分享。我用的是CP2102,USB转TTL模块测试了一下新买的ESP8266,也可以用。
在配置模式前,使用命令AT+RST,会让串口调试工具一起退出,需重新选COM口,再打开串口连接才行。配置模式后就没有这现象了。

zjbdiy 发表于 2016-1-15 22:53:16

https://item.taobao.com/item.htm?spm=686.1000925.0.0.aLkZDK&id=520087024866

爱上即可 发表于 2016-1-18 08:19:54

帖子已经很详细了请问LZ可以把整个的实物接线图发一份吗?[email protected]谢谢

wetnt 发表于 2016-1-18 11:16:53

自己推广一个自己的应用:甲醛测试仪+ESP8266+LeWeihttp://www.geek-workshop.com/thread-25291-1-1.html

rick_hou 发表于 2016-2-27 11:36:06

去官网上下载最新的使用手册,可以看到完整的配置方法和使用方法,建议大家使用2016年或者2015年底的ESP8266,更新了固件之后功能和稳定性变得非常好,我从2015年下半年开始使用8266做数据采集,室内室外使用了一段时间,稳定性不错,外置天线版本ESP-07的通讯距离大约在150米到200米。

sxmwhl 发表于 2016-2-27 11:53:53

教程很详细,使用透传模式连接贝壳物联http://www.bigiot.net,实时上报数据,动态监控数据,应该不错。:lol

best900 发表于 2016-3-17 16:34:39

这个必须支持

司鵼 发表于 2016-3-20 14:05:21

额。。手机怎么连接,有什么推荐的软件吗?

蓝莓先生 发表于 2016-3-23 10:44:02

不错,有点用处
页: [1] 2 3
查看完整版本: Arduino连接ESP8266串口WIFI超详细入门教程