STM32+AppInventor+ESP8266设置AP模式和手机TCP通信

完整程序和APP下载链接:下载链接

1、设置AP模式

cpp 复制代码
AT+CWMODE=2

2、开启热点供手机连接

bash 复制代码
AT+CWSAP="ESP8266_01","12345678",6,4

3、设置模块为多连接模式

注:该AT指令每次上电都需要重新配置,否则无法工作

bash 复制代码
AT+CIPMUX=1

说明: 建⽴ TCP 、UDP 或 SSL 连接时,设置模块的连接模式(单连接模式或多连接模式)。

用途: 发送指令"AT+CIPMUX=0",设置模块为单连接模式;
    发送指令"AT+CIPMUX=1",设置模块为多连接模式。

4、开启服务端,设置端口号

注:该AT指令每次上电都需要重新配置,否则无法工作

bash 复制代码
AT+CIPSERVER=1,8080

用途: 单连接模式时,该指令无意义且报错error。

多连接模式时,发送指令AT+CIPSERVER=1,8080",参数1取值范围 [0,1] ,0表示关闭服务器,1表示建立服务器;参数2表示端口号,可自行设定,但是避免常用的端口号,如8080等。例:此处我设置为:建立服务器,并且端口值设置为8080

ESP8266 处于AP热点模式时,其他设备连接上 ESP8266 提供的热点时,如需要进一步搭建TCP 通讯,此时需要将 ESP8266 模块设置为服务端,而开启或关闭服务端便是通过该指令实现的。但是开启服务端有一个前提条件,那就是必须是在多连接模式 (AT+CIPMUX=1)下,才能开启 TCP 服务器。

5、查询本地IP地址

bash 复制代码
AT+CIFSR

使用STM32单片机配置使用ESP-01S

1、首先使用串口调试助手向ESP-01S模块发送两个接入网络的AT指令。

2、剩下的两个 AT+CIPMUX=1AT+CIPSERVER=1,8080指令每次上电需要重新配置一次,所以该指令需要使用单片机的串口发送。

3、接受ESP-01S模块的信息

其它在网络中的无线设备发送到ESP-01S的数据会被模块通过串口发送到单片机。数据格式如下:

bash 复制代码
+IPD,0,15:This is message
+IPD,<客户ID>,<信息长度>:<信息内容>

需要在单片机的串口中断中接收解析以上的数据,就可以得到其它无线设备发送的信息。

相关推荐
橘子真甜~42 分钟前
C/C++ Linux网络编程15 - 网络层IP协议
linux·网络·c++·网络协议·tcp/ip·计算机网络·网络层
云老大TG:@yunlaoda3601 小时前
华为云国际站代理商IMS主要有什么作用呢?
tcp/ip·华为云·云计算·负载均衡
拾贰_C2 小时前
【Linux | Windows | Terminal Command】 Linux---grep | Windows--- findstr
linux·运维·服务器
车载测试工程师2 小时前
CAPL学习-AVB交互层-概述
网络协议·tcp/ip·以太网·capl·canoe
阿华hhh3 小时前
Linux系统编程(标准io)
linux·开发语言·c++
石像鬼₧魂石3 小时前
Kali Linux 网络端口深度扫描
linux·运维·网络
alengan3 小时前
linux上面写python3日志服务器
linux·运维·服务器
Rose sait4 小时前
【环境配置】Linux配置虚拟环境pytorch
linux·人工智能·python
叶之香5 小时前
CentOS/RHEL 7、8安装exfat和ntfs文件系统
linux·运维·centos