【STM32学习笔记——WIFI模块】

记录-----wifi模块的使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 记录-----wifi模块的使用
  • 前言
  • 一、wifi模块功能说明
    • 接下来演示一下wifi模块的基本使用
      • 1.wifi模块作AP模式
      • 2.wifi模块作sta模式
      • 3.两个wifi模块连接互相通信
    • 在这里插入图片描述 原子云设置好我们就可以测试两个模块原子云的透传功能了
  • 总结


前言

这几天机缘巧合使用了wifi模块,之前也是用过,但是之前都是停留在会用的基础上,没有去真正的了解,今天在这里浅记录一下使用的一些过程。

一、wifi模块功能说明

		ESP8266 模块支持 STA/AP/STA+AP 三种工作模式。
			
 STA 模式:ESP8266 模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。
				
 AP 模式:默认模式 ATK_ESP8266 模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制。
 
 STA+AP 模式:两种模式的共存模式
 			(STA 模式)即可以通过路由器连接到互联网,并通过互联网控制设备;
 			(AP 模式)也可作为 wifi 热点,其他 wifi设备连接到模块。这样实现局域网和广域网的无缝切换,方便操作。

接下来演示一下wifi模块的基本使用

** 包括两个方面**
1-wifi模块和手机网络调试助手之间的通信
2-两个wifi模块之间通信(三种通信方式)

1.wifi模块作AP模式

在此模式下 还可以可以设置 3 个子模式:TCP 服务器、TCP 客户端,UDP
代码如下(示例):
(1)tcp服务器

AT+CWMODE=2      	                设置成ap模式	
AT+RST				                重启生效	
AT+CWMODE?			                查询WiFi模块的模式
AT+CWSAP="ESP8266","12345678",11,0  设置要产生的wifi名字以及密码
AT+CIPMUX=1				            设置多接入点模式
AT+CIPSERVER=1,8899		            设置端口号
AT+CIFSR	                        查询路由器分配的ip地址

在这里就可以手机连接他产生的wifi,然后手机网络调试助手打开tcp客户端,输入产生的ip地址和端口号就可以连接了,然后就可以通信了

(2)tcp客户端

AT+CWMODE=2      	                	设置成ap模式	
AT+RST				                	重启生效	
AT+CWMODE?			                	查询WiFi模块的模式
AT+CWSAP="ESP8266","12345678",11,0  	设置要产生的wifi名字以及密码
AT+CIPMUX=0				                设置单连接
AT+CIPSTART="TCP","10.128.19.xxx",1121  这个需要根据手机端打开的tcp服务器的ip地址和端口号来修改
AT+CIPMODE=1                          	开启透传模式(仅单连接 客服端时支持)
AT+CIPSEND                              开始传送数据

在这里就可以手机连接他产生的wifi,然后手机网络调试助手打开tcp服务器,就可以连接了,然后就可以通信了
(3)UDP后续补充吧


2.wifi模块作sta模式

在此模式下 还可以可以设置 3 个子模式:TCP 服务器、TCP 客户端,UDP
代码如下(示例):
(1)tcp服务器

AT+CWMODE=1    	                	设置成sta模式	
AT+RST				                重启生效	
AT+CWMODE?			                查询WiFi模块的模式
AT+CWJAP="111","12345678"		    连接wifi名字以及密码
AT+CIPMUX=1				            设置多连接
AT+CIPSERVER=1,8899		            设置端口号
AT+CIFSR	                        查询路由器分配的ip地址

在这里就可以手机连接上同一个热点,然后手机网络调试助手打开tcp客户端,输入产生的ip地址和端口号就可以连接了,然后就可以通信了

(2)tcp做客户端

在这里就可以手机连接上同一个热点,然后手机网络调试助手打开tcp服务器

AT+CWMODE=2      	                	设置成sta模式	
AT+RST				                	重启生效	
AT+CWMODE?			                	查询WiFi模块的模式
AT+CWJAP="111","12345678" 				连接wifi名字以及密码
AT+CIPMUX=0				                设置单连接
AT+CIPSTART="TCP","10.128.19.xxx",1121  这个需要根据手机端打开的tcp服务器的ip地址和端口号来修改
AT+CIPMODE=1                          	开启透传模式(仅单连接 客服端时支持)
AT+CIPSEND                              开始传送数据
 

到此就可以连接了,然后就可以通信了

(3)UDP后续补充吧

3.两个wifi模块连接互相通信

首先介绍一下有三种通信方式

  1. --------1号wifi模块作AP模式产生wifi 2号作sta连接1号的wifi
  2. ---------1号和2号都作sta模式,再连接同一个热点(wifi),两者之间就可以通行了

以上都是局域网内通信 ,距离有限制
要想实现真正的远程通信 请看第三种方式

  1. -------- 1号和2号wifi模块分别连接不同的热点,借助云服务器来进行转发数据,从而实现两个模块远距离通信 ,即使你在上海,他在山西某上兰村,只要有wifi 这两个模块就可以通信。

这里介绍一下第三种,先打开一个云服务器
这里用正点原子的 原子云服务器

先网页打开原子云 ,注册账 号密码,然后点击“设备管理”→“新增设备”→“ESP8266”,密码使用默认:12345678(客户可以根据自己需求修改密码,密码必须是 8 位 ASCII 字符),这里我们创建的两个设备的设备名称是“8266 设备 1”、“8266 设备 2”。

对于1号wifi模块和2wifi号模块进行下面的配置 (两个wifi连接不同的热点)(如果热点相同不就局域网了嘛,所以要不同的热点这才有意思)

AT+CWMODE=1    	                				设置成sta模式	
AT+RST				                			重启生效	
AT+CWMODE?			                			查询WiFi模块的模式
AT+CWJAP="111","12345678"		    			连接wifi名字以及密码
AT+ATKCLDSTA="641744858479895xxxxx","12345678"  641744858479895xxxxx是设备 1 的设备编号,12345678 是设备密码

模块连接成功原子云之后,我们需要在原子云设置好透传组。我们分别创建两个分组:“分组 1”、“分组 2”,然后在“分组 1”添加“8266 设备 1”,在“分组 2”添加“8266 设备 2”,添加好之后点击保存。接着我们设置透传管理,点击透传管理创建透传组,A 设备组添加“分组 1”,B 设备组添加“分组2”。

【STM32学习笔记——WIFI模块】_第1张图片
原子云设置好我们就可以测试两个模块原子云的透传功能了

总结

先写到这吧,基本上实现了wifi和手机 以及两个wifi模块之间的通信。
觉得有帮助的话点个赞吧!!

你可能感兴趣的:(32单片机,网络,tcp/ip,服务器,1024程序员节)