提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
这几天机缘巧合使用了wifi模块,之前也是用过,但是之前都是停留在会用的基础上,没有去真正的了解,今天在这里浅记录一下使用的一些过程。
ESP8266 模块支持 STA/AP/STA+AP 三种工作模式。
STA 模式:ESP8266 模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。
AP 模式:默认模式 ATK_ESP8266 模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制。
STA+AP 模式:两种模式的共存模式
(STA 模式)即可以通过路由器连接到互联网,并通过互联网控制设备;
(AP 模式)也可作为 wifi 热点,其他 wifi设备连接到模块。这样实现局域网和广域网的无缝切换,方便操作。
** 包括两个方面**
1-wifi模块和手机网络调试助手之间的通信
2-两个wifi模块之间通信(三种通信方式)
在此模式下 还可以可以设置 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后续补充吧
…
…
在此模式下 还可以可以设置 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后续补充吧
…
…
首先介绍一下有三种通信方式
以上都是局域网内通信 ,距离有限制
要想实现真正的远程通信 请看第三种方式
这里介绍一下第三种,先打开一个云服务器
这里用正点原子的 原子云服务器
先网页打开原子云 ,注册账 号密码,然后点击“设备管理”→“新增设备”→“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模块之间的通信。
觉得有帮助的话点个赞吧!!