WiFi模块设计2.docx
- 文档编号:9189407
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:14
- 大小:401.44KB
WiFi模块设计2.docx
《WiFi模块设计2.docx》由会员分享,可在线阅读,更多相关《WiFi模块设计2.docx(14页珍藏版)》请在冰豆网上搜索。
WiFi模块设计2
仪器设计实践
课程设计
题目名称:
专业班级:
学生姓名:
学号:
指导教师:
成绩:
评语:
指导老师签名:
日期:
任务与分工
组长:
组员:
组员1、组员2
任务一:
组长、组员1
任务二:
组员2
WiFi模块设计
1.技术概述
ESP8266是⼀个完整且⾃成体系的Wi-Fi络解决⽅案,能够搭载软件应⽤,或通过另⼀个应⽤处理器卸载所有Wi-Fi络功能。
ESP8266在搭载应⽤并作为设备中唯⼀的应⽤处理器时,能够直接从外接闪存中启动。
内置的⾼速缓冲存储器有利于提⾼系统性能,并减少内存需求。
另外⼀种情况是,⽆线上接⼊承担Wi-Fi适配器的任务时,可以将其添加到任何基于微控制器的设计中,连接简单易⾏,只需通SPI/SDIO接⼝或中央处理器AHB桥接⼝即可。
ESP8266强⼤的⽚上处理和存储能⼒,使其可通过GPIO⼝集成传感器及其他应⽤的特定设备,实现了最低前期的开发和运⾏中最少地占⽤系统资源。
ESP8266⾼度⽚内集成,包括天线开关balun、电源管理转换器,因此仅需极少的外部电路,且包括前端模块在内的整个解决⽅案在设计时将所占PCB空间降到最低。
装有ESP8266的系统表现出来的领先特征有:
节能VoIP在睡眠/唤醒模式之间的快速切换、配合低功率操作的⾃适应⽆线电偏置、前端信号的处理功能、故障排除和⽆线电系统共存特性为消除蜂窝/蓝⽛/DDR/LVDS/LCD干扰。
图1
2、ATK-ESP8266WIFI模块简介
ATK-ESP8266是ALIENTEK推出的一款高性能的UART-WiFi(串口-无线WIFI)模块,ATK-ESP8266板载ai-thinker公司的ESP8266模块,该模块通过FCC,CE认证,可直接用于产品出口欧美地区。
ATK-ESP8266模块采用串口(LVTTL)与MCU(或其他串口设备)通信,内置TCP/IP协议栈,能够实现串口与WIFI之间的转换。
通过ATK-ESP8266模块,传统的串口设备只是需要简单的串口配置,即可通过网络(WIFI)传输自己的数据。
ATK-ESP8266模块支持LVTTL串口,兼容3.3V和5V单片机系统,可以很方便的与产品进行连接。
模块支持串口转WIFISTA、串口转AP和WIFISTA+WIFIAP的模式,从而快速构建串口-WIFI数据传输方案,方便你的设备使用互联网传输数据。
ATK-ESP8266模块非常小巧(29mm*19mm),模块通过6个2.54mm间距的排针与外部相连。
引脚的详细描述如下
2.1模块使用
本文档,我们将介绍大家如何通过STM32连接到ATK-ESP8266WIFI模块,实现:
串口无线AP(COM-AP)、串口无线STA(COM-STA)和串口无线AP+STA(COM-AP+STA)这3个模式的测试,每个模式又包含TCP服务器、TCP客户端和UDP这3个子模式,本节我们将详细介绍这些模式的使用。
模块配置可以通过串口配置,这里我们通过开发板串口配置,并实现通信。
2.1.1AT指令简介
在AT模式下可以通过串口的AT指令对系统参数做配置。
指令格式如下:
AT+
根据不同指令,模块将返回不同的返回值。
其中\r\n为回车换行符,用16进制表示,就是0X0D,0X0A。
2.1.2串口无线WIFI(COM-AP)
串口无线WIFI(COM-AP)模式,模块作为无线WIFI热点,允许其他WIFI设备连接到本模块,实现串口与其他设备之间的无线(WIFI)数据转换互传。
该模式下,根据应用场景的不同,可以设置3个子模式:
TCP服务器、TCP客户端,UDP。
2.1.3串口无线STA(COM-STA)
串口无线STA(COM-STA)模式,模块作为无线WIFISTA,用于连接到无线网络,实现串口与其他设备之间的无线(WIFI)数据转换互传。
该模式下,根据应用场景的不同,可以设置3个子模式:
TCP服务器、TCP客户端,UDP。
2.1.4串口无线AP+STA(COM-AP+STA)
串口无线AP+STA(COM-AP+STA)模式,模块既作无线WIFIAP,又作无线STA,
其他WIFI设备可以连接到该模块,模块也可以连接到其他无线网络,实现串口与其他设备之间的无线(WIFI)数据转换互传。
该模式下,根据应用场景的不同,可以设置9个子模式:
(TCP服务器、TCP客户端,UDP)||(TCP服务器、TCP客户端,UDP)。
3、硬件连接
图2
4、功能简介
ATK-ESP8266模块的功能特性如下
4.1本实验功能简介
本实验用于测试ATK-ESP8266模块,总共包括3大项测试,每大项又包括3个子模式的测试,下面分别介绍。
4.1.1串口无线WIFI(COM-AP)测试
该项测试网络连接方式:
WIFI设备<-------->ATK-ESP8266模块通过按KEY_UP键选择此模式,进入此模式后,首先会进入到串口WIFIAP工作模式选择界面,总共有3种模式可供选择:
TCP服务器、TCP客户端、UDP。
通过KEY0/KEY1
选择模式,通过KEY_UP确定。
点击确定后,服务器模式(TCP服务器)不需要手动输入IP地址,直接进入下一步,开始配置模块。
但是对于TCP客户端/UDP模式,还会需要手动输入远端IP地址,此时界面会提示:
远端IP设置,通过屏幕显示的虚拟键盘,输入远端IP地址,输入完后,可以点击虚拟键盘的“连接”按键,进入下一步,开始配置模块,此时,开发板将对模块进行配置,配置成功后,进入数据收发测试。
进入测试后,开发板液晶会显示相关提示信息,方便大家测试,信息包括:
IP地址:
如果是服务器模式,那么IP地址表示ATK-ESP8266模块的IP地址。
如果是客户端模式,则表示模块将要连接到的目标IP地址。
端口:
为方便测试,所有模式的端口都固定为8086。
状态:
表示连接状态,如果连接建立,则显示连接成功,如果断开,则显示连接失败。
模式:
显示当前的工作模式(TCP服务器、TCP客户端、UDP)。
发送数据:
显示当需要发送的数据,每按一次KEY0,发送一次数据,会在这个区域显示发送的内容,当发送完以后,过一段时间,该区域自动清空。
接收数据:
显示ATK-ESP8266模块接收到的数据,对方发过来的数据,将显示在这里,每次收到新内容,会将旧内容清空,然后显示新内容,否则旧内容将一直显示。
按KEY_UP,可以退出此项测试,回到主界面。
对于3种子模式:
TCP服务器、TCP客户端、UDP,他们的数据收发测试界面几乎是一样的,测试方法也几乎一模一样,大同小异。
4.1.2串口无线AP+STA(COM-AP+STA)测试
该项测试网络连接方式:
WIFI设备<------>ATK-ESP8266模块(WIFIAP+STA)<------>无线路由器<------>WIFI设备通过按KEY0键选择此模式,进入此模式后,首先会进入到提示界面。
4.1.3串口无线STA(COM-STA)测试
该项测试网络连接方式:
WIFI设备<------>无线路由<------>ATK-ESP8266模块(WIFISTA)通过按KEY1键选择此模式,进入此模式后,首先会进入到WIFI-STA工作模式选择界面,剩下的操作,同4.1.2节一模一样。
(请用手机连接到ATK-ESP8266),然后按任意键继续,接着会进入到WIFIAP模式下的模式选择,接着操作与4.1.2节一模一样,完成AP模式的设置,接着设置STA模式,与AP模式相似。
配置成功后,进入数据收发测试。
进入测试后,开发板液晶会显示相关提示信息,信息与AP模式和STA模式有所差别。
端口:
为方便测试,所有模式的端口都固定为8086。
状态:
表示连接状态,如果连接建立,则显示连接成功,如果断开,则显示连接失败。
模式:
显示当前的工作模式(固定显示:
STA+AP模式)。
APIP:
AP模式下的IP地址。
STAIP:
STA模式下的IP地址。
发送数据:
显示当需要发送的数据,每按一次KEY0,发送一次数据,会在这个区域显示发送的内容,当发送完以后,过一段时间,该区域自动清空。
接收数据:
显示ATK-ESP8266模块接收到的数据,对方发过来的数据,将显示在这里,
每次收到新内容,会将旧内容清空,然后显示新内容,否则旧内容将一直显示。
按KEY_UP,可以退出此项测试,回到主界面。
按KEY0向ID0发送数据,按KEY1向ID1发送数据。
对于9种子模式:
(TCP服务器、TCP客户端、UDP)||(TCP服务器、TCP客户端、UDP),他们的数据收发测试界面几乎是一样的,测试方法也几乎一模一样,大同小异,就不一一介绍了。
5、AT指令使⽤⽰例
5.1单连接TCPClient
•设置WiFi模式:
AT+CWMODE=3//softAP+stationmode
Response:
OK
•连接路由:
AT+CWJAP="SSID","password"//SSIDandpasswordofrouter
Response:
OK
•查询设备IP地址:
AT+CIFSR
Response:
192.168.3.106//DevicegotanIPfromrouter.
•PC与ESP8266连接同⼀个路由,在PC上使⽤⺴络调试助⼿,创建⼀个TCP服务器
•ESP8266作为client连接到TCPserver:
AT+CIPSTART="TCP","192.168.3.116",8080//protocol、serverIP&port
Response:
OK
•发送数据:
AT+CIPSEND=4//setdatelengthwhichwillbesent,suchas4bytes
>DGFY//enterthedata,noCR
Response:
SENDOK
注意:
若输⼊的字节数⺫超过了指令设定的⻓度(n),则会响应busy,并发送数据的前n个字节,发送完SENDOK.
•接收数据:
+IPD,n:
xxxxxxxxxx//receivednbytes,data=xxxxxxxxxxx
5.2.透传
•设置WiFi模式:
AT+CWMODE=3//softAP+stationmode
Response:
OK
•连接路由:
AT+CWJAP="SSID","password"//SSIDandpasswordofrouter
Response:
OK
•查询设备IP地址:
AT+CIFSR
Response:
192.168.101.105//Device’sIPthatgotfromrouter.
•PC与ESP8266连接同⼀个路由,在PC上使⽤⺴络调试助⼿,创建⼀个TCP
•设备作为TCPclient连接TCPserver:
AT+CIPSTART="TCP","192.168.101.110",8080//protocol、serverIP&port
Response:
OK
Linked
•使能透传模式:
AT+CIPMODE=1
Response:
OK
•发送数据:
AT+CIPSEND
Response:
>//Fromnowon,datareceivedfromUARTwillbe
transparenttransmittedtoserver.
•退出发送数据:
•断开TCP连接:
AT+CIPCLOSE
Response:
CLOSEDOK
5.3.多连接TCPServer
前ATDemoESP8266作为服务器,必须建⽴多连接,即可以连接多个TCPclient
•设置WiFi模式:
AT+CWMODE=3//softAP+stationmode
Response:
OK
•使能多连接:
AT+CIPMUX=1
Response:
OK
•建⽴TCPserver:
AT+CIPSERVER=1//defaultport=333
Response:
OK
•PC连⼊ESP8266softAP,PC作TCPclient连接设备。
•发送数据:
//IDnumberofconnectionisdefaultedtobe0.
AT+CIPSEND=0,4//send4bytestoconnectionNO.0
>iopd//enterthedata,noCR
Response:
SENDOK
注意:
若输⼊的字节数⺫超过了指令设定的度(n),则会响应busy,并发送数据的前n个字节,发送完成后响应SENDOK.
•接收数据:
+IPD,0,n:
xxxxxxxxxx//receivednbytes,data=xxxxxxxxxx
•断开TCP连接:
AT+CIPCLOSE=0//DeleteNO.0connection.
Response:
0,CLOSEDOK
5.4.UDP传输
•设置WiFi模式:
AT+CWMODE=3//softAP+stationmode
Response:
OK
•连接路由:
AT+CWJAP="SSID","password"//SSIDandpasswordofrouter
Response:
OK
•查询设备IP地址:
AT+CIFSR
Response:
+CIFSR:
STAIP,"192.168.101.104"//IPaddressofESP8266station
•PC与ESP8266连接同⼀个路由,在PC上使⽤络调试助⼿,创建UDP
下⾯介绍两种UDP通信的⽰例:
(1)固定远端的UDP通信
UDP通信的远端固定,由”AT+CIPSTART“指令的最后参数0决定,分配⼀个连接号给这个固定连接,通信双⽅不会被其他设备替代
•使能多连接:
AT+CIPMUX=1
Response:
OK
•创建UDP传输,例如,分配连接ID为4。
AT+CIPSTART=4,"UDP","192.168.101.110",8080,1112,0
Response:
4,CONNECTOK
注意:
"192.168.101.110",8080为UDP传输的远端IP和远端port,也就是PC建⽴的UDP配置;1112为ESP8266的UDP本地端⼝,⽤户可⾃⾏设置,如不设置则为随机值;0表⽰当前UDP传输建⽴后,UDP远端不会被其他设备更改;即使有其他设备通过UDP协议发数据到ESP8266UDP端⼝1112,ESP82664号UDP传输的远端也不会被替换,使⽤指令“AT+CIPSEND=4,X”发送数据,仍然是当前确定的PC端收到。
•发送数据:
AT+CIPSEND=4,5//Send5bytestotransmissionNO.4
>DGFYQ//enterthedata,noCR
注意:
若输⼊的字节数⺫超过了指令设定的⻓度(n),则会响应busy,并发送数据的前n个字节,发送完
成后响应SENDOK.
•接收数据:
+IPD,4,n:
xxxxxxxxxx//receivednbytes,data=xxxxxxxxxxx
•断开UDP传输:
AT+CIPCLOSE=4
Response:
4,CLOSEDOK
(2)远端可变的UDP通信
•创建UDP传输,最后参数为“2”.
AT+CIPSTART="UDP","192.168.101.110",8080,1112,2
Response:
CONNECTOK
注意:
"192.168.101.110",8080为UDP传输的远端IP和远端port,就是前述PC建⽴的UDP配置;1112为ESP8266的UDP本地端⼝,⽤户可⾃⾏设置,如不设置则为随机值;表⽰当前UDP传输建⽴后,UDP传输远端仍然会更改;UDP传输远端会⾃动更改为最近⼀个与ESP8266UDP通信的远端。
•发送数据:
AT+CIPSEND=5//Send5bytes
>DGFYQ//enterthedata,noCR
Response:
SENDOK
注意:
若输⼊的字节数⺫超过了指令设定的⻓度(n),则会响应busy,并发送数据的前n个字节,发送完
成后响应SENDOK.
•若需要发UDP包给其他UDP远端,只需指定对⽅IP和port即可。
AT+CIPSEND=6,”192.168.101.111”,1000//Send6bytes
>abcdef//enterthedata,noCR
Response:
SENDOK
•接收数据:
+IPD,n:
xxxxxxxxxx//receivednbytes,data=xxxxxxxxxxx
•断开UDP通信:
参考文献
[1]谢希仁. 计算机网络[M]. 北京:
电子工业出版社,2008.
[2]李扬. WiFi技术原理及其应用研究[J]. 科技信息,2010,1(6):
241.
[3]意法半导体. STM32F103数据手册[R]. 北京:
意法半导体,2007.
[4]北京中电华大电子设计责任有限公司. TLG09UA01产品规格书[R]. 北京:
北京中电华大电子设计责任有限公司,2009.
[5]北京中电华大电子设计责任有限公司. 基于UART接口的WLAN模块用户手册[R]. 北京:
北京中电华大电子设计责任有限公司,2009.
设计心得
完成本次课程设计的过程,是一个从无到有的过程,经历了兴奋、自信、失落、奋发、所悟、完成几个过程。
本以为会很简单可是当我动手开始做的时候,才发现设计是那么繁琐。
经过一天的努力,毫无结果。
失落的心情油然而生。
于是,再到图书馆和网上查找资料,在经过借鉴很多类似的资料,文献后,总算是有点眉目了。
特别是当苦思出来一个结果,又被自己推翻,心痛的无法言绘,在这不断循环中,终于做了出来。
其中的煎熬是很痛苦的,深刻明白攻克自己“未知领域”的困难。
但当课程设计完成时,那感觉是甜蜜的,没有耕耘,哪来得收获的喜悦,不懂付出怎么能知道回报的快乐,一分耕耘一分收获,有付出才会回报,就在这样的痛与快乐的交换中,我学到了知识,学到了做人的道理。
这次的课程设计,让我学到了很多书本上学不到的东西,这让我重新反思我们的学习,
深刻领悟到我们这个专业动手,实践的重要性。
理论不经过实践考验是没法实施的。
最后感谢老师细心、仔细、认真的指导,使我学到了很多。
附录一ESP8266原理图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WiFi 模块 设计