ESP-01S通过TCP直接与手机建立通信

ESP-01S通过TCP直接与手机建立通信(ESP-01S作为客户端、手机作为服务端)

AT指令步骤:

第一步:AT测试(AT测试是为了判断模块是否正常工作,正常返回OK,需保证3.3V供电稳定)

AT

第二步:复位模块(可选,模块复位会自动尝试连接上次保留的WIFI配置,这一步自动连上WIFI后,下面就无需手动连接WIFI)

AT+RST

第三步:设置为STA模式(STA模式是连接WIFI模式,和它相反的是AP模式,也就是ESP-01S自己产生热点)

AT+CWMODE=1

第四步:连接WIFI(ESP-01S仅支持2.4G WIFI)

AT+CWJAP="名称","密码"

第五步:连接手机TCP服务器

AT+CIPSTART="TCP","IP地址",端口号

此时如果ESP-01S响应CONNECT和OK,则表示连接成功,下面是两者互相发送数据的方式:

ESP-01S向手机发送数据:

AT指令步骤:

第一步:开启透传模式

AT+CIPMODE=1

第二步:启动透传,开始发送数据

AT+CIPSEND

第三步:发送数据

无格式要求,可直接发

第四步:退出透传模式(此条指令不能加换行符号,推荐多发送几次,确保退出成功)

+++

手机向ESP-01S发送数据:

手机直接发,无格式要求,但ESP-01S模块的接收会有一定延迟

断开连接:

AT+CIPCLOSE(推荐多发送几次,确保断开成功)


ESP-01S 作为 TCP 客户端,连接电脑上的 NetAssist(TCP 服务端)

与电脑直接通信

一、电脑端准备(NetAssist 设置)
  1. 打开 NetAssist 软件。
  2. 左上角 协议 选择:TCP Server(TCP服务端)。
  3. 本地IP地址 :点击下拉框,选择 10.96.227.183 (这是根据你发来的 ipconfig 截图得出的确切 IP)。
  4. 本地端口 :手动输入一个端口号,建议用 80808266(避开80/443)。
  5. 点击 "连接""开始监听",此时软件状态栏应显示"等待连接"。

方法一:直接在 NetAssist 里面看(最快)

打开 NetAssist,在左上角的 "本地IP地址" 下拉框里,它已经自动列出了你电脑所有的 IP

你只需要在这个下拉列表里,选一个以 192.168.10. 开头的 IP (比如 192.168.1.100192.168.0.105),千万别选 127.0.0.1(那是本地回环,ESP 连不上)。

方法二:用命令行查(最准确、推荐)

如果你想知道哪个 IP 是专门对应 WiFi 的,用这招:

  1. 按键盘上的 Win + R 键,打开"运行"窗口。
  2. 输入 cmd,按回车,会弹出一个黑色命令窗口。
  3. 在黑色窗口里输入 ipconfig,按回车。
  4. 在滚出的信息里,找到 "无线局域网适配器 Wi-Fi" 这一项。
  5. 看下面的一行 IPv4 地址 ,后面那个数字(比如 192.168.1.105)就是你要的。

注意 :如果你的电脑插着网线,上面还会显示"以太网适配器",那个 IP 是有线网 的。如果你是用 WiFi 连路由器的,一定要选 Wi-Fi 下面的那个 IP。


二、ESP-01S AT 指令流程(完整全流程)

注意 :ESP-01S 上电后,默认会自己尝试重连上一次保存的 WiFi,所以不需要每次都输入账号密码。如果你刚刷了固件或换了 WiFi,才需要手动连一次。

第一步:测试串口是否正常

text 复制代码
AT

(正常返回:OK)

第二步:查询当前 WiFi 是否已自动连接成功(关键一步)

text 复制代码
AT+CWJAP?

(如果返回 +CWJAP:"你的WiFi名称",说明已连上,直接跳至第四步。)

(如果返回 ERROR 或没反应,说明没连上,执行第三步。)

第三步:手动连接 WiFi(仅当第二步失败时才做)

text 复制代码
AT+CWJAP="你的WiFi名称","你的WiFi密码"

(等待返回 OK 后再继续。)

第四步:连接电脑的 NetAssist 服务端

text 复制代码
AT+CIPSTART="TCP","10.96.227.183",8080

(注意:IP 换成你刚才在 NetAssist 里选的 IP,端口也要一致。如果返回 CONNECTOK,代表成功!此时 NetAssist 界面会提示"客户端已连接"。)


三、互相发送数据

① ESP-01S 发数据给电脑 NetAssist:

text 复制代码
AT+CIPMODE=1       (开启透传模式)
AT+CIPSEND         (启动透传)
然后直接输入你要发的文字,按回车发送。

(退出透传模式:连续发送 +++不能带换行符,多发几次确保退出。)

② 电脑 NetAssist 发数据给 ESP-01S:

直接在 NetAssist 下方的输入框打字,点击"发送"即可(ESP 串口会收到,但会有轻微延迟)。


四、断开 TCP 连接
text 复制代码
AT+CIPCLOSE

(多发送几次,确保断开成功。)


五、下次开机怎么操作(省事版)

下次给 ESP-01S 重新上电后,不需要重新连 WiFi也不需要重新输账号密码。你只需要做两件事:

  1. 打开电脑 NetAssist,选好 IP 和端口,开始监听
  2. ESP 上电稳定后,直接发送:AT+CIPSTART="TCP","10.96.227.183",8080 即可。

六、最容易翻车的 3 个坑(必看!)
  1. 电脑防火墙(99% 连不上的原因)
    • 如果发完 AT+CIPSTART 返回 ERROR,大概率是 Windows 防火墙把 8080 端口拦截了。
    • 解决办法:临时关闭 Windows 防火墙(控制面板→防火墙→关闭)再试;或者去防火墙设置里新建"入站规则",允许 TCP 端口 8080 通过。
  2. 电脑 IP 会变(动态 IP 问题)
    • 路由器重启或电脑重启后,你的 10.96.227.183 可能会变成别的数字。每次开机,建议先用 ipconfig 查一下最新的 IPv4 地址,并同步修改 NetAssist 和 ESP 指令里的 IP。
  3. 校园网/公司网"AP隔离"(环境限制)
    • 你的 IP 是 10.96.227.x,这通常是公司内网或校园网。这类网络常开启"AP隔离",导致同一 WiFi 下的设备禁止互相通信
    • 如何测试 :用手机连同一个 WiFi,下载一个"网络调试助手",手机去连电脑的 10.96.227.183:8080。如果手机能连上但 ESP 连不上,那就是网络环境限制,无解,必须换成家用路由器或用手机开热点来测试
相关推荐
Huathy-雨落江南,浮生若梦40 分钟前
Caddy 学习笔记 - 反向代理与 IP 封禁
笔记·学习·tcp/ip
闲云野鹤在人间44 分钟前
OpenStack架构介绍和安装流程
linux·网络·架构·openstack
xx~t2 小时前
嵌入式——Linux软件编程——网络1
linux·c语言·网络·vscode·网络协议
国科安芯3 小时前
星载CAN总线通信网络中抗辐射MCU的通信可靠性设计分析
网络·人工智能·分布式·单片机·嵌入式硬件·架构
xiaoye-duck3 小时前
《Linux网络编程·加餐》进程间关系与守护进程
linux·网络
weixin_430750934 小时前
开源ids网络入侵检测系统Security Onion部署
网络·security onion·开源ids入侵检测系统
wtblszn4 小时前
污水厂可视化管理物联网解决方案
服务器·网络·物联网
bgy66664 小时前
openstack核心指南
服务器·网络·openstack
2401_862880824 小时前
Linux应用层开发 --- UDP&TCP
linux·运维·tcp/ip·udp