当前位置: 首页 > news >正文

学习STC51单片机25(芯片为STC89C52RCRC)

每日一言

        生活就像弹簧,你弱它就强,你强它就弱,别轻易认输。

ESP8266作为路由器模式(AP模式)也就是在局域网内可以有服务器的作用

那么我们需要将pc作为设备进行连接ESP的发射出来的WIFE

叫做这个AI啥的  也有可能叫做ESP啥的这个06FD9A是这个ESP8266的MAC地址(物理地址),物理地址是标识一个硬件的唯一地址

先讲ESP作为AP模式的的AT指令说清楚来

//1 配置成路由模式AP模式  (我们AP模式是可以作为服务器来使用的只要我们在同一个局域网里面,就可以通过ip地址来进行通信)

AT+CWMODE=2

Response :OK  //反馈结果

//2 使能多链接

AT+CIPMUX=1

Response :OK

//3 建立TCPServer

AT+CIPSERVER=1 // default port = 333  默认端口333

Response :OK

//4 发送数据

AT+CIPSEND=0,4 // 发送4个字节在连接0通道上

>abcd //输入数据,不带回车

Response :SEND OK

//• 接收数据

+IPD, 0, n: xxxxxxxxxx //+IPD是固定字符串 0是通道,n是数据长度,xxx是数据

//断开连接

AT+CIPCLOSE=0

Response :0, CLOSED OK

//ESP-01s工作在路由模式,课程查询路由器IP地址192.168.4.1,使用的服务器默认端口号333

解释一下

多连接模式(AT+CIPMUX=1)适用于以下场景:

  1. 同时与多个客户端通信
    1. 例如,ESP866 作为 TCP 服务器时,可同时接受多个客户端的连接(如手机、电脑、其他设备)。
  2. 混合协议通信
    1. 同时建立 TCP 和 UDP 连接(如连接 TCP 服务器的同时,通过 UDP 广播数据)。
  3. 多路数据传输

将不同类型的数据通过不同连接发送(如传感器数据走连接 0,控制指令走连接 1)。

我们的esp8266开启ap模式之后,那么他自己就作为路由器或者是说TCP服务器了,那我们就可以将自己PC上的网络调试助手设置成TCP client模式(客户端模式),那我们的电脑就去连接ESP8266的WIFE,因为需要Esp8266作为路由器分配给我们pc一个与ESP8266自身IP的相同网段的IP地址,这样才可以进行通信

一般是我们连接上ESP的wife后,再打开这个网络调试助手,他就是会自动显示出当前的PC的IP地址,,远程主机地址就是ESP的ip地址,默认端口号是333

连接成功后,我们就可以通过网络调试助手(这边的身份是客户端,也可以比作为手机)给ESP8266(服务器)进行发送数据,但是8266还不能给发送信息到TCP客户端,因为还没开数据透传模式

AT+CIPSEND=0,4 // 发送4个字节在连接0通道上

这样的话就可以发送了,但是只能有限的发,比如这边设置的是4个字节

让我们用单片机发AT指令(AP模式)

代码

        这个也是一样可以用白盒测试的,这边我就不说了,就是接线把ESP8266TXD到安可信的RXD,这样就可以利用安可信来看成功与否了,然后我们手动往单片机输入OK的反馈信息用来测试代码是否成功,因为可以看到具体的反应(内部结构数据流动),所以我们叫做白盒测试

通过最开始的ESP8266作为sta模式的时候,做的单片机发送指令给ESP这个操作大家都会了,那么我们这个一样的,都是一样操作,

代码的话重点在这个

这个其实就是发现了,ESP成功后的信息为OK,那么我们就是可以利用OK这个标志,作为记录标志位,所以只有反馈为OK的时候,我们的代码才会让他跳出循环,否则就一直卡在循环里,直到ESP8266成功后返回OK,才跳出循环,那么为什么返回OK就跳出循环呢,那么这个就是我们的中断机制,我们设置的单片机接收到buffer[0]为O和buffer[1]为K的时候,我们才会将标志位置位1,那么初始的OK标志位就会0变成1,那么这个  !AT_OK_Flag  才会跳出循环,之后立即复位标志位为0,因为下面的指令还需要用到OK标志位。。

这个CIPSERVER的下面为什么不用OK标志位呢,因为用不用都行,因为下一步就是需要我们去连接WIFE,那么连接WIFE后,我们连接TCP Client,然后client连接上ESP8266这个服务器后(检查是否是与ESP8266是同一个网段,因为有时候会出现不一样的网段,有时候会连接不成功的样子)

,那么会反馈  “0,CONNECT”,我们就去检测这个,所以不用OK这个标志位了,取决于喜好吧,代码都能跑,只是检测这个“0,CONNECT”更符合逻辑,这些就是重点了,其他的自己也看的明白,因为都是一个逻辑

最后我们利用TCP客户端进行发送到ESP服务器,我们输入“ : op开灯” “ : cl关灯”。好了圆满结束

http://www.lqws.cn/news/78157.html

相关文章:

  • ESP32之Linux编译环境搭建流程
  • C++中实现随机数(超详细!​​​​​)
  • web架构2------(nginx多站点配置,include配置文件,日志,basic认证,ssl认证)
  • Spring MVC
  • MATLAB 安装与使用详细教程
  • 网络地址转换
  • 【笔记】为 Python 项目安装图像处理与科学计算依赖(MINGW64 环境)
  • Android第十二次面试GetX库渲染机制
  • 数据结构之堆:解析与应用
  • PostgreSQL pgrowlocks 扩展
  • 吴恩达MCP课程(5):mcp_chatbot_prompt_resource.py
  • webpack和vite的区别
  • SQL 逻辑处理顺序详解
  • 2025年危化品安全员考试题库及答案
  • 软件测评师教程 第2章 软件测试基础 笔记
  • DeepSeek模型多模态扩展与跨模态理解实战
  • 强人工智能 vs 弱人工智能:本质区别与未来展望
  • JavaSE 字符串:深入解析 String、StringBuilder与 StringBuffer
  • springboot04
  • NVMe IP现状扫盲
  • [网页五子棋][匹配对战]落子实现思路、发送落子请求、处理落子响应
  • Java设计模式之备忘录模式详解
  • 告别printf!嵌入式系统高效日志记录方案
  • 用“红烧鱼”类比说明卷积神经网络CNN的概念
  • 第18讲、Odoo接口开发详解:原理、类型与实践
  • 2024年数维杯国际大学生数学建模挑战赛C题时间信号脉冲定时噪声抑制与大气时延抑制模型解题全过程论文及程序
  • P12592题解
  • android binder(四)binder驱动详解
  • 电路图识图基础知识-高、低压供配电系统电气系统的继电自动装置(十三)
  • 一种基于性能建模的HADOOP配置调优策略