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”。


    原子云设置好我们就可以测试两个模块原子云的透传功能了

    总结

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

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32学习笔记:探索WIFI模块的奥秘

    发表评论