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

学习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)向安信可串口助手发送数据

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

相关文章:

  • LLMTIME: 不用微调!如何用大模型玩转时间序列预测?
  • Pytorch---ImageFolder
  • 什么是闭包
  • 姜老师MBTI课程:ISTP和ISFP
  • Thinkphp6实现websocket
  • 秒杀系统—5.第二版升级优化的技术文档三
  • 设备健康管理的战略升维:用预测性维护重构企业竞争力
  • Linux 基础IO(上)
  • VR/AR 显示瓶颈将破!铁电液晶技术迎来关键突破
  • Android15 userdebug版本不能remount
  • 玩客云 OEC/OECT 笔记
  • 嵌入式RTC工作原理及应用场景
  • 【MYSQL】索引篇(一)
  • 前端面试准备-4
  • python打卡第41天
  • RESTful API原理,以及如何使用它构建 web 应用程序
  • 配置前端控制器
  • 帕金森带来的生活困境
  • proteus新建工程
  • Rust 配置解析`serde` + `toml`
  • 建设电瓶车官方网站/在线crm系统
  • cdr里做网站超级链接/购物网站推广方案
  • 网站充值功能怎么做/视频专用客户端app
  • 建筑网站开发设计/百度竞价推广有哪些优势
  • 锦州网站建设品牌好/搜索引擎营销方法
  • 网站开发怎样验收/站长工具seo综合查询源码