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

STM32 ESP8266模块的曲折探索

这是本文的配套资料,最终工程请参考 新_ESP8266资料\stm32f103成功移植的项目

【免费】stm32f103c8t6esp8266资料资源-CSDN文库

一、等到了ready

产品参数

我使用的是ai-thinker的esp8266-01s,以下为产品规格书

引脚定义: 

 依据引脚定义,GND接GND,VCC接3.3V,TX接USB转TTL的Rx, Rx 接USB转TTL的RX,之后尝试多次,都只是显示

初次尝试

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

[12:27:20.994]

[12:27:20.994] load 0x40100000, len 6960, room 16

[12:27:21.004] tail 0

[12:27:21.004] chksum 0xa5

[12:27:21.004] load 0x3ffe8008, len 24, room 8

[12:27:21.014] tail 0

[12:27:21.014] chksum 0x1c

[12:27:21.014] load 0x3ffe8020, len 3196, room 8

[12:27:21.024] tail 4

[12:27:21.024] chksum 0xde

[12:27:21.024] csum 0xde

[12:27:21.211]

[12:27:21.214] ets Jan 8 2013,rst cause:4, boot mode:(3,6)

[12:27:21.224]

[12:27:21.224] wdt reset

[12:27:21.224] ets_main.c

查了许多资料,说是没刷固件,于是用flash down tool刷固件,可总是停在sync,最终看到这位大佬的文章:ESP8266烧录固件提示等待上电同步,下载失败-CSDN博客

尝试后问题虽解决,但总是烧录不了,以下是日志:

0x3ff00050: 17790000
0x3ff00054: 020078bc
0x3ff00058: 1c00b000
0x3ff0005c: 00c8c9a3
check_err_0: 0bcheck_err_1: 00check_err_2: 00check_err_3: 02check_err_4: 0b====================
EFUSE NORMAL MODE 

接到5v依旧不行,我认为不是电源问题。。。

找到问题(电源)

知道某一天,我购买了tft lcd屏幕,vcc gnd接好,但就是不亮!当时改了三天的驱动,依旧不行。抱着死马当活马医的心态,我用两节干电池供电,居然亮了!!!我于是意识到电源不对,用万用表检测3.3v引脚和gnd引脚之间的电压,发现只有2.23V!!!我不用jlink供电,直接供电,再次测量,是3.27V,看来,这jlink害人不浅!!!

最终,终于等到了ready!!!

电脑上也能看到ESP_XXX的WiFi 

我尝试了很多供电方式,发现两节干电池供电不稳,一直乱码;插座上的USB供电,电流不够,esp8266反复重启;USB转TTL供电显示ets Jan 8 2013,rst cause:4, boot mode:(3,6) 。只有用USB充电线连接电脑USB口和stm32f103电源接口时才显示ready。

二、测试AT指令

使用友善串口助手测试,但发送了AT、AT\r\n都没反应,使用ai-thinker官方的串口调试助手成功接收到OK 

3.2.1. AT—测试 AT 启动

AT+RST—重启模块

AT+GMR—查询版本信息

AT+CIPSERVER—建⽴ TCP 服务器

AT+CIPSERVERMAXCONN—设置服务器允许建⽴的最⼤连接数

AT+CIPMODE—设置传输模式 AT+SAVETRANSLINK—保存透传到 Flash

AT+CIPSTO—设置 TCP 服务器超时时间

AT+PING—Ping 功能

AT+CIUPDATE—通过 Wi-Fi 升级软件

AT+CIPDINFO—接收⽹络数据时是否提示对端 IP 和端⼝

+IPD—接收⽹络数据

AT+CIPRECVMODE—设置 TCP 连接的数据接收⽅式

AT+CIPRECVDATA—被动接收模式时,读取缓存的 TCP 数据

AT+CIPRECVLEN—被动接收模式时,查询缓存 TCP 数据的⻓度

AT+CIPSNTPCFG—设置时域和 SNTP 服务器.

AT+CIPSNTPTIME—查询 SNTP 时间..................................................

详细指令可参考 本文资料

三、移(白)植(嫖)onenet驱动

找驱动

onenet例程可参考本文资料

我是用的是这个免费的公共mqtt服务器:免费的公共 MQTT 服务器 | EMQ (emqx.com)

下载好我提供的资料后,打开 新_ESP8266资料\2.OneNET-V3.2-OneNET-裸机-基础例程\21.MQTT-例程\1.ESP8266-MQTT-订阅、发布主题

查看引脚定义,发现stm32f103c8t6的RX引脚有PA3和PA10 ,TX有PA2和PA9

这里我们使用PA2、PA3和esp8266通信,PA9和PA10和电脑通信,便于调试

main.c中     const char *topics[] = {"kylinBoard"}; 设置mqtt通信的主题,可参考这位大佬的博文:详解MQTT主题和通配符_mqtt topic 通配符-CSDN博客

做微调

esp8266.c中

#define ESP8266_WIFI_INFO       "AT+CWJAP=\"ONENET\",\"IOT@Chinamobile123\"\r\n"

ONENET是WIFI名称、IOT@Chinamobile123是WiFi密码,配置成自己家的WIFI

#define ESP8266_ONENET_INFO     "AT+CIPSTART=\"TCP\",\"183.230.40.39\",6002\r\n"

 183.230.40.39改成自己服务器的IP

6002改成自己服务器的端口

我使用的是emqx的公用服务器,改成#define ESP8266_ONENET_INFO     "AT+CIPSTART=\"TCP\",\"broker.emqx.io\",1883\r\n"

成功

最终打印出信息

PROID: 77247, AUIF: test, DEVID:5616839

Tips: 连接成功

Subscribe Topic: stmSmartDesktopScreen/cmd

Tips: MQTT Subscribe OK

topic: /mylocator/sub, topic_len: 14, payload: {"lock_SW":1}

, payload_len: 14

topic: /mylocator/sub, topic_len: 14, payload: {"lock_SW":1}

, payload_len: 14

topic: /mylocator/sub, topic_len: 14, payload: {"lock_SW":1}

, payload_len: 14

topic: /mylocator/sub, topic_len: 14, payload: {"lock_SW":1

最后,请大家一定注意供电,注意供电,注意供电,我就是被供电害惨了!!!

相关文章:

STM32 ESP8266模块的曲折探索

这是本文的配套资料,最终工程请参考 新_ESP8266资料\stm32f103成功移植的项目 【免费】stm32f103c8t6esp8266资料资源-CSDN文库 一、等到了ready 产品参数 我使用的是ai-thinker的esp8266-01s,以下为产品规格书 引脚定义: 依据引脚定义&…...

letcode::根据二叉树创建字符串

根据二叉树创建字符串 题目描述: 给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。 空节点使用一对空括号对 “()” 表示,转化后需要省略所有不影…...

6个免费的ChatGPT网站

AI 大模型的出现给时代带来了深远的影响: 改变了产业格局:AI 大模型的发展推动了人工智能技术在各行业的广泛应用,改变了传统产业的运作方式,促进了新兴产业的崛起,如智能驾驶、医疗健康、金融科技等。提升了科学研究…...

每天几道面试题|Kafka(一)基础概念

文章目录 什么是 Apache Kafka?它是用来解决什么问题的?Kafka 的主要组件有哪些?它们各自的作用是什么?Kafka 中的生产者和消费者是什么?它们之间的关系是怎样的?Kafka 中的分区是什么?为什么要…...

PLC与智能制造——蛋糕增大?谁来先行?

PLC的特点 图1 PLC的特点 PLC与智能制造 “中国制造2025”把智能制造作为自动化和信息化深度融合的主攻方向,其支撑在于强大的工业自动化系统,而PLC是工业自动化系统的“大脑”,它不仅可控制机械装备和生产线,还是信息的采集器和…...

基于spring boot框架的发艺美发店管理系统

摘 要 系统根据现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方法对发艺美发店管理的现状进行系统调查。采用结构化的分析设计,该方法要求结合一定的图表,在模块化的基础上进行系统的开发工作。在设计中采用“自下而…...

Linux - IO

目录 四种典型IO方式阻塞IO非阻塞IO信号驱动异步IO 多路转接IOselect模型接口 四种典型IO方式 IO:输入输出–过程:等待IO就绪,进行数据拷贝 阻塞:为了完成某功能,发起一个调用,若完成功能条件不具备&#…...

Cmake和opencv环境安装

1 Cmake下载及安装 Download CMake 根据需要下载,历史版本下载方法如下 CMake 的版本号中的后缀 "rc1" 和 "rc2" 表示 Release Candidate 1 和 Release Candidate 2,它们都是候选版本,用于测试新功能和修复 bug。通常情…...

Redis是如何避免“数组+链表”的过长问题

目录 一、扩展和收缩 二、使用高质量的哈希函数 三、使用跳跃表(skiplist)或其他数据结构 四、哈希表分片 一、扩展和收缩 Redis通过动态调整哈希表的大小来解决“数组链表”的长度问题,这涉及到两个过程:扩展(Expand)和收缩(S…...

Grass手机注册使用教程,利用闲置手机WiFi带宽赚钱

文章目录 Grass是什么? 项目介绍Grasss手机使用步骤第一步:下载狐猴浏览器第二步:注册账户(已注册直接跳过)第三步:安装Grass Chrome插件1、推荐离线安装2、在线安装 第四步:登录第五步&#xf…...

java NIO群聊系统

demo要求: 1)编写一个NIO群聊系统,实现服务器端和客户端之间的数据简单通讯(非阻塞) 2)实现多人群聊 3)服务器端:可以监测用户上线,离线,并实现消息转发功…...

ZCC5429 异步升压芯片

一、产品综述 ZCC5429 芯片是一款自动调频、最高 600KHz 工作频率、高效率、宽输入电压范围的电流模式异步升压(BOOST)芯片,且可调输入限流功能。用户可灵活地通过外部补偿建立动态环路,获得在所有条件下最优瞬态性能。 ZCC5429…...

复试专业前沿问题问答合集10-1——区块链与加密货币

复试专业前沿问题问答合集10-1——区块链与加密货币 区块链与加密货币安全以及6G通信的基础知识问答: 区块链以及加密货币相关的基础安全知识 包括区块链如何确保交易安全、共识机制的作用、加密货币钱包的保护措施、智能合约的工作原理以及如何防范潜在的网络攻击。这些知…...

redis【面试题】

目录 Java全技术栈面试题合集地址Redis篇1.Redis 的数据类型?2.Redis 是单进程单线程的?3.一个字符串类型的值能存储最大容量是多少?4.Redis 的持久化机制是什么?各自的优缺点?5.redis 过期键的删除策略?6.…...

linux下使用 tar 来压缩和解压 tar.gz 和 tar.xz 文件

linux下使用 tar 来压缩和解压 tar.gz 和 tar.xz 文件 文章目录 linux下使用 tar 来压缩和解压 tar.gz 和 tar.xz 文件1. 压缩 tar.gz 文件2. 解压 tar.gz 文件3. 压缩 tar.xz 文件4. 解压 tar.xz 文件 1. 压缩 tar.gz 文件 要创建 .tar.gz 文件(即使用 gzip 压缩的…...

Python环境下基于1D-CNN的轴承故障诊断及TSNE特征可视化

1D CNN 处理一维信号具有显著优势,已在很多领域得到初步应用: 心电图监测:将1DCNN应用于心脏病监测,其方法是针对每一个心脏病人的,即对于每个心律失常患者使用该患者特有的训练数据,专门训练出一个紧凑的…...

进程的调度,原则,算法

进程调度 进行上下问切换的时候根据什么原则来切换进程呢 进程的什么周期什么时候进行调度 调度原则 评价指标,作为调度算法的参考 调度算法的实现的标准 响应时间越小越好,平均响应时间的波动越小越好,稳定 (不能忽大忽小&am…...

瑞_23种设计模式_状态模式

文章目录 1 状态模式(State Pattern)1.1 介绍1.2 概述1.3 状态模式的结构1.4 状态模式的优缺点1.5 状态模式的使用场景 2 案例一2.1 需求2.2 代码实现(未使用状态模式)2.3 代码实现(状态模式) 3 案例二3.1 …...

system Verilog:clocking中定义信号为input和output的区别

在SystemVerilog中,clocking块用于定义时钟块,这通常用于描述时钟边缘和同步的输入/输出行为,特别是在测试平台和硬件接口描述中。 在下述两个代码示例中,主要区别在于a被定义为一个input还是output。 当a被定义为input时&#x…...

JAVA_Tomcat

Tomcat 使用教程 1.下载: http://tomcat.apache.org/ 2.安装: 解压压缩包(安装目录不要有中文) 3.卸载: 删除目录即可 4.启动: 运行./bin/startup.sh1.黑窗口一闪而过: 没有配置好JDK环境变量2.启动报错(查看日志文件): 端口占用 5.关闭: 1.强制关闭: 点击窗口关闭按钮2.正常…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求&#xff…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键&#xff…...