4.4 智能硬件WiFi模块的开发
图4-8 WiFi-LPT100/LPB100模块示意图
a)WiFi-LPT100模块图 b)WiFi-LPB100模块
WiFi-LPB100系列产品用于实现串口到WiFi数据包的双向透明转发,用户无需关心具体细节,模块内部完成协议转换,串口一侧串口数据透明传输,WiFi网络一侧是TCP/IP数据包,通过简单设置即可指定工作细节,设置可以通过模块内部的网页进行,也可以通过串口使用AT指令进行,一次设置永久保存。
WiFi-LPT100/WiFi-LPB100模组是一款一体化的802.11b/g/nWiFi的低功耗嵌入式WiFi模组,提供了一种将用户的物理设备连接到WiFi无线网络上,并提供UART数据传输接口的解决方案。通过该模组,传统的低端串口设备或MCU控制的设备可以方便接入WiFi无线网络,从而实现物联网络控制与管理。如图4-8所示为WiFi-LPT100/WiFi-LPB100模块示意图。
该模组硬件上集成了MAC,基频芯片,射频收发单元,以及功率放大器;嵌入式的固件则支持WiFi协议及配置,以及组网的TCP/IP协议栈。WiFi-LPT100/WiFi-LPB100采用业内最低功耗嵌入式结构,并针对智能家具、智能电网、手持设备、个人医疗、工业控制等这些低流量低频率的数据传输领域的应用,做了专业的优化。
WiFi-LPT100/WiFi-LPB100尺寸较小,易于焊装在客户的产品的硬件单板电路上。且模块可选择内置或外置天线的应用,方便客户多重选择。
4.4.1 WiFi功能特点
●单流WiFi@2.4GHz,支持WEP、WPA/WPA2安全模式;
●自主开发MCU平台,超高性价比;
●完全集成的串口转WiFi无线功能;
●支持在各种节电模式下以极低功耗工作;
●支持多种网络协议和WiFi连接配置功能;
●支持STA/AP/STA+AP共存工作模式;
●支持SmartLink智能联网功能(提供APP);
●支持无线升级固件;
●内置/外置天线(I-PEX连接器或焊接接口);
●支持多路PWM信号输出通道;
●提供丰富AT+指令集配置;
●超小尺寸;
●3.3V单电源供电;
●支持低功耗实时操作系统和驱动;
●CE/FCC认证;
●符合RoHS标准。
4.4.2 WiFi模块硬件参数的描述
WiFi-LPT100/WiFi-LPB100模块技术参数见表4-2。
表4-2 WiFi-LPT100/WiFi-LPB100模块技术参数
(续)
4.4.3 WiFi-LPT100引脚定义
WiFi-LPT100外观及引脚如图4-9和图4-10所示,其模块引脚功能定义见表4-3。
图4-9 WiFi-LPT100外观图
图4-10 WiFi-LPT100引脚定义
表4-3 WiFi-LPT100模块引脚功能定义
(续)
I—输入;O—输出;PU—内部上拉;I/O—输入/输出GPIO;Power—电源。
<备注>:
1)该模块不支持带电插拔,若要插拔模块,请务必切断电源,否则将会烧坏模块。
2)对nReload和nReset引脚,需外接5~10kΩ的电阻上拉,否则会工作不稳定。
<引脚功能描述>
nReset:模块复位信号,输入,低电平有效。
模块nReset需接上拉电阻。当模块上电时或者出现故障时,MCU需要对模块做复位操作,拉低至少10ms后拉高。
nReload:模块恢复出厂设置引脚,需接上拉电阻,输入低电平有效,可接成按键;不用时需接上拉电阻。
1)上电后,短按该键(<3S),则模块进入SmartLink配置模式,等待APP密码推送;
2)上电后,长按该键(≥3S)后松开,则模块恢复出厂设置。
nLink:连接状态指示引脚,输出低有效,可接led灯。
1)在SmartLink配置模式,nLink快闪提示模块等待配置,nLink慢闪提示APP正在进行智能联网;
2)在正常模式,做为WiFi的连接状态指示灯;
nReady:模块正常启动状态指示引脚,输出低有效,可接led灯。
WPS:低有效,可外接按键,用于启动WPS功能。
UART0_TXD/RXD:串口数据收发信号。
PWM_N:模块PWM调光控制信号输出。也可配置为GPIO信号用于控制。另外可通过“AT+LPTIO=on”切换PWM_1功能为nLink,PWM_2功能为nReady,PWM_3功能为WPS按键,“AT+LPTIO=off”则相反。
4.4.4 WiFi-LPB100引脚定义
WiFi-LPB100引脚分布如图4-11所示。
WiFi-LPB100模块引脚功能定义见表4-4。
图4-11 WiFi-LPB100引脚定义
表4-4 WiFi-LPB100模块引脚定义
(续)
说明:
I—输入;O—输出;PU—内部上拉;I/O—输入/输出GPIO;Power—电源。
主要引脚功能描述:
nReload:模块恢复出厂设置引脚,需接上拉电阻,输入低电平有效,可接成按键。
nLink:连接状态指示引脚,输出低有效,可接led灯。
nReady:模块正常启动状态指示引脚,输出低有效,可接led灯。
UART0_TX/RX:串口数据收发信号。
PWM_N:模块PWM调光控制信号输出。
4.4.5 WiFi-LPB100电气特性
WiFi-LPB100的电气特性见表4-5。
表4-5 WiFi-LPB100电气特性
WiFi-LPB100供电和功耗见表4-6。
表4-6 WiFi-LPB100供电和功耗
4.4.6 WiFi-LPT100/WiFi-LPB100机械尺寸和天线
WiFi-LPT100机械尺寸(单位:mm)如图4-12所示。
图4-12 WiFi-LPT100机械尺寸
WiFi-LPT100支持IPEX连接器天线接口,根据IEEE802.11b/g/n标准的要求,WiFi-LPT100需连接2.4G的外置天线,如图4-13所示。外置天线的参数要求见表4-7。
WiFi-LPB100机械尺寸(单位:mm),如图4-14所示。
图4-13 WiFi-LPT100外置天线接头示意
表4-7 WiFi-LPT100外置天线参数要求
WiFi-LPB100支持内置天线和外置I-PEX天线接口两种类型。
(1)内置天线版本
1)天线远离金属,至少要距离周围有较高的元器件10mm以上。
2)天线部分不能被金属外壳遮挡,塑料外壳需要距离天线至少10毫米以上。
(2)外置天线
根据IEEE802.11b/g/n标准,WiFi-LPB100需连接2.4G的外置天线。外置天线采用I-PEX接口。外置天线参数与WiFi-LPT100外置天线参数要求相同见表4-7。
图4-14 WiFi-LPB100机械尺寸
4.4.7 WiFi-LPB100工作模式
模块共有三种工作模式:透传模式、命令模式、PWM/GPIO模式。工作模式的切换方法如下。
1.透传模式
在该模式下,模块实现串口与网络之间的透明传输,实现通用串口设备与网络设备之间的数据传递。串口透明传输模式的优势在于可以实现串口与网络通信的即插即用,从而最大程度地降低用户使用的复杂度。模块工作在透明传输模式时,用户仅需要配置必要的参数,即可实现串口与网络的通信。上电后,模块自动连接到已配置的无线网络和服务器。透明传输模式完全兼容用户自己的软件平台,减少了集成无线数据传输的软件开发工作量。
2.命令模式
在该模式下,用户可通过AT命令对模块进行串口及网络参数查询与设置。在命令模式下,模块不再进行透传工作,此时串口用于接收AT命令,用户可以通过串口发送AT命令给模块,用于查询和设置模块的串口、网络等相关参数。从透传进入命令模式的方法以及AT命令的详解请见AT命令。
3.PWM/GPIO模式
在该模式下,用户可通过网络命令实现对PWM/GPIO的控制。
4.4.8 无线组网方式
WiFi-LPT100/WiFi-LPB100无线模块有三种配置模式:STA、AP、AP+STA,如图4-15所示,可以为用户提供十分灵活的组网方式和网络拓扑方法。
加密方式是对消息数据加密,保证数据的安全传输,增加通信的安全性。WiFi-LPT100/WiFi-LPB100支持多种无线网络加密方式,包括WEP、WPA-PSK/TKIP、WPA-PSK/AES、WPA2-PSK/TKIP、WPA2-PSK/AES。
AP即无线接入点,是一个无线网络的中心节点。通常使用的无线路由器就是一个AP,其他无线终端可以通过AP相互连接。模块作为STA是一种最常用的组网方式,由一个路由器AP和许多STA组成,如图4-15所示。其特点是AP处于中心地位,STA之间的相互通信都通过AP转发完成。
注意:模块在AP模式下,最多只能支持接入2个STA设备。
图4-15 WiFi-LPB100的STA组网结构(STA)
STA即无线站点,是一个无线网络的终端,如笔记本电脑、PDA等。
模块作为AP模式,可以达到手机/PAD/电脑在无需任何配置的情况下,快速接入模块进行数据传递。另外,还可以登录模块的内置网页进行参数设置,如图4-16所示。
4.4.9 Socket通信
WiFi-LPT100/WiFi-LPB100模块有两个TCP Socket:Socket A和Socket B。向模块串口写入的数据,模块会自动向Sock-
图4-16 WiFi-LPB100的AP组网结构
etA和B同时发送;模块通过Socket A或B接收的数据,都通过串口发送出来。通过对双Sock-et的不同设定,可以实现多种网络互连方式。在模块出厂设置时,只打开Socket A,Socket B默认是不做连接的,如果用户需要使用,请用AT命令设定。
1)Socket A Socket A的工作方式包括:TCP Server、TCP Client、UDP Client、UDP Server,设定方法请参照AT指令中的AT+NETP指令进行设置。当SocketA设置成TCP Server时,可支持最多达到5个TCP Client的TCP链路连接。在多TCP链路连接方式下,从TCP传输的数据会被逐个转发到串口上。从串口上过来的数据会被复制成多份,在每个TCP链接转发一份。具体数据流程如图4-17所示。
图4-17 多TCP链接数据传输图示
2)Socket B Socket B的工作方式包括:TCP Client、UDP Client、UDP Server,设定方法请参照AT指令中的AT+SOCKB指令进行设置。SocketB的多种工作方式,可以为用户提供灵活的数据传递方式,如可将SocketB设定为UDPServer模式,来支持局域网内设备搜索。可将Sock-etB设定为TCPClient连接远程服务器,以实现设备的远程控制。
4.4.10 网页配置模块参数
1.Web管理页面介绍
首次使用WiFi-LPT100/WiFi-LPB100模块时,需要对该模块进行一些配置。用户可以通过PC连接WiFi-LPT100/WiFi-LPB100模块的AP接口,并用Web管理页面配置。默认情况下,WiFi-LPT100/WiFi-LPB100的AP接口SSID、IP地址、用户名、密码见表4-8。
表4-8 WiFi-LPT100/WiFi-LPB100网络默认设置表
2.打开管理网页
首先用PC的无线网卡连接WiFi-LPT100/WiFi-LPB100,等连接好后,打开IE浏览器,在地址栏输入http://10.10.100.254,回车出现登录页面如图4-18所示。在弹出来对话框填入用户名和密码,然后“OK”。网页会出现WiFi-LPT100/WiFi-LPB100的管理页面。如图4-19所示,WiFi-LPT100/WiFi-LPB100管理页面支持中文和英文,可以在右上角选择。菜单分9个页面,分别为“系统信息”“模式选择”“STA设置”“AP设置”“其他设置”“账号管理”“软件升级”“重启模组”及“恢复出厂”。
图4-18 管理登录页面
3.系统信息页面
管理登录页面单击“OK”后,出现系统信息页面如图4-19所示。
在本页面,用户可以获得当前设备的重要状态信息,包括:设备序列号,固件版本,无线组网信息以及相关的参数设置情况,并可以读到STA模式下的无线信号强度指示。
图4-19 系统信息页面
4.模式选择页面
WiFi-LPT100/WiFi-LPB100模组即可以作为无线接入点(AP模式)方便用户对设备进行配置,也可以作为无线信息终端(STA模式)通过无线路由器连接远程服务器。更可以配置成AP+STA模式,给用户的使用提供了灵活的组网方式。如图4-20所示。
5.STA设置页面
在本页面,用户可以单击[搜索]按钮自动搜索附近的无线接入点,并通过网络参数连接上它。这里提供的加密等信息一定要和对应的无线接入点一致才正确连接,如图4-21所示。
图4-20 模式选择页面
图4-21 STA设置页面
6.AP设置页面
当用户选择模块工作在AP或AP+STA模式时,需要设置本页无线和网络参数。大多数系统支持DHCP自动获取IP,建议您设定局域网参数DHCP类型为“服务器”,否则,相应的STA需手动输入网络参数。如图4-22所示。
7.恢复出厂页面
恢复出厂设置后,所有用户的配置都将删除,模块自动恢复到AP模式,用户可以通过http://10.10.100.254来重新配置,登录用户名和口令都是admin,如图4-23所示。
图4-22 AP设置页面
图4-23 AP设置页面
4.4.11 串口AT命令配置参数
AT+指令是指在命令模式下用户通过串口与模块进行命令传递的指令集,后面将详细地讲解模块各工作模式的切换方法以及具体AT+指令的使用格式。
WiFi-LPT100上电后,进入默认的模式即透传模式,用户可以通过串口命令把模块切换到命令行模式。模块的默认UART口参数配置如图4-24所示。
在命令行模式下,用户可以通过AT+指令利用UART口对模块进行设置。
说明:AT命令调试工具推荐使用SecureCRT软件工具。用户均可以在本公司网站下载获得,以下介绍均使用SecureCRT工具演示。
1.工作模式的切换
从透传模式切换到命令模式需要以下两个步骤:
1)在串口上输入“+++”,模块在收到“+++”后会返回一个确认码“a”。
2)在串口上输入“a”,模块收到确认码后返回“a+ok”确认,进入命令模式,如图4-25所示。
图4-24 WiFi-LPT100/WiFi-LPB100默认UART参数
说明:
1)在输入“+++”和确认码“a”时,串口没有回显,如图4-25所示。
2)输入“+++”和“a”需要在一定时间内完成,以减少正常工作时误进入命令模式的概率,具体要求如图4-26所示。
图4-25 串口无回显
图4-26 +++与a的时序要求
从命令模式切换到透传模式需要采用AT+ENTM命令,在命令模式下输入AT+EN-TM,以回车结尾,即可切换到透传模式。
注意:这里的工作模式切换均是临时切换,模块重启后依然为模块默认工作模式,若需要更改模块默认工作模式,请参考AT+TMODE指令。
2.AT+指令集概述
AT+指令可以直接通过超级终端等串口调试程序进行输入,也可以通过编程输入。如图4-27所示,通过SecureCRT工具,AT+H是一条帮助指令,列出所有的指令及说明。
AT+指令采用基于ASCII码的命令行,指令的格式如下:
图4-27 AT+H列出所有指令示意图
1)格式说明:
<>:表示必须包含的部分
[]:表示可选的部分
2)命令消息:
AT+<CMD>[op][para-1,para-2,para-3,para-4,,]<CR>
AT+:命令消息前缀;
CMD:指令字符串;
[op]:指令操作符,指定是参数设置或查询;
◆“=”:表示参数设置
◆“NULL”:表示查询
[para-n]:参数设置时的输入,如查询则不需要;
<CR>:结束符,回车,ASCII码0x0a或0x0d;
<说明>:
输入命令时,“AT+<CMD>”字符自动回显成大写,参数部分保持不变。
3)响应消息:
+<RSP>[op][para-1,para-2,para-3,para-4,,]<CR><LF><CR><LF>
+:响应消息前缀;
RSP:响应字符串,包括:
◆“ok”:表示成功
◆“ERR:表示失败
[op]:=
[para-n]:查询时返回参数或出错时错误码
<CR>:ASCII码0x0d;
<LF>
4)错误码见表4-9。
表4-9 错误码列表
3.AT+指令集详解
AT+指令集见表4-10。
表4-10 AT+指令集
(续)
4.4.12 WiFi-LPB100快速入门
1.模块测试硬件环境
为了测试串口到WiFi网络的通信转换,将模块的串口与计算机连接,WiFi网络也和计算机建立链接。由于需要同时具有WiFi和串口的特殊要求,这里采用台式机加WiFi网卡的形式测试,台式机自带串口。WiFi硬件连接示意图如图4-28所示。
图4-28 WiFi硬件连接示意图
关于串口的连接,模块的引脚引出为3.3VTTL电平,不能直接和计算机连接,需要带底板或者用户有TTL转RS232的转接线再连到计算机上。
2.网络连接
下面以WiFi-LPT100模块示例,其他模块除SSID不同,其他均相同。打开无线网络连接,搜索网络,如图4-29所示的WiFi-LPT100即是模块的默认网络名称(SSID)。加入网络,选择自动获取IP,WiFi模块支持DHCPServer功能并默认开启。无线网络连接示意如图4-30所示。
图4-29 无线网络SSID搜索
图4-30 无线网络连接示意
3.数据传输测试
模块的初始参数:
1)模块默认的SSID为:WiFi-LPT100;
2)模块加密方式默认为:open,none;
3)用户串口参数默认为:115200,8,1,None;
4)网络参数默认值:TCP,Server,8899,10.10.100.254;
5)模块本身IP地址:DHCP,0.0.0.0,0.0.0.0,0.0.0.0
现在只需要按照参数相应设置网络通信参数,就可以进行串口<-->WiFi通信,操作步骤如下:
1)打开测试软件TCP232串口转网络调试助手,选择硬件连接到计算机的相应串口,选择WiFi模块串口默认波特率115200,打开串口。
2)网络设置区选择TCP Client模式,服务器IP地址输入10.10.100.254,此为WiFi模块默认的IP地址,服务器端口号8899,此为模块默认监听的TCP端口号,单击连接建立TCP连接。
至此,我们就可以在串口和网络之间进行数据收发测试了,串口到网络的数据流向是:计算机串口→模块串口→模块WiFi→计算机网络;网络到串口的数据流向是:计算机网络→模块WiFi→模块串口→计算机串口。具体演示如图4-31所示。
图4-31 串口/网络参数设定及传输测试
4.产品应用举例
1)无线遥控应用。在无线遥控应用中,WiFi-LPT100/WiFi-LPB100模块工作在AP模式。模块的串口连接用户设备。控制客户端(例如图4-32中的智能手机)就可以通过无线网络控制用户设备。
图4-32 无线遥控应用图示
2)远程连接应用。远程连接应用中如图4-33所示,模块作为STA,通过网关连接到Inter-net网上。模块设置为TCP Client,与Internet网上的远端TCP server相连。用户设备通过串口连接到模块。
这种组网应用可以采集用户设备上的数据并将其发送到服务器上处理和存储,服务器也可以发送命令对用户设备进行控制。用户既可以用手机或者PC通过局域网进行设备控制,又可以远程通过手机或PC与服务器通信,实现远程数据获取或者远程设备控制。
3)透明串口 这一应用中,两个WiFi-LPT100/WiFi-LPB100模块组网WiFi无线点对点连接,如图4-34所示,这样的组网为两个用户设备搭建了一个透明串口通路。设置如下:
①左边模块设置为AP模式,SSID及IP地址默认,网络协议设置成TCP/Server模式,协议端口默认为8899。
②右边模块设置为STA模式,SSID设为要连接的AP的SSID(如WiFi-LPT100),默认为DHCP,网络协议设置成TCP/Client模式,协议端口8899,IP地址配置为10、10、100、254。
当右边模块启动后会找AP(SSID:WiFi-LPT100),然后自动启动TCPclient端并连接左边模块的TCP Server。所有连接自动完成,然后两边的UART就可以透明传输数据。
图4-33 远程连接应用图示
图4-34 透明串口应用