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

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

记住这个AT指令千万不要去脑子记,要用手册查

每日一言

        努力不是为了感动谁,而是为了不辜负自己的野心。

硬件:ESP8266  wife模块

蓝牙,ESP-01s,Zigbee,NB-lot等通信模块都是基于AT指令的设计

老样子 我们用usb转TTL模块(ch340)来连接ESP8266

我们需要ESP8266调试助手(安信可)因为ESP8266很多的技术支持都是安信可做的

其实我们之前的STCISP也是可以的,但是这个比较专业页面看的比较舒服,所以下载这个串口助手

有看到ready就表示重启成功了

1.AT+RST 重启命令

ESP8266出厂通常是115200,但是我们之前都是用9600所以我们更改一下波特率

2.AT+UART=9600,8,1,0,0 设置波特率8个数据位1个停止位

设置为9600波特率的话是为了将它移植到单片机上的话,是可以匹配得上的

入网设置

设置工作模式

模式

角色

功能

典型场景

Station(STA)

客户端(Client)

连接到现有 WiFi 网络(如路由器),获取 IP 地址,通过该网络访问外部资源(如服务器)。

智能插座连入家庭 WiFi,访问云端 API。

Access Point(AP)

热点(WiFi 路由器)

创建独立 WiFi 网络,允许其他设备(如手机、电脑)连接到自己。

配置页面(如智能设备初次设置)。

混合模式(双模)(STA+AP)

同时作为客户端和热点

既连接到现有网络,又创建自己的热点供其他设备接入。

复杂组网(如 Mesh 网络节点)。

3.AT+CWMODE=3

我们可以直接配置成双模,那么就两个都支持了

如果看到这样的信息OK 那么久配置成功了

以设备模式工作

以设备模式接入家中路由器配置

4.AT+CWJAP="Netcore_BD5255","135075xxxxx"

这边有个bug就是它不支持中文的WIFE名字,这个+CWJAP:3是显示错误码的,按道理是密码错误,但是我的密码是正确的,后面发现不能是中文名称,所以我切换一个英文的就可以了

配置成功后会显示WIFE CONNECTED  

                             WIFE GOT IP

                             OK

那么就是配置成功了以设备模式成功连接上了自己家的wife

连接上了以后我们可以查询一下ESP8266的IP地址

5.AT+CIFSR

解释一下每一个意思

  • +CIFSR:APIP,"192.168.4.1" :表示 ESP8266 在 AP(接入点)模式下的 IP 地址,即当 ESP8266 作为热点时,它自身所拥有的 IP 地址,其他设备连接该热点后,可通过这个 IP 与 ESP8266 通信 。
  • +CIFSR:APMAC,"4a:3f:da:06:fd:9a" :ESP8266 在 AP 模式下的 MAC 地址,MAC 地址是设备在网络中的物理地址,用于在链路层标识设备 。
  • +CIFSR:STAIP,"192.168.167.26" :ESP8266 在 STA(站点)模式下的 IP 地址,意味着当 ESP8266 作为客户端连接到其他 WiFi 网络(如家用路由器)时,从该网络获取到的 IP 地址 。
  • +CIFSR:STAMAC,"4a:3f:da:06:fd:9a" :ESP8266 在 STA 模式下的 MAC 地址,和 AP 模式下 MAC 地址相同,是 ESP8266 硬件本身的唯一标识 。

“192.168.4.1” 和 “192.168.167.254” 这两个 IP 地址是连接网络后,由网络中的 DHCP(动态主机配置协议 )服务器分配的,而非ESP8266本身固有地址 。

地址分配来源

一般家庭或办公网络中,路由器承担 DHCP 服务器功能。当 ESP8266 或电脑等设备连接到该网络,会向 DHCP 服务器发送请求。服务器从预设的 IP 地址池中选取未分配的地址,分配给设备。比如常见的路由器地址池可能是 “192.168.1.10 - 192.168.1.200” ,设备连接就从中获址。

然后我们可以ipconfig一下查一下自己电脑的ip地址

我们会发现ESP处于设备模式和PC同属一个局域网 

当 ESP8266 和 PC 都连接到同一台路由器(或热点)时 ,它们就处于同一个局域网(LAN)内。路由器(或热点)作为局域网的核心设备,会为连接到它的设备分配 IP 地址,这些地址通常在同一网段

由于我们开了双模所以这个ESP8266也会作为一个路由器发送WFIE信号,就是这个没有密码且信号很强的这个

有些是ESP_xxxxx前缀是ESP 有些就是像我这样的,刚开始我也懵了,但是后缀是一样的

连接到TCP-server

为什么要连接到TCP服务器呢

连接到 TCP Server(TCP 服务器)是为了实现设备间的可靠数据通信。在物联网(IoT)场景中,ESP8266(作为客户端)通常需要与服务器交换数据(如上传传感器数据、接收控制指令),而 TCP 协议提供了稳定、有序、无差错的数据传输,适合这类场景。

Ipconfig可以查看当前的ip地址

怎么连接呢

6.AT+CIPSTART=\"TCP\",\"192.168.167.197\",8880

参数1是TCP服务器的意思,参数2是当前服务器的ip地址,这边我们是本地测试,用的是局域网,在自己电脑上安装的TCP服务器,所以TCP服务器的ip地址就是当前电脑连接wife的分配的ip地址,参数3是TCP服务器的端口号

连接之后我们要设置数据的传输模式

第一种是这样的

7.AT+CIPSEND=4  设置即将发送数据的长度 (数字4代表这里是4个字节)

只能发送4个字节的数据,一般汉字发两个,数字或者字符发4个(以4举例)

第二种

这个是最好用的

7.AT+CIPMODE=1   设置为数据传输模式为数据透传模式

AT+CIPCEND     开启数据传输

这个是数据透传模式,就是你可以随便发信息,多少个字符都不会被限制,这个两个一起使用

现在你就解锁了安信可这边可以通过物理的通道(TXD)向ESP8266发送数据,然后ESP8266执行指令通过IP与TCP服务器进行通信,TCP服务器那边也可以通过ip发送数据到ESP8266这边,ESP8266会通过物理通道(TXD)向安信可串口助手发送数据

通信原理是这样的(也是接线原理)

相关文章:

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

记住这个AT指令千万不要去脑子记,要用手册查 每日一言 努力不是为了感动谁,而是为了不辜负自己的野心。 硬件:ESP8266 wife模块 蓝牙,ESP-01s,Zigbee,NB-lot等通信模块都是基于AT指令的设计 老样子 我们用…...

ubuntu20.04.5--arm64版上使用node集成java

ubuntu20.04.5arm上使用node集成java #ssh,可选 sudo apt update sudo apt install openssh-server sudo systemctl status ssh sudo systemctl enable ssh sudo systemctl enable --now ssh #防火墙相关,可选 sudo ufw allow ssh sudo ufw allow 22…...

Linux --UDP套接字实现简单的网络聊天室

一、Server端的实现 1.1、服务端的初始化 ①、创建套接字&#xff1a; 创建套接字接口&#xff1a; #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int socket(int domain, int type, int protocol); //1. 这是一个创建套接字的接…...

嵌入式学习笔记 - keil安装目录下的头文件自动包含问题

Keil MDK/MDK-ARM&#xff08;ARM编译器&#xff09;默认情况下会自动包含其安装目录下的标准头文件路径&#xff08;如CMSIS库、设备头文件等&#xff09;。具体机制如下&#xff1a; ‌默认自动包含‌&#xff1a; 新建工程或使用设备数据库选择芯片型号后&#xff0c;Keil会…...

word批量导出visio图

具体步骤 修改word格式打开VBA窗口插入代码运行代码 修改word格式 将word文档修改为docm格式 打开VBA窗口 打开开发工具VisualBasic项&#xff0c;如果没有右键在自定义功能区添加 插入代码 插入 -> 模块&#xff0c;代码如下&#xff1a; Sub ExportAllVisioDiagrams()D…...

把数据库做得能扩展:Aurora DSQL 的故事

把数据库做得能扩展&#xff1a;Aurora DSQL 的故事 我们在 AWS re:Invent 上发布了 Aurora DSQL&#xff0c;这是一个全新方式构建关系型数据库的尝试。它不是单纯的技术升级&#xff0c;而是一段从零开始、反复试错、不断学习的工程旅程。 我们为什么做 Aurora DSQL&#x…...

全面解析:npm 命令、package.json 结构与 Vite 详解

全面解析&#xff1a;npm 命令、package.json 结构与 Vite 详解 一、npm run dev 和 npm run build 命令解析 1. npm run dev 作用&#xff1a;启动开发服务器&#xff0c;用于本地开发原理&#xff1a; 启动 Vite 开发服务器提供实时热更新&#xff08;HMR&#xff09;功能…...

【本地部署】 Deepseek+Dify创建工作流

文章目录 DeepseekDify 简介流程1、下载Docker2、Dify下载3、使用浏览器打开 Deepseek Deepseek 是一款功能强大的 AI 语言模型工具&#xff0c;具备出色的理解与生成能力。它可以处理各种自然语言任务&#xff0c;无论是文本创作、问答&#xff0c;还是数据分析与解释&#x…...

Rust 配置解析`serde` + `toml`

&#x1f980; Rust 配置解析&#xff1a;彻底搞懂 TOML、Option、Vec、derive 背后的原理 &#x1f4cc; 目录 什么是 TOML 文件&#xff1f;为什么要用 serde toml crate&#xff1f;结构体上 #[derive(...)] 是什么&#xff1f;配置中数组 [] 和表数组 [[...]] 怎么用&…...

linux进程用户态内存泄露问题从进程角度跟踪举例

我们习惯性的会看下那个进程在泄漏内存&#xff0c;我这里使用一个test_malloc的测试进程&#xff0c;该进程每2秒钟会分配一个10000字节的空间&#xff0c;并作简单赋值&#xff08;注意&#xff1a;如果仅malloc而不使用&#xff0c;编译器会优化&#xff0c;实际测试时将看不…...

数据结构-图的应用,实现环形校验和拓扑排序

文章目录 一、如何理解“图”&#xff1f;1.什么是图&#xff1f;2.无向图和有向图3.无权图和有权图 二、JGraphT-图论数据结构和算法的 Java 库1.引入Maven依赖2.环形校验2.1 什么是循环依赖 &#xff1f;2.2 单元测试代码2.3 情况1&#xff1a;自己依赖自己2.4 情况2&#xf…...

交换机 路由器

在计算机网络中&#xff0c;S 和 R 常常分别代表以下设备&#xff1a; S&#xff1a;Switch&#xff08;交换机&#xff09;R&#xff1a;Router&#xff08;路由器&#xff09; 简要说明&#xff1a; Switch&#xff08;交换机&#xff0c;S&#xff09; 交换机工作在数据链…...

某乎x-zse-96 破解(补环境版本)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、总体概述二、请求分析分析请求流程三、逆向分析总结一、总体概述 本文主要实现某乎x-zse-96 破解(补环境版本),相关的链接: https://www.zhihu.com/search?type=content&q=%25E7%258…...

VSCode+Cline 安装配置及使用说明

安装配置 打开VSCode&#xff0c;点击左侧Extension图标&#xff0c;在弹出页面中&#xff0c;检索Cline&#xff0c;选择Cline进行安装。 安装完毕&#xff0c;在左侧会出现一个图标&#xff0c;点击图标 选择【Use your own API key】&#xff0c;在出来的界面中选择大模型&…...

Java中Redis面试题集锦(含过期策略详解)

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Java中Redis面试题集锦&#xff08;含过期策…...

Maven 安装与配置指南(适用于 Windows、Linux 和 macOS)

Apache Maven 是一款广泛应用于 Java 项目的项目管理和构建工具。 本文提供在 Windows、Linux 和 macOS 系统上安装与配置 Maven 的详细步骤&#xff0c;旨在帮助开发者快速搭建高效的构建环境。 一、前置条件&#xff1a;安装 Java Development Kit (JDK) Maven 依赖于 Java …...

android 媒体框架之MediaCodec

一、MediaCodec 整体架构与设计思想 MediaCodec 是 Android 底层多媒体框架的核心组件&#xff0c;负责高效处理音视频编解码任务。其架构采用 生产者-消费者模型&#xff0c;通过双缓冲区队列&#xff08;输入/输出&#xff09;实现异步数据处理&#xff1a; 输入缓冲区队列…...

堆与堆排序及 Top-K 问题解析:从原理到实践

一、堆的本质与核心特性 堆是一种基于完全二叉树的数据结构&#xff0c;其核心特性为父节点与子节点的数值关系&#xff0c;分为大堆和小堆两类&#xff1a; 大堆&#xff1a;每个父节点的值均大于或等于其子节点的值&#xff0c;堆顶元素为最大值。如: 小堆&#xff1a;每个…...

Linux中检查当前用户是不是root

Linux中检查当前用户是不是root 检查当前用户是否为root用户。如果是root用户&#xff0c;输出“当前用户是root”&#xff1b;否则&#xff0c;输出“当前用户不是root”。 创建一个 aaa.sh脚本文件 写入如下内容 #!/bin/bash# 检查当前用户的UID是否为0&#xff08;root用…...

软件锁:守护隐私,安心无忧

数字化时代&#xff0c;手机已成为我们生活中不可或缺的一部分&#xff0c;它不仅存储着我们的个人信息、照片、聊天记录等重要数据&#xff0c;还承载着我们的社交、娱乐和工作等多种功能。然而&#xff0c;这也意味着手机上的隐私信息面临着诸多泄露风险。无论是家人、朋友还…...

无人机桥梁3D建模、巡检、检测的航线规划

无人机桥梁3D建模、巡检、检测的航线规划 无人机在3D建模、巡检和检测任务中的航线规划存在显著差异&#xff0c;主要体现在飞行高度、航线模式、精度要求和传感器配置等方面。以下是三者的详细对比分析&#xff1a; 1. 核心目标差异 任务类型主要目标典型应用场景3D建模 生成…...

项目:贪吃蛇实现

头文件 snake.h #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<locale.h> #include<stdbool.h> #include<time.h>#define POS_X 24#define POS_Y 5 #define BODY L● #define FOOD L★ #define KEY_PRESS(VK) ((…...

【Java基础05】面向对象01

文章目录 1. 设计对象并使用1.1 类与对象1.2 封装1.2.1 private关键字1.2.2 this关键字成员变量和局部变量的区别 1.2.3 构造方法1.2.4 标准JavaBean类 1.3 对象内存图 本文部分参考这篇博客 1. 设计对象并使用 1.1 类与对象 public class 类名{1、成员变量(代表属性,一般是名…...

设计模式:观察者模式 - 实战

一、观察者模式场景 1.1 什么是观察者模式&#xff1f; 观察者模式&#xff08;Observer Pattern&#xff09;观察者模式是一种行为型设计模式&#xff0c;用于定义一种一对多的依赖关系&#xff0c;当对象的状态发生变化时&#xff0c;所有依赖于它的对象都会自动收到通知并更…...

8.8 Primary ODSA service without ODSA Portal

主要ODSA服务&#xff08;不使用ODSA门户&#xff09; 以下场景描述如下情况&#xff1a; • 主ODSA客户端应用程序被允许用于该类型的主设备&#xff0c;且对终端用户启用&#xff08;已授权&#xff09;。 • 服务提供商&#xff08;SP&#xff09;能够在不涉及ODSA门户Web服…...

YOLOv8 移动端升级:借助 GhostNetv2 主干网络,实现高效特征提取

文章目录 引言GhostNetv2概述GhostNet回顾GhostNetv2创新 YOLOv8主干网络改进原YOLOv8主干分析GhostNetv2主干替换方案整体架构设计关键模块实现 完整主干网络实现YOLOv8集成与训练模型集成训练技巧 性能对比与分析计算复杂度对比优势分析 部署优化建议结论与展望 引言 目标检…...

国产化Word处理控件Spire.Doc教程:在 C# 中打印 Word 文档终极指南

在 C# 中以编程方式打印 Word 文档可以简化业务工作流程、自动化报告和增强文档管理系统。本指南全面探讨如何使用Spire.Doc for .NET打印 Word 文档&#xff0c;涵盖从基本打印到高级自定义技术的所有内容。我们将逐步介绍每种情况下的实际代码示例&#xff0c;确保您能够在实…...

java的vscode扩展插件

在 Visual Studio Code (VSCode) 中&#xff0c;Java 开发可以通过多种方式得到支持&#xff0c;包括安装专门的扩展插件。下面是一些流行的 VSCode 扩展插件&#xff0c;可以帮助你更好地进行 Java 开发&#xff1a; Language Support for Java(TM) by Red Hat 官方支持&…...

谷歌:贝叶斯框架优化LLM推理反思

&#x1f4d6;标题&#xff1a;Beyond Markovian: Reflective Exploration via Bayes-Adaptive RL for LLM Reasoning &#x1f310;来源&#xff1a;arXiv, 2505.20561 &#x1f31f;摘要 通过强化学习 (RL) 训练的大型语言模型 (LLM) 表现出强大的推理能力和紧急反射行为&a…...

Qt SQL模块基础

Qt SQL模块基础 一、Qt SQL模块支持的数据库 官方帮助文档中的Qt支持的数据库驱动如下图&#xff1a; Qt SQL 模块中提供了一些常见的数据库驱动&#xff0c;包括网络型数据库&#xff0c;如Qracle、MS SQL Server、MySQL等&#xff0c;也包括简单的单机型数据库。 Qt SQL支…...