如何用arduino来测试ESP8266 WIFI模块(wifi普及预热中)

ESP8266是一款非常廉价的WIFI串口解决方案模块,以目前的超低价格受到各方关注,本强最近也在给它开发arduino库,来方便大家使用,不过捏,我们也需要了解下他的AT指令的操作方法。

 
首先,ocrobot的ESP8266使用的指令集手册在这里:
http://www.ocrobot.com/doku.php?id=zh:ocrobot:modules:seed:at
大家可以参考,打印或者怎么地。反正到时候经常会用到

AT指令是串口通讯中常用的一种操作指令。大家应该都很熟悉,GPS、短信猫等硬件也都是这种方式来控制的。

我们今天简单讲解下如何让模块登陆网络,建立连接,并且发送数据。让我们能简单的驱动起来,用起来
模块购买连接:
http://item.taobao.com/item.htm? ... &id=40901823151
欢迎大家支持

首先,我估计大家都没有USB TO TTL 硬件,也不是所有的坛友都有mangoII,所以我今天就写个特别的arduino程序,让arduino变成一个串口转发器。
原理很简单。。从串口芯片到单片机和这个口是个并联关系。。然后usb 到这个IO口有1k电阻,我就启用了单片机的内上拉稍微平衡下阻抗,,就把arduino板子作为usb to ttl工具了。。嘿嘿

(本设置在mangoII板硬件环境下测试通过,不确定其他硬件是否可以使用,请自行尝试)

代码如下:

ARDUINO 代码复制打印

void setup() {  pinMode(0,INPUT_PULLUP);  pinMode(1,INPUT_PULLUP); } void loop() {  // put your main code here, to run repeatedly: }

因为程序很简单,我又偷懒就没写注释了。主要内容就是创建一个软串口,软串口接模块 ,然后让软串口的回显数据转发到硬件串口,硬件串口的输入数据转发到软串口。

下面来介绍下接线
                 3V3   ------------ VCC
ARDUINO   GND  ------------ GND   esp8266
                 IO1 ------------ TX
                 IO0 ------------ RX

注意,TX 是直接对应板子上的TX  RX 对应RX。,。原因自己思考下。
非常简单的接线,就是把我们的WIFI模块接到arduino的软串口上,需要注意的是,wifi模块是3.3V供电。

好了。已经全部准备好了。我们要正式开始了。首先我们打开串口监视器,然后重新插拔一下模块的VCC接线(让模块重启,显示其启动信息),你应该能看到如下图所示的启动信息,说明已经没有任何问题了。

前面的乱码是因为模块启动信息的波特率与后面启动后不一致造成的,不管就行了

重点来了看窗口的右下角“没有结束符”
这个要选择成“回车”如下图

我们输入下面这个指令

  1. AT+Reset

复制代码

点击发送后,模块会重启
显示如下
AT+Reset

done

返回字符是done 为啥d没了呢,实际上是有的。可能是软串口的bug,这个我们不研究了。。反正能用知道就行了,不影响使用。

好上面的重启命令我们等会会经常用到

下面,我们要查询一下模块的工作模式,模块一共有三种工作模式1.Station   2.AP   3.Station+AP  第一种是客户端模式,第二种是接入点模式,第三种是两种模式共存。既然我们是登陆路由器然后往指定网络传数据,所以我们选第一种模式。。

设置之前先查询

  1. AT+MODE?

复制代码

返回内容:
AT+MODE?

+MODE:0

done

这个0就是没配置的意思。。我们配置成1即可

用这个命令来设置

  1. AT+MODE=1

复制代码

这样就设置成模式1了。具体的详细指令请参阅上面的指令手册以及自己多尝试
返回如下:
AT+MODE=1

one

坑爹的d又丢了,不管~~~这个时候,关键的时刻来了,这时候虽然设置了。但还没有生效,需要重启模块。还记得我之前说的指令么?我就不重复写了。。反正这时候要重启(拔电源插头也是可以的)

然后我们来查询下

  1. AT+MODE?

复制代码

返回如下:
AT+MODE?

+MODE:1

done

大概就是这样就设置好模式了。

我们后面就暂时不介绍回显内容了,很简单

然后就是查询一下附近能搜索到的wifi网络信号

  1. AT+ShowAP

复制代码

回显内容就是周围wifi信号

看到自己的wifi就可以加入网络了

  1. AT+JoinAP="SSID","PASSWD"

复制代码

很简单的命令对吧,前面写SSID号,后面写密码。回车发送命令就可以加入网络了。记得加完网络重启下模块

好了,这样模块就连上路由器了

下面就需要有个小工具,在自己计算机(局域网内)上建立一个TCP端口的监听,来模拟服务器

小工具连接

我计算机IP是192.168.1.101  我打算监听8089端口,如下图配置,监听(当然你也可以监听你需要的任何端口)

(说明:任何网络服务器都可以看成是工作在指定端口,负责解析指定协议的端口监听器)

设置模块到单链接模式(只能使用一个连接的模式,这种比较方便简单,多链接模式我们以后再讲)

  1. AT+MUX=0

复制代码

然后重启模块(拔电或者用reset指令都可以)

好了。以上的设置模块设置一次后,断电后还是会有记忆的。。也就是说只需要配置一次。。下面开始建立TCP连接啥的。断电不会重连了。。

下面我们在模块上建立一个TCP的连接

使用指令

  1. AT+NewSTA=“TCP”,“192.168.1.101”,8089

复制代码

很简单的指令,首先说明连接类型,目标ip地址,端口号。。这样就建立好了。。

然后我们就能发送数据了

指令

  1. AT+UpDate=11

复制代码

然后串口会返回一个>号,我们继续输入hello world发送
这样就会从TCP监听的一端看到数据了。很简单吧

指令后面的11的意思就是你要发送的字符的长度。系统是靠字符长度判断一句话是否可以发送,所以我们的数据长度要和下面要发送的字符串的长度等长才行。。

简单的教程目前就到这里了,有助于大家理解AT指令的使用。

另外我们还有一个arduino的库,虽然目前开发的不太完全,基本函数都开发完了,例程还没写好,bug可能还有不少,也都在调试中,有兴趣的可以去看看

https://github.com/534659123/OCO ... 266-arduino-library

时间: 2024-10-12 15:26:18

如何用arduino来测试ESP8266 WIFI模块(wifi普及预热中)的相关文章

智能家居常用WiFi模块

WiFi模块 WiFi模块就是整个系统的控制中心,控制很简单,就是输出一个开关信号控制继电器,而这个模块的核心是WiFi的连接,手机连接WiFi时需要扫描,输入密码,而这类本身没有屏幕和键盘的硬件设备,要想快捷的接入WiFi网络就需要更加便捷的连接方案,这就是这些模块厂家的主要工作了,所以这些模块都提供类似的连接方案,即手机APP扫描WiFi,在APP上输入对应WiFi的连接密码后自动由APP发送到模块,完成模块和WiFi的连接,本质上是一样的,只是叫的名字不同而已,有的叫SimpleLink有

【智能家居篇】wifi驱动的理解(3)——usb接口在wifi模块中的角色

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 上一篇文章已经提到USB接口在wifi模块中的最重要两个函数是usb_read_port()和usb_write_port().那它们是怎么和wifi扯上关系的呢?我们可以从以下三个方面去分析: 1.首先需要明确wifi模块是USB设备,主控(CPU)端是USB主机: 2.USB主机若需要对wifi模块进行数据的读写时,就必须经过USB接口: 3.既然涉及到数据的读写操作,必然要用相应的读写函数,那么usb_re

ESP8266 wifi模块初次试用

前段时间在淘宝随便搜搜"wifi模块",竟然眼前一亮发现有一款价格在15元内的wifi模块:ESP8266. 对其简单的了解: 体积小巧,且多种封装,没有一个硬币大. 价格便宜,十几块钱在wifi模块里面算是最便宜的了. 提供AT指令,这样就可以使用arduino进行控制,实现互联网数据交互. 提供SDK包.烧固件工具,串口烧写固件.这样把arduino作为主控的功能都省了,直接把逻辑写进代码,烧到固件里,就能按我们的业务执行了. 有GPIO口,有SPI功能,有I2C功能,有UART功

中国移动OnetNet云平台 使用WIFI模块ESP8266 TCP透传模式传输数据流步骤

测试使用工具: WIFI模块型号:ESP8266 https://item.taobao.com/item.htm?spm=a1z10.1-c.w137712-175513579.2.btbD9X&id=520305709648 USB-TTL调试工具:CP2102 https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-175517240.14.8HGQU4&id=39481188174 连接方法: (这里是用TTL直接调试ESP8266

中国移动OnetNet云平台 使用WIFI模块ESP8266 TCP非透传模式传输数据流步骤

测试使用工具: WIFI模块型号:ESP8266 https://item.taobao.com/item.htm?spm=a1z10.1-c.w137712-175513579.2.btbD9X&id=520305709648 USB-TTL调试工具:CP2102 https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-175517240.14.8HGQU4&id=39481188174 连接方法: (这里是用TTL直接调试ESP8266

esp8266 wifi模块刷nodemcu固件并蓝牙串口调试

esp8266 wifi模块价格十分实惠.出厂是默认带AT指令的系统,通过串口使用at命令进行交互.但是可以刷别的固件,例如nodemcu. nodemcu可以用lua脚本控制模块,而且lua脚本的优势是非常容易编写,也不需要编译.本文简单的介绍一下在esp8266模块上烧写nodemcu固件,并简单的通过串口让模块接入AP. 下载nodemcu_flasher64bit.exe  这是一个nodemcu固件的烧写软件.我下载的是64为版本.32为版本地址为:http://www.nodemcu

玩转X-CTR100 l ESP8266串口WIFI模块

我造轮子,你造车,创客一起造起来!更多塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] ESP8266是一款非常火的WIFI模块,性价比高,操作简单,通过AT指令实现复杂的WIFI通信,大大降低开发难度. 夸张点说,如果创客不知道这么模块,不能称之为创客! 本文介绍ESP8266模块的使用,X-CTR100控制器连接ESP8266模块实现无线WIFI网络连接功能. 原理介绍 模块核心处理器 ESP8266 在较小尺寸封装中集成了业界

用ESP8266 WIFI模块连接服务器,并实现与服务器相互通讯

最近在做一个智能锁的项目,该项目要求实现在任何地方(当然是要有网络的)可以在手机上用APP开锁.而我负责的部分主要是实现底层与服务器连接,并且要能相互通讯.考虑了很多问题,最终选择了用ESP8266 WIFI模块实现了这个功能.下面向大家就简单分享一下. 工具:网络调试助手  ESP8266  STM32F1开发板 首先,用网络调试助手来虚拟一个服务器,如下: 有了服务器后,接下来我们就要用WIFI来连接这个服务器.ESP8266 有三种工作模式,由于项目要求,我选用了STA中的客户端模式.下面

使用USB-TTL调试ESP8266 WIFI模块

一.ESP8266介绍 ??ESP8266 系列模组是深圳市安信可科技有限公司开发的一系列基于乐鑫ESP8266的超低功耗的UART-WiFi模块的模组,可以方便地进行二次开发,接入云端服务,实现手机3/4G全球随时随地的控制,加速产品原型设计. ??模块核心处理器 ESP8266 在较小尺寸封装中集成了业界领先的 Tensilica L106 超低功耗 32 位微型 MCU,带有 16 位精简模式,主频支持 80 MHz 和 160 MHz,支持 RTOS,集成 Wi-Fi MAC/ BB/R