一: ESP和电脑实现串口通信

1. 配置 WiFi 模式
AT+CWMODE=3 // softAP+station mode
响应 :
OK
2. 连接路路由器器
AT+CWJAP="SSID","password" // SSID and password of router
响应 :
OK
3. 查询 ESP8266 设备的 IP 地址
AT+CIFSR
响应 :
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"1a:fe:34:a5:8d:c6"
+CIFSR:STAIP,"192.168.3.133"
+CIFSR:STAMAC,"18:fe:34:a5:8d:c6"
OK
4. PC ESP8266 设备连接同⼀一路路由器器,在 PC 端使⽤用⽹网络调试⼯工具,建⽴立⼀一个 TCP
务器器。
- 假设,PC 创建的服务器器 IP 地址为 192.168.3.116,端⼝口为 8000
5. ESP8266 设备作为 TCP client 连接到上述服务器器
AT+CIPSTART="TCP","192.168.3.116",8000
响应 :
OK
6. ESP8266 设备向服务器器发送数据
AT+CIPSEND=4 // set date length which will be sent, such as 4 bytes
>test // enter the data, no CR
响应 :
Recv 4 bytes
SEND OK
7. ESP8266 设备接收到服务器器发来的数据,将提示如下信息:
+IPD,n:xxxxxxxxxx // received n bytes, data=xxxxxxxxxxx
注意:
发送数据时,如果输⼊入的字节数超过了了设置⻓长度(n):
- 系统将提示 busy,并发送数据的前 n 个字节,发送完成后响应 SEND OK
- 超出⻓长度的部分数据被认为是⽆无效数据,不不被接受。

 

 小总结:

基础 AT 指令

指令功能示例响应
AT测试模块连通性ATOK
AT+RST重启模块AT+RSTOK + 重启日志
AT+GMR查询固件版本AT+GMRAT version:x.x.x
SDK version:x.x.x
AT+UART设置串口参数AT+UART=115200,8,1,0,0
(波特率,数据位,停止位,校验,流控)
OK

WiFi 配置指令

指令功能示例响应
AT+CWMODE设置 WiFi 模式AT+CWMODE=3
(1=STA, 2=AP, 3=STA+AP)
OK
AT+CWJAP连接路由器AT+CWJAP="SSID","password"WIFI CONNECTED
WIFI GOT IP
OK
AT+CWLAP扫描附近 WiFiAT+CWLAP+CWLAP:(ecn,ssid,rssi,mac)
OK
AT+CIFSR查询 IP 地址AT+CIFSR+CIFSR:STAIP,"192.168.1.100"
+CIFSR:APIP,"192.168.4.1"

 

TCP/IP 通信指令

指令功能示例响应
AT+CIPSTATUS查询连接状态AT+CIPSTATUSSTATUS:<状态码>
(2=已连接WiFi,3=TCP连接)
AT+CIPSTART建立 TCP/UDP 连接AT+CIPSTART="TCP","192.168.1.116",8000CONNECT OK
AT+CIPSEND发送数据AT+CIPSEND=4 → 输入 testSEND OK
AT+CIPCLOSE关闭连接AT+CIPCLOSECLOSED
+IPD接收数据
(自动触发)
-+IPD,5:hello
(收到5字节数据"hello")

 

多连接配置 (服务器模式)

指令功能示例响应
AT+CIPMUX设置多连接AT+CIPMUX=1
(0=单连接,1=多连接)
OK
AT+CIPSERVER创建 TCP 服务器AT+CIPSERVER=1,8080
(1=开启,端口8080)
OK
AT+CIPSTO设置超时时间AT+CIPSTO=300
(300秒)
OK

 今日问题

为啥我选本地ip选了上面两个192.168.85.1和192.168.237.1使用AT+CIPSTART="TCP","192.168.237.1",8000


ERROR
CLOSED但选第三个192.168.83.120就可以成功

问题根本原因

  1. IP 地址类型差异

    IP 地址类型说明
    192.168.83.120局域网 IPESP8266 和 PC 在同一子网内,直接可达
    192.168.85.1可能为虚拟网络 IPVMware/Hyper-V 等虚拟网卡地址
    192.168.237.1可能为Docker/WSL2 IP容器化环境的虚拟网桥地址
  2. 网络隔离机制

    • 虚拟网络(如 WSL2/Docker)默认与物理网络隔离

    • ESP8266 只能访问同一物理交换机下的设备(即 192.168.83.x 网段)

虚拟 IP 连通性对比表

IP 地址类型是否可达解决方案
192.168.83.120物理网卡✅ 是直接使用
192.168.237.1WSL2 虚拟网卡❌ 否配置端口转发
192.168.85.1VMware 虚拟网卡❌ 否切换为桥接模式
127.0.0.1本地环回❌ 否永远无法被 ESP8266 访问

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90351.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90351.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/90351.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32第十七天ESP8266-01Swifi模块

ESP8266-01S wifi模块1&#xff1a;ESP8266是实现wifi通讯的一个模块种类&#xff0c;有很多分类包含esp8266-12、esp8266-12E、ESP8266-01S、esp32等等。esp8266-01S由一颗esp8266作为主控再由一块flash作为存储芯片组成&#xff0c;带有板载芯片供电采用3.3V电压使用串口进行…

ProCCD复古相机:捕捉复古瞬间

在数字摄影盛行的今天&#xff0c;复古胶片相机的独特质感和怀旧风格依然吸引着众多摄影爱好者。ProCCD复古相机APP正是这样一款能够满足用户对复古摄影需求的应用程序。它通过模拟复古CCD数码相机的效果&#xff0c;让用户在手机上也能轻松拍出具有千禧年风格的照片和视频。无…

Spring Boot 应用启动时,端口 8080 已被其他进程占用,怎么办

1、修改application.yml配置文件&#xff0c;将端口号更改为未被占用的端口&#xff08;例如9090&#xff09;2、以管理员身份运行命令提示符在命令提示符窗口中输入命令netstat -ano | findstr :8080”输出结果可能如下&#xff1a;“TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING xx…

使用Jenkins完成springboot项目快速更新

✨重磅&#xff01;盹猫的个人小站正式上线啦&#xff5e;诚邀各位技术大佬前来探秘&#xff01;✨ 这里有&#xff1a; 硬核技术干货&#xff1a;编程技巧、开发经验、踩坑指南&#xff0c;带你解锁技术新姿势&#xff01;趣味开发日常&#xff1a;代码背后的脑洞故事、工具…

HDLBits刷题笔记和一些拓展知识(九)

文章目录HDLBits刷题笔记CircuitsFsm1Fsm1sFsm2Fsm3onehotExams/ece241 2013 q4Lemmings1Lemmings2Lemmings3Lemmings4Fsm onehotFsm ps2Fsm ps2dataFsm serialFsm serialdataFsm serialdpFsm hdlc未完待续HDLBits刷题笔记 以下是在做HDLBits时的一些刷题笔记&#xff0c;截取一…

CD46.【C++ Dev】list的模拟实现(1)

目录 1.STL库的list 2.模拟实现 节点结构体 list类 无参构造函数 尾插函数 迭代器★ begin() operator 前置 后置 operator-- 前置-- 后置-- operator! operator end() operator* const修饰的迭代器的设计 1.STL库的list 模拟实现list之前,先看看STL库里的…

数据结构——二叉树的基本介绍

————————————本文旨在讨论与学习计算机知识&#xff0c;欢迎交流————————————上一章&#xff0c;我们讲解了树结构的综述导论&#xff0c;那么&#xff0c;现在我们来深入了解一下树结构中最常用研究的结构——二叉树结构&#xff08;上一章的扩展——…

英伟达发布 Llama Nemotron Nano 4B:专为边缘 AI 和科研任务优化的高效开源推理模型

英伟达推出了 Llama Nem)otron Nano 4B&#xff0c;这是一款专为在科学任务、编程、符号运算、函数调用和指令执行方面提供强大性能与效率而设计的开源推理模型&#xff0c;其紧凑程度足以支持边缘部署。该模型仅包含 40 亿参数&#xff0c;却在内部基准测试中实现了比其他多达…

论文阅读笔记——Autoregressive Image Generation without Vector Quantization

MAR 论文 基于 VQ&#xff08;向量量化&#xff09;的图像生成方法具有显著优势&#xff0c;它通过离散化压缩将原始图像映射到有限的 codebook 空间&#xff0c;从而缩小学习范围、降低建模难度&#xff0c;同时这种离散表示更易于与自回归&#xff08;AG&#xff09;生成方式…

【科普】关于C 语言日志系统实战:如何同时输出到终端和文件?

1.概述 c语言没有现成的日志库&#xff0c;如果要记录日志&#xff0c;需要自己封装一个日志库。如果要实现日志级别和参数打印&#xff0c;还是比较麻烦的&#xff0c;正好在github找到了一个c语言开源日志库&#xff0c;可以实现日志级别打印&#xff0c;参数打印&#xff0…

2025,数字人借直播场景迈过“真假线”丨数智化观察

作者 | 曾响铃文 | 响铃说一夜带货超5500万GMV、观看人次1300万&#xff0c;罗永浩数字人在百度电商的直播首秀正在掀起新的行业浪潮——2025&#xff0c;数字人直播带货成功出圈&#xff0c;加速进入大众视野&#xff0c;被更多的消费者所认可。成就这场热潮的关键点之一&…

HTML表格导出为Excel文件的实现方案

1、前端javascript可通过mime类型、blob对象或专业库&#xff08;如sheetjs&#xff09;实现html表格导出excel&#xff0c;适用于中小型数据量&#xff1b;2、服务器端方案利用后端语言&#xff08;如python的openpyxl、java的apache poi&#xff09;处理复杂报表和大数据&…

企业微信iPad协议端强制拉群漏洞深度分析

正常一次最多邀请40人进群 超过40人的拉群&#xff0c;会变成邀请&#xff0c;需要对方同意 新版本修复了漏洞&#xff0c;但还是可以用老版本进行强制拉群 虽然官方也做了版本过低的限制&#xff0c;但还是有办法绕过 要么修改版本号或者登录几天新版本&#xff0c;之后就可以…

Python编译器(Pycharm Jupyter)

Pycharm下载不过多赘述pycharm导入anaconda创建的python环境选择想要的环境 Jupyter Jupyter 是一个开源的交互式计算环境&#xff0c;能够让用户将代码、文本&#xff08;包括 Markdown&#xff09;、可视化结果等内容整合在一个文档中&#xff0c;非常适合进行数据分析、科学…

漏洞修复与Fiddler抓包工具的使用

漏洞描述 1. 短信轰炸漏洞 Type:存在三个不同的值。Login是登录处,register是注册账号处的短信验证码获取值,还有一个update值。未注册的用户也可以进行发送短信。 2. 手机号绕过,修改密码漏洞(逻辑漏洞) 目前注册使用手机号与忘记密码的手机号验证测试都可以绕过, …

对象存储-OSS

目录 对象存储背景 阿里云OSS 对象存储背景 单节点环境下&#xff0c;文件往往存储在tomcat服务器内&#xff0c;随着业务需求的增多&#xff0c;单节点已不能满足需求&#xff0c;项目架构需要扩展到多节点&#xff08;见下图&#xff09;&#xff0c;此时文…

C语言函数的声明

1定义&#xff1a;在C语言中&#xff0c;函数是一段具有特定功能的独立代码块&#xff0c;它可以接收输入参数、执行相关操作并返回结果。2为什么需要函数&#xff08;1&#xff09;代码复用&#xff1a;避免重复编写相同功能的代码&#xff0c; &#xff08;2&#xff09;模块…

AI人工智能名片小程序源码系统,名片小程序+分销商城+AI客服,包含完整搭建教程

智能名片核心功能AI人工智能名片小程序的核心功能设计旨在彻底改变传统商务交流方式&#xff0c;为用户提供前所未有的智能化体验。个性化名片展示是系统的基础功能&#xff0c;用户可以通过丰富的模板库和自定义设计工具&#xff0c;创建独具特色的电子名片。系统提供多种预设…

React 教程:井字棋游戏

React 教程&#xff1a;井字棋游戏 使用 React 实现一个交互式的井字棋游戏&#xff0c;并配上好看的样式 // 导入必要的CSS样式和React库 import "./App.css"; import { useState } from "react";// Square组件 - 表示棋盘上的一个格子 function Square({…

React源码2 React中的工厂函数:createRoot()

#React V18.2 源码前置基础知识&#xff1a;工厂函数工厂函数是一种设计模式&#xff0c;用于动态创建对象或函数实例。其核心思想是通过封装对象创建的细节&#xff0c;提供统一的接口&#xff0c;从而增强代码的灵活性和可维护性&#xff0c;有一些核心作用&#xff1a;解耦创…