< >
Home » Arduino通信模块 » Arduino通讯模块-wifi shield V2.2低功耗Wifi扩展板 支持b/g/n

Arduino通讯模块-wifi shield V2.2低功耗Wifi扩展板 支持b/g/n

外 观

外观

概 述

  • 这款扩展板采用Wizfi210模块,可以利用动态电源管理达至低功耗(待机:34.0μA; 接收:124mA; 输出:126mA)。如果使用WizFi210来设计产品,其功耗也相对较低,而且可以设置待机模式。

  • 基于WizFi210的WIFI无线模块提供TTL电平串口到IEEE802.11b/g/n无线通信的桥接。

  • IEEE802.11n是IEEE最新批准的无线传输标准协议,具备更高传输速度,更广网络覆盖,更强兼容性,更加安全的特点。

  • 目前许多无线电子设备厂商已经在大量产品中应用这一标准。如果你想兼容更多最新设备,Wizfi210是一极佳的方案。通过Wizfi210,任何具有TTL串口的设备都可以很容易地建立起无线网络,实现远程管理和控制。

  • wizfi210内部集成多种通信协议及其加密算法。只需要简单的设置即可实现多种场合的应用。兼容Arduino 接口规格,方便应用到Arduino项目中。

性能描述

  • 标准Arduino叠层设计,可轻松插接到标准Arduino、MEGA、Romeo等控制器上
  • 嵌入式IEEE802.11b/g/n无线网络
  • 支持访问接入点(AP)、客户端、网关以及串口到WLAN等模式
  • 支持协议:UDP, TCP/IP (IPv4), DHCP, ARP, DNS, HTTP/HTTPS Client and Server(*)
  • 支持WEP, WPA/WPA2–PSK, Enterprise, EAP-FAST, EAP-TLS, EAP-TTLS, PEAP 加密
  • 支持UART, SPI(), I2C()接口
  • 支持TTL串口到无线的应用
  • 数据流传输速率:11、5.5、2Mpbs (802.11b)
  • 工作电压:5V,功耗<200Ma
  • 无线标准:IEEE802.11b/g/n
  • 频率范围: 2.4 - 2.497 GHz
  • 输出功率:8dBm ± 1dBm
  • 数据速率:54Mbps-1Mbps
  • 调制类型:DSSS, CCK
  • 尺寸:长54× 宽49 × 高11mm
  • 重量:约40g

引脚分配图

22222.jpg

Led指示灯说明

  • Power: 电源信号指示
  • STW: 串口到wifi网络通道状态指示
  • SDR:
    闪烁(-1-):串行数据收发(数据模式) 
    闪烁(-1-1-):串行数据收发(命令模式)
  • ASSOC: wifi Shield V2模块连接到AP的状态指示

应用实例

在这个部分我们做个简单的应用,用Wifi模块来创建一个网络服务器,跟着一步步做吧!

STEP 1: 所需硬件

  • 1xDFRduino UNO R3
  • 1xWiFi shield
  • 1xUSB数据线
  • 1x路由器

STEP 2: 硬件连接

  • 首先,给UNO下载一个简单的Led闪烁的代码(Arduino IDE--File--Examples--Basics--Blink),避免wifi和USB之间串口通信出现冲突。
  • 把wifi扩展板插到UNO上,连接好天线。
  • 将“USB/Arduino”开关拨到“USB“,用来电脑串口直接发送AT指令给Wifi模块。
  • 设置“Run/Prog”开关拨在“Run”。
  • 插上USB数据线,“POWER”灯将同时亮起。

STEP 3: 通过串口指令来配置Wifi模块

  • 在这个部分,我们需要用串口监视器来完成配置。有很多好用的串口调试软件,比如putty,CoolTerm,当然也可以用Arduino IDE的自带的串口监视器。在这里,我们就选用Arduino IDE自带的串口监视器来完成wifi配置。首先,打开IDE,查看是否显示串口,打开串口监视器界面,设置波特率115200,选择“换行和回车模式”(Both NL&CR)。

Coo.png

  • 设置完成后,在串口中输入“at”,测试wifi模块与USB串口是否建立连接,如果连接成功,会显示“[OK]”。之后再输入“at+ws”指令,浏览wifi搜索到的周围所有路由器,查看是否有搜索到你的路由器。下图就是搜索到的结果。

Coo1.png

  • 开始配置你的wifi模块,根据你的路由器的设置,按以下指令顺序输入进行配对。
    Coo3.jpg
  • 当得到来自wifi模块的反馈是,说明连接建立成功,我们已经完成wifi模块设置,并且在本地网络创建了一个TCP服务器。此时,指示灯“STW”和“ASSOC”会同时亮起,说明已和路由器建立连接。
注意:
    SSID,密码取决于你的路由器的设置。所以,先检查你的路由器。否则,如果设置不匹配,wifi模块与路由器无法建立连接。
    “at+nset”是给wifi模块一个IP地址,IP地址由你给定,但必须确保这个IP地址不要和其他IP发生冲突。可以通过下面方法来查看你的IP地址。“运行”输入“cmd”,在跳出的窗口输入“ipconfig”,会显示“IPv4”、“子网掩码”、“默认网关”。 

Ip.jpg

  • 然后...我们就可以开始创建一个客户端,发送数据给我们wifi模块啦!

STEP 4: Wifi模块连接到TCP服务器

在这个部分,我选择putty作为一个TCP客户端,发送指令给WIFI模块。

  • 在Host Name中输入,你前面给wifi配置的IP地址。在Port输入,在“at+nauto=1,1,.4000”设置地址4000。(可查询Wizi210/220用户手册,wifi模块做为服务端和客户端的配置有所不同,这里是做为服务器)。Connection type选择Raw。点击Open。
    Coo5.png

  • 点击Open,会弹出一个黑色的对话框,你就可以通过putty模拟的TCP服务器给wifi模块发送指令了。同样putty也能接收到来自串口的字符串。
    Coo6.png

//以下翻译自WizFi210 User manual,原文可参考相关链接//

应用指导及使用指令说明

  • AP 搜寻

    串口转WIFI的接口通过指定的SSID,BSSID或通道在指定的时间内命令无线通道搜寻WIFI无线AP和 ad hoc网络。
    搜寻可以查找指定SSID、BSSID的网络,指定的无线通道的网络或是这些条件的组合网络。

  • 网络连接管理

    网络连接管理单元处理相关连接的事件,提供UDP、TCP连接端口(与我们熟知的BSD端口类似)。
    每个端口既可以和服务器也可以和客户端的连接。每一个连接有一个唯一的、单一16进制值(0~15)作为CID。
    可以在编译的时候允许有最大的连接数(达到16)。
    注意:这个单一的十六进制数字的CID用于TCP、UDP、服务器和客户端的连接。

  • 自动连接操作

    自动连接成功可以在有效的通信范围内充当一个串口通信接口,在不需要命令或用户干涉的情况下进行连接管理,这相当于替换了电缆通信。
    这种模式下,根据当前有效的参数值,基站自动建立无线网络连接,然后在主机和目标WizFi210之间透明地传输数据(数据模式)。没有状态信息发送到主机。

  • WizFi210的操作模式如下:
    命令模式:在这种模式下,数据解析为WizFi210的控制命令。
    数据模式:在这样模式下,串行数据传送到WiFi接口。
    在数据模式,WizFi210的功能:
    从串口接收字符并通过连接的端口发送数据。
    从连接的端口接收数据然后通过串口发送数据。

1.串口主机可以发送退出命令来获得接口控制权,退出命令是“+++”序列,后面有一秒钟的间歇,在这一秒钟期间,串口不能收到其它字符。当WizFi210 收到这样的字符,WizFi210 将退出数据模式而进入到命令模式。
2.在需要时,主求机可以通过串口修改网络配置或其它参数。然而,WizFi210 不接收任何新的TCP/UDP、客户端/服务器或者数据请连接。
3.ATO命令(ASCII 字符‘O’,不是数字‘0’)用于从命令模式返回到数据模式。应用“AT+XETH=1”命令(允许硬件触发),通过GPIO29(GPIO10)端口,你可以在数据模式和命令模式之间切换,而不需要使用退出序列命令(“+++”)。但是要注意的是不同的固件版本GPIO端口也是不同的。但是当你使用 GPIO29(GPIO10) 来转换数据/命令模式时, 应该保证该转换以及缓冲处理过程前后300ms内无UART输入。
4.使用WizFi210 的D2(GPIO31)、D4(GPIO28),你可以查看WizFi210 是否跟AP 关联,以及串口转WIFI 网络通道是否正常。运行“AT+XDUM=1”命令(关闭UART消息),在数据模式下,所有UART 的信息将会被阻止。在这种情况下,你必须检查GPIO28 和GPIO31 确定关联断开还是网络连接关闭。
5.在数据模式,为了避免发送大量的数据包和小负载到网络,Nagle算法的等待时间可用于缓存将要发送的任何字符。等待时间是以10ms为单位进行设定的,该功能适合于UDP和TCP连接。
  • 应答代码

WizFi210通过串口可能返回给主机的代码,具体描述如下:

返回代码可以了解WizFi210是否执行了AT命令。在ASCII字符串的前面和后面都有回车字符(Carriage Return)(\r, 0x0d) 和上面是换行字符(Line Feed) (\n, 0x0a) 下面是ASCII字符。 如果用戶向WizFi210输入了“at”字符和换行字符(Line Feed ):

at +换行字符(Line Feed)(0x61 0x74 0x0d)

你能看到下面的数据:

at + 回车字符(Carriage Return)(0x61 0x74 0x0d) + \r\n[OK]\r\n (0x0d 0x0a 0x5b 0x4f 0x4b 0x5d 0x0d 0x0a)

V2 10.png
VV2 40.jpg

  • AT命令举例

下面描述了AT命令。在应用例子中,WizFi210建立了与AP的连接,重启后自动打开了串口转无线网的通道。

V2 12.png
V2 13.jpg

AT命令

这一部分提供了串口转无线网的命令列表和它们的作用。
参数都是ASCII码,比如:ATEn(n=1的时候)表示的是ASCII中的“A”、“T”、“E”、“1”。
如果哪些参数是可供选择的,必选参数需加<>,可选参数需加[ ].
如果一个参数是必选的,任何与之相关的子参数也是必选的;一个可选参数的子参数也是可选的。
参数需按照命令描述中的顺序给出。当一个可选参数没有被提供时,逗号也应该保留在命令中。每个命令需以“AT”开头;任何其他其实字符可能会导致返回一个错误。

命令应答:在大多数情况下,有效命令返回OK。无效的输入返回ERROR:INVALID INPUT.

一些命令或许在此版本不被支持。

  • 命令接口

VV2 14.jpg

  • UART/WizFi210接口配置

V2 15.jpg
V2 16.jpg
VV2 16.jpg

  • 文件管理

V2 V.jpg

  • Wi-Fi 接口

V2 18.jpg
V2 19.jpg
VV2 19.jpg

  • Wi-Fi安全

V2 20.jpg
V2 21.jpg
VV2 21.jpg

  • 无线配置

V2 22.jpg

  • 网络接口

V2 23.jpg
VV2 23.jpg

  • 连接管理

V2 24.jpg
V2 25.jpg
VV2 25.jpg

  • 电池(电量)检查

V2 26.jpg

  • 功率状态管理

V2 27.jpg
VV2 27.jpg

  • 自动连接

V2 28.jpg
VV2 28.jpg

  • 设置准备

V2 29.jpg

  • 其它

VV2 30.jpg
V2 31.jpg
V2 32.jpg

相关链接
WizFi210 User manual
WizFi210 Quick Start Guide
WiFi Shield原理图

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: wifi, wifi shield v2.2