学习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、服务端的初始化 ①、创建套接字: 创建套接字接口: #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int socket(int domain, int type, int protocol); //1. 这是一个创建套接字的接…...
嵌入式学习笔记 - keil安装目录下的头文件自动包含问题
Keil MDK/MDK-ARM(ARM编译器)默认情况下会自动包含其安装目录下的标准头文件路径(如CMSIS库、设备头文件等)。具体机制如下: 默认自动包含: 新建工程或使用设备数据库选择芯片型号后,Keil会…...

word批量导出visio图
具体步骤 修改word格式打开VBA窗口插入代码运行代码 修改word格式 将word文档修改为docm格式 打开VBA窗口 打开开发工具VisualBasic项,如果没有右键在自定义功能区添加 插入代码 插入 -> 模块,代码如下: Sub ExportAllVisioDiagrams()D…...
把数据库做得能扩展:Aurora DSQL 的故事
把数据库做得能扩展:Aurora DSQL 的故事 我们在 AWS re:Invent 上发布了 Aurora DSQL,这是一个全新方式构建关系型数据库的尝试。它不是单纯的技术升级,而是一段从零开始、反复试错、不断学习的工程旅程。 我们为什么做 Aurora DSQL&#x…...
全面解析:npm 命令、package.json 结构与 Vite 详解
全面解析:npm 命令、package.json 结构与 Vite 详解 一、npm run dev 和 npm run build 命令解析 1. npm run dev 作用:启动开发服务器,用于本地开发原理: 启动 Vite 开发服务器提供实时热更新(HMR)功能…...

【本地部署】 Deepseek+Dify创建工作流
文章目录 DeepseekDify 简介流程1、下载Docker2、Dify下载3、使用浏览器打开 Deepseek Deepseek 是一款功能强大的 AI 语言模型工具,具备出色的理解与生成能力。它可以处理各种自然语言任务,无论是文本创作、问答,还是数据分析与解释&#x…...
Rust 配置解析`serde` + `toml`
🦀 Rust 配置解析:彻底搞懂 TOML、Option、Vec、derive 背后的原理 📌 目录 什么是 TOML 文件?为什么要用 serde toml crate?结构体上 #[derive(...)] 是什么?配置中数组 [] 和表数组 [[...]] 怎么用&…...
linux进程用户态内存泄露问题从进程角度跟踪举例
我们习惯性的会看下那个进程在泄漏内存,我这里使用一个test_malloc的测试进程,该进程每2秒钟会分配一个10000字节的空间,并作简单赋值(注意:如果仅malloc而不使用,编译器会优化,实际测试时将看不…...

数据结构-图的应用,实现环形校验和拓扑排序
文章目录 一、如何理解“图”?1.什么是图?2.无向图和有向图3.无权图和有权图 二、JGraphT-图论数据结构和算法的 Java 库1.引入Maven依赖2.环形校验2.1 什么是循环依赖 ?2.2 单元测试代码2.3 情况1:自己依赖自己2.4 情况2…...
交换机 路由器
在计算机网络中,S 和 R 常常分别代表以下设备: S:Switch(交换机)R:Router(路由器) 简要说明: Switch(交换机,S) 交换机工作在数据链…...

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

VSCode+Cline 安装配置及使用说明
安装配置 打开VSCode,点击左侧Extension图标,在弹出页面中,检索Cline,选择Cline进行安装。 安装完毕,在左侧会出现一个图标,点击图标 选择【Use your own API key】,在出来的界面中选择大模型&…...
Java中Redis面试题集锦(含过期策略详解)
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Java中Redis面试题集锦(含过期策…...

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

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

堆与堆排序及 Top-K 问题解析:从原理到实践
一、堆的本质与核心特性 堆是一种基于完全二叉树的数据结构,其核心特性为父节点与子节点的数值关系,分为大堆和小堆两类: 大堆:每个父节点的值均大于或等于其子节点的值,堆顶元素为最大值。如: 小堆:每个…...
Linux中检查当前用户是不是root
Linux中检查当前用户是不是root 检查当前用户是否为root用户。如果是root用户,输出“当前用户是root”;否则,输出“当前用户不是root”。 创建一个 aaa.sh脚本文件 写入如下内容 #!/bin/bash# 检查当前用户的UID是否为0(root用…...

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

无人机桥梁3D建模、巡检、检测的航线规划
无人机桥梁3D建模、巡检、检测的航线规划 无人机在3D建模、巡检和检测任务中的航线规划存在显著差异,主要体现在飞行高度、航线模式、精度要求和传感器配置等方面。以下是三者的详细对比分析: 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 什么是观察者模式? 观察者模式(Observer Pattern)观察者模式是一种行为型设计模式,用于定义一种一对多的依赖关系,当对象的状态发生变化时,所有依赖于它的对象都会自动收到通知并更…...
8.8 Primary ODSA service without ODSA Portal
主要ODSA服务(不使用ODSA门户) 以下场景描述如下情况: • 主ODSA客户端应用程序被允许用于该类型的主设备,且对终端用户启用(已授权)。 • 服务提供商(SP)能够在不涉及ODSA门户Web服…...

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

国产化Word处理控件Spire.Doc教程:在 C# 中打印 Word 文档终极指南
在 C# 中以编程方式打印 Word 文档可以简化业务工作流程、自动化报告和增强文档管理系统。本指南全面探讨如何使用Spire.Doc for .NET打印 Word 文档,涵盖从基本打印到高级自定义技术的所有内容。我们将逐步介绍每种情况下的实际代码示例,确保您能够在实…...
java的vscode扩展插件
在 Visual Studio Code (VSCode) 中,Java 开发可以通过多种方式得到支持,包括安装专门的扩展插件。下面是一些流行的 VSCode 扩展插件,可以帮助你更好地进行 Java 开发: Language Support for Java(TM) by Red Hat 官方支持&…...

谷歌:贝叶斯框架优化LLM推理反思
📖标题:Beyond Markovian: Reflective Exploration via Bayes-Adaptive RL for LLM Reasoning 🌐来源:arXiv, 2505.20561 🌟摘要 通过强化学习 (RL) 训练的大型语言模型 (LLM) 表现出强大的推理能力和紧急反射行为&a…...

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