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

article/2025/6/19 6:00:08

记住这个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)向安信可串口助手发送数据

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


http://www.hkcw.cn/article/TeYsOtRmrA.shtml

相关文章

华为OD机试真题——统计匹配的二元组个数(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 2025华为OD真题目录+全流程解析/备考攻略/经验分享 华为OD机试真题《统计匹配的二元组个数》:…

LLMTIME: 不用微调!如何用大模型玩转时间序列预测?

今天是端午节,端午安康!值此传统佳节之际,我想和大家分享一篇关于基于大语言模型的时序预测算法——LLMTIME。随着人工智能技术的飞速发展,利用大型预训练语言模型(LLM)进行时间序列预测成为一个新兴且极具…

Unity3D仿星露谷物语开发56之保存角色位置到文件

1、目标 游戏中通过Save Game保存角色位置,当重启游戏后,通过Load Game可以恢复角色的位置。 2、Player对象操作 (1)组件添加 给Hierarchy下的Player组件添加Generate GUID组件。 (2)修改SceneSave.cs脚…

AI书签管理工具开发全记录(八):Ai创建书签功能实现

文章目录 AI书签管理工具开发全记录(八):AI智能创建书签功能深度解析前言 📝1. AI功能设计思路 🧠1.1 传统书签创建的痛点1.2 AI解决方案设计 2. 后端API实现 ⚙️2.1 新增url相关工具方法2.1 创建后端api2.2 创建crea…

【计算机网络】第3章:传输层—概述、多路复用与解复用、UDP

目录 一、概述和传输层服务 二、多路复用与解复用 三、无连接传输:UDP 四、总结 (一)多路复用与解复用 (二)UDP 一、概述和传输层服务 二、多路复用与解复用 三、无连接传输:UDP 四、总结 &#xff08…

leetcode hot100刷题日记——30.两数之和

解答: 方法一:迭代 迭代大致过程就是: 算两条链表的当前位的和,加上上一位留下来的进位,就是新链表的当前位的数字。计算当前的进位。 这样,我们迭代需要的东西是:链表1,链表2&…

飞腾D2000与FPGA结合的主板

UD VPX-404是基于高速模拟/数字采集回放、FPGA信号实时处理、CPU主控、高速SSD实时存储架构开发的一款高度集成的信号处理组合模块,采用6U VPX架构,模块装上外壳即为独立整机,方便用户二次开发。 UD VPX-404模块的国产率可达到100%&#xff0…

Baklib知识中台驱动服务升级

知识中台架构升级路径 在数字化转型背景下,Baklib通过重构知识中台的技术底座与服务体系,形成了分层解耦的模块化架构。该架构以四库体系为核心支撑,通过分布式存储引擎与语义分析算法的深度耦合,实现了多源异构数据的标准化接入…

NHANES指标推荐:ALI

文章题目:A cross-sectional study examining the relationship between the advanced lung cancer inflammation index and prostate cancer 中文标题:一项检查晚期肺癌炎症指数与前列腺癌之间关系的横断面研究 发表杂志:Journal of Health…

Python训练打卡Day38

Dataset和Dataloader类 知识点回顾: Dataset类的__getitem__和__len__方法(本质是python的特殊方法)Dataloader类minist手写数据集的了解 在遇到大规模数据集时,显存常常无法一次性存储所有数据,所以需要使用分批训练的…

leetcode付费题 353. 贪吃蛇游戏解题思路

贪吃蛇游戏试玩:https://patorjk.com/games/snake/ 问题描述 设计一个贪吃蛇游戏,要求实现以下功能: 初始化游戏:给定网格宽度、高度和食物位置序列移动操作:根据指令(上、下、左、右)移动蛇头规则: 蛇头碰到边界或自身身体时游戏结束(返回-1)吃到食物时蛇身长度增加…

NLP学习路线图(十三):正则表达式

在自然语言处理(NLP)的浩瀚宇宙中,原始文本数据如同未经雕琢的璞玉。而文本预处理,尤其是其中至关重要的正则表达式技术,正是将这块璞玉转化为精美玉器的核心工具集。本文将深入探讨正则表达式在NLP文本预处理中的原理…

【算法】动态规划

一、动态规划的基本思想 动态规划算法与分治法类似,其基本思想也是将待求解的较大规模问题分解为若干个较小的子问题,先求解子问题,再从这些子问题的解得到原问题的解。 但动态规划法有自己的特点。分治法的子问题相互独立,适合动…

设计模式——原型设计模式(创建型)

摘要 本文详细介绍了原型设计模式,这是一种创建型设计模式,通过复制现有对象(原型)来创建新对象,避免使用new关键字,可提高性能并简化对象创建逻辑。文章阐述了其优点,如提高性能、动态扩展和简…

java程序从服务器端到Lambda函数的迁移与优化

source:https://www.jfokus.se/jfokus24-preso/From-Serverful-to-Serverless-Java.pdf 从传统的服务器端Java应用,到如今的无服务器架构。这不仅仅是技术名词的改变,更是开发模式和运维理念的一次深刻变革。先快速回顾一下我们熟悉的“服务…

57、IdentityServer4概述

IdentityServer4是一个基于ASP.NET Core的开源身份认证和授权框架,实现了OpenID Connect和OAuth 2.0协议。它为现代应用程序提供集中式的身份验证和授权服务,支持单点登录(SSO)、令牌颁发与验证、会话管理等功能,广泛应…

2025.5.29 学习日记 docker概念以及基本指令

Docker: Docker 是一种开源的容器化平台,用于快速部署应用程序,实现开发、测试和生产环境的一致性。 一、Docker 核心概念 镜像(Image) 只读的模板文件,用于创建容器,类似虚拟机的镜像&#x…

AI与智能驾驶的关系和原理:技术融合与未来展望-优雅草卓伊凡一、AI大模型基础原理与智能驾驶

AI与智能驾驶的关系和原理:技术融合与未来展望-优雅草卓伊凡 一、AI大模型基础原理与智能驾驶 1.1 AI大模型的核心架构 本内容由优雅草木心为卓伊凡提供技术辅助讲解,毕竟木心目前正在比亚迪。 人工智能大模型是基于深度学习的复杂神经网络系统&#…

企业AI部署热潮下的安全隐忧:速度与安全的博弈

数据来源:企业网D1net 企业AI部署热潮下的安全隐忧:速度与安全的博弈 近年来,生成式人工智能(GenAI)的迅猛发展让企业趋之若鹜。然而,在这场技术竞赛中,不少企业却因盲目追求速度而忽视了安全…

分析XSSstrike源码

#用于学习web安全自动化工具# 我能收获什么? 1.XSS漏洞检测机制 学习如何构造和发送XSS payload如何识别响应中的回显,WAF,过滤规则等如何使用词典,编码策略,上下文探测等绕过过滤器 2.Python安全工具开发技巧 使…