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=1 和 AT+CIPSERVER=1,8080指令每次上电需要重新配置一次,所以该指令需要使用单片机的串口发送。

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

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

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

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

相关推荐
且从容.2 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道3 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
Zw-awa3 小时前
OLED为什么能显示字:软件I2C换成硬件I2C
stm32
且从容.6 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落7 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨7 小时前
WSL2的安装与使用
linux·wsl
微小的鱼7 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng8 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮8 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Zw-awa17 小时前
协议是人为约定:同一个字节能有三种意思
stm32