概 述
这款扩展板采用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
引脚分配图
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模块
1.在这个部分,我们需要用串口监视器来完成配置。有很多好用的串口调试软件,比如putty,CoolTerm,当然也可以用Arduino IDE的自带的串口监视器。在这里,我们就选用Arduino IDE自带的串口监视器来完成wifi配置。首先,打开IDE,查看是否显示串口,打开串口监视器界面,设置波特率115200,选择*“换行和回车模式”(Both NL&CR)*。
2.设置完成后,在串口中输入“at”,测试wifi模块与USB串口是否建立连接,如果连接成功,会显示“[OK]”。之后再输入“at+ws”指令,浏览wifi搜索到的周围所有路由器,查看是否有搜索到你的路由器。下图就是搜索到的结果。
3.开始配置你的wifi模块,根据你的路由器的设置,按以下指令顺序输入进行配对。
4.当得到来自wifi模块的反馈是,说明连接建立成功,我们已经完成wifi模块设置,并且在本地网络创建了一个TCP服务器。此时,指示灯“STW”和“ASSOC”会同时亮起,说明已和路由器建立连接。
注意:
- SSID,密码取决于你的路由器的设置。所以,先检查你的路由器。否则,如果设置不匹配,wifi模块与路由器无法建立连接。
- “at+nset”是给wifi模块一个IP地址,IP地址由你给定,但必须确保这个IP地址不要和其他IP发生冲突。可以通过下面方法来查看你的IP地址。“运行”输入“cmd”,在跳出的窗口输入“ipconfig”,会显示“IPv4”、“子网掩码”、“默认网关”。
然后...我们就可以开始创建一个客户端,发送数据给我们wifi模块啦!
STEP 4: Wifi模块连接到TCP服务器
在这个部分,我选择putty作为一个TCP客户端,发送指令给WIFI模块。
1.在Host Name中输入,你前面给wifi配置的IP地址。在Port输入,在“at+nauto=1,1,,4000”设置地址4000。(可查询Wizi210/220用户手册,wifi模块做为服务端和客户端的配置有所不同,这里是做为服务器)。Connection type选择Raw。点击Open。
2.点击Open,会弹出一个黑色的对话框,你就可以通过putty模拟的TCP服务器给wifi模块发送指令了。同样putty也能接收到来自串口的字符串。
以下翻译自WizFi210 User manual,原文可参考相关链接
应用指导及使用指令说明
(1)AP 搜寻
串口转WIFI的接口通过指定的SSID,BSSID或通道在指定的时间内命令无线通道搜寻WIFI无线AP和 ad hoc网络。搜寻可以查找指定SSID、BSSID的网络,指定的无线通道的网络或是这些条件的组合网络。
(2)网络连接管理
网络连接管理单元处理相关连接的事件,提供UDP、TCP连接端口(与我们熟知的BSD端口类似)。每个端口既可以和服务器也可以和客户端的连接。每一个连接有一个唯一的、单一16进制值(0~15)作为CID。可以在编译的时候允许有最大的连接数(达到16)。 注意:这个单一的十六进制数字的CID用于TCP、UDP、服务器和客户端的连接。
(3)自动连接操作
自动连接成功可以在有效的通信范围内充当一个串口通信接口,在不需要命令或用户干涉的情况下进行连接管理,这相当于替换了电缆通信。这种模式下,根据当前有效的参数值,基站自动建立无线网络连接,然后在主机和目标WizFi210之间透明地传输数据(数据模式)。没有状态信息发送到主机。
WizFi210的操作模式如下:
- 命令模式:在这种模式下,数据解析为WizFi210的控制命令。
- 数据模式:在这样模式下,串行数据传送到WiFi接口。
在数据模式,WizFi210的功能:
- 从串口接收字符并通过连接的端口发送数据。
- 从连接的端口接收数据然后通过串口发送数据。
串口主机可以发送退出命令来获得接口控制权,退出命令是“+++”序列,后面有一秒钟的间歇,在这一秒钟期间,串口不能收到其它字符。当WizFi210 收到这样的字符,WizFi210 将退出数据模式而进入到命令模式。在需要时,主求机可以通过串口修改网络配置或其它参数。然而,WizFi210 不接收任何新的TCP/UDP、客户端/服务器或者数据请连接。ATO命令(ASCII 字符‘O’,不是数字‘0’)用于从命令模式返回到数据模式。应用“AT+XETH=1”命令(允许硬件触发),通过GPIO29(GPIO10)端口,你可以在数据模式和命令模式之间切换,而不需要使用退出序列命令(“+++”)。但是要注意的是不同的固件版本GPIO端口也是不同的。但是当你使用 GPIO29(GPIO10) 来转换数据/命令模式时, 应该保证该转换以及缓冲处理过程前后300ms内无UART输入。使用WizFi210 的D2(GPIO31)、D4(GPIO28),你可以查看WizFi210 是否跟AP 关联,以及串口转WIFI 网络通道是否正常。运行“AT+XDUM=1”命令(关闭UART消息),在数据模式下,所有UART 的信息将会被阻止。在这种情况下,你必须检查GPIO28 和GPIO31 确定关联断开还是网络连接关闭。在数据模式,为了避免发送大量的数据包和小负载到网络,Nagle算法的等待时间可用于缓存将要发送的任何字符。等待时间是以10ms为单位进行设定的,该功能适合于UDP和TCP连接。
(4)应答代码
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)
(5)AT命令举例
下面描述了AT命令。在应用例子中,WizFi210建立了与AP的连接,重启后自动打开了串口转无线网的通道。
AT命令
这一部分提供了串口转无线网的命令列表和它们的作用。参数都是ASCII码,比如:ATEn(n=1的时候)表示的是ASCII中的“A”、“T”、“E”、“1”。如果哪些参数是可供选择的,必选参数需加<>,可选参数需加[ ].如果一个参数是必选的,任何与之相关的子参数也是必选的;一个可选参数的子参数也是可选的。参数需按照命令描述中的顺序给出。当一个可选参数没有被提供时,逗号也应该保留在命令中。每个命令需以“AT”开头;任何其他其实字符可能会导致返回一个错误。
命令应答:在大多数情况下,有效命令返回OK。无效的输入返回ERROR:INVALID INPUT.
一些命令或许在此版本不被支持。
(1) 命令接口
(2) UART/WizFi210接口配置
(3) 文件管理
(4) Wi-Fi 接口
(5) Wi-Fi安全
(6) 无线配置
(7) 网络接口
(8) 连接管理
(9) 电池(电量)检查
(10) 功率状态管理
(11) 自动连接
(12) 设置准备
(13) 其它
相关链接
老版本
购买 [WiFi 扩展板 V2.2 (SKU:TEL0047)]