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

【STM32+ESP8266上云连载①】给ESP8266烧录AT固件

文章目录

  • 一、给NodeMCU烧录固件
    • 1.1硬件准备
    • 1.2软件准备
    • 1.3AT固件下载
    • 1.4配置设置
    • 1.5开始烧录
  • 二、给ESP8266-01S烧录固件
    • 2.1硬件准备
    • 2.2AT固件下载
    • 2.3连线
    • 2.4烧录配置
  • 三、给ESP-12E/F/S单片烧录固件
  • 四、指令测试
    • 4.1HTTP测试
    • 4.2MQTT测试

我在使用ESP8266的时候遇到了一些问题,像给固件烧录、和单片机结合使用MQTT协议给云服务器发送数据等。乐鑫有提供基础的AT固件,可以正常使用模组的一些基本的功能,但是针对MQTT协议需要烧录专门的固件使用。因此,我将自己解决遇到的问题解决方法写一下,希望可以帮到你。

一、给NodeMCU烧录固件

由于一般购买的NodeMCU模组引脚比较全,并且将串口也引出,因此在下载固件使用的时候更方便,仅仅需要一条数据线即可(一般都是micro-usb数据线,并且就是可以进行数据传输的那种)。

1.1硬件准备

  • 安装windows操作系统的电脑一台
  • 数据线一根
  • NodeMCU模组
    在这里插入图片描述
    使用数据线连接到电脑,并且可以正常识别到设备。
    如果不能正常识别需要考虑:
    1、是否安装了CH340串口驱动或者CP2102串口驱动
    2、或者考虑芯片串口是否损坏
    3、数据线是否不支持数据传输

1.2软件准备

  • 使用官方提供的烧录工具Flash Download Tools(点击链接下载)

在这里插入图片描述

其中的【doc】文件夹包含下载软件的具体使用方式介绍

解压后,双击exe即可打开软件,下图为界面打开样式

在这里插入图片描述

  • 选择需要下载的设备类型【ESP8266】模式为【Develop】,点击【ok】即可
  • 进入到路径配置和烧录参数配置界面

在这里插入图片描述

1.3AT固件下载

  • 有关乐鑫系列模组的详情介绍界面
    本界面提供有ESP8266不同系列的购买链接和介绍文档

在这里插入图片描述

  • 进入到安信可的相关固件下载界面(点击直达)

在这里插入图片描述

进入到界面可以看到不同类型的固件,有专门的云服务固件,有MQTT相关的固件,本次要进行MQTT测试,因此就是要下载MQTT透传固件即可,它包含了和MQTT协议相关的AT指令。

  • 点击固件下载并解压打开
    可以看到里面有一个文件夹,进入后显示一个bin文件,后缀为【4M

在这里插入图片描述

固件4其中文件的后缀是【4M】因此可以下载到NodeMCU,也就是ESP12E/F/S上,但是针对ESP8266-01系列就不可以了,需要下载小的固件,后缀为【1M】的。

1.4配置设置

  • 打开下载软件,进入到配置界面
  • 选择固件的绝对路径,并填写后面的下载起始地址【0x0

在这里插入图片描述

  • 配置SPI_SPEED为【40MHz
  • 配置SPI_MODE为【DIO
  • 不勾选【DoNotChgBin
  • 手动选择串口
  • 将下载速率拉满到【1500000
  • 最后的配置界面为

在这里插入图片描述

1.5开始烧录

  • 点击左下角的【START】,等待进度条到最后
  • 完成下载后显示【FINSH完成

在这里插入图片描述

从这里可以看到软件检测到设备的Flash大小是4MB,因此下载上面选择的MQTT固件完全可以

一般情况下不需要额外的操作,NodeMCU自身带有下载检测模式,自动将芯片设置为下载模式。

  • 打开任意一个串口调试助手,进行简单测试
    按下NodeMCU的复位键,可以看到打印的信息:

在这里插入图片描述

可以看到打印出来max地址、固件版本、编译时和最后的ready

二、给ESP8266-01S烧录固件

倘若你手里面有一个烧录架那就更好了,但是我说的方法是在没有烧录架,只有USB转TTL的情况下的方法。

2.1硬件准备

  • 安装windows操作系统的电脑一台
  • 数据线一根
  • ESP8266-01模组

在这里插入图片描述

2.2AT固件下载

  • 选择第七个固件直达链接

在这里插入图片描述

  • 点击固件下载并解压打开
    可以看到里面有一个文件夹,进入后显示一个bin文件,后缀为【1M

在这里插入图片描述

固件7其中文件的后缀是【1M】因此可以下载到ESP826601上

2.3连线

  • 根据ESP8266的下载模式,需要将GPIO0连接到【GND

在这里插入图片描述

  • USB转TTL和ESP8266的连线
UAB转TTLESP8266-01S
RXDTXD
TXDRXD
3.3VVCC
GNDGND
GNDIO0
GNDRST

2.4烧录配置

  • 配置的方法同NodeMCU

在这里插入图片描述

  • 烧录操作
    将USB转TTL和ESP8266-01S按照上面的接线图连接,然后按下软件上左下角的【START
    然后将接线的RST断开,然后下载状态将会变化,等待进度条走完即可
  • 烧录完成

在这里插入图片描述

  • 打开任意一个串口调试助手,进行简单测试
    将【IO0】从【GND】断开,然后将【RST】拉低后断开,可以看到打印的信息:

在这里插入图片描述

到此为止,MQTT固件烧录已经完成,你可以应对大多数情况下的固件烧录了
同时,你也可以烧录其他类型的固件进行测试,但是需要注意的是需要进行Flash存储大小的匹配

三、给ESP-12E/F/S单片烧录固件

烧录方式同上。

四、指令测试

4.1HTTP测试

4.2MQTT测试

相关文章:

【STM32+ESP8266上云连载①】给ESP8266烧录AT固件

文章目录 一、给NodeMCU烧录固件1.1硬件准备1.2软件准备1.3AT固件下载1.4配置设置1.5开始烧录 二、给ESP8266-01S烧录固件2.1硬件准备2.2AT固件下载2.3连线2.4烧录配置 三、给ESP-12E/F/S单片烧录固件四、指令测试4.1HTTP测试4.2MQTT测试 我在使用ESP8266的时候遇到了一些问题&…...

深入解析Spring基本概念和核心思想

文章目录 基本概念IoCIoc容器IoC理解IoC的步骤Spring中使用ioc的步骤 AopAop的理解Aop的步骤 控制反转谁控制谁? 控制什么?为何叫反转(对应于正向)?哪些方面反转了?为何需要反转? 依赖什么是依赖(按名称理解、按动词理解)? 谁依赖于谁? 为什么需要依赖? 依赖什么东西?…...

Redis数据结构——快速列表quicklist、快表

定义 Redis中的数据结构,链表和压缩列表这两种数据结构是列表对象的底层实现方式。 当时考虑到链表的附加空间太大,节点的内存都是单独分配的,还会导致内存碎片化问题严重。 因此从Redis3.2开始,对列表的底层数据结构进行了改造&…...

excel统计函数篇3之rank系列

下面这三个函数都是返回指定数据在指定范围中的数据中的名次 1、RANK(number,ref,[order]):返回一列数字的数字排位(数字排位是相对于列表中其他值的大小) rank(数字,数字序列,升序/降序) – 数字在数字序列中的名次 2、RANK.AV…...

Flink 火焰图

方式一 使用 Flink Web UI 的 Flame Graph Flink 自己也支持了 Task 粒度的 Flame Graphs 功能,并且可以细化到 subtask 粒度。 第一步:配置启用功能 Flink 作业动态参数里增加配置:“rest.flamegraph.enabled”: “true” 并重启作业。当前…...

kubectl get 中英文对照

wlzx059node01:~$ kubectl get --help Display one or many resources. (显示一个或多个资源。)Prints a table of the most important information about the specified resources. You can filter the list using a label selector and the --selector flag. If the desired …...

R语言APSIM模型进阶应用与参数优化、批量模拟实践技术

随着数字农业和智慧农业的发展,基于过程的农业生产系统模型在模拟作物对气候变化的响应与适应、农田管理优化、作物品种和株型筛选、农田固碳和温室气体排放等领域扮演着越来越重要的作用。APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物生…...

无涯教程-Perl - times函数

描述 此函数返回一个四元素列表,为当前进程及其子进程提供用户,系统,子进程和子系统时间。 语法 以下是此函数的简单语法- times返回值 此函数返回ARRAY,($usertime,$systemtime,$childsystem,$childuser) 例 以下是显示其基本用法的示例代码- #!/usr/bin/perl -w($use…...

《计算机网络:自顶向下方法》第五章--网络层:控制平面

控制平面作为一种网络范围的逻辑,不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报,而且控制网络层组件和服务如何配置和管理 传统上,控制平面功能与数据平面的转发功能在一起实现,在路由器中作为统一的整体…...

Mysql存储引擎中InnoDB与Myisam的主要区别

在mysql命令窗口中,输入show engins,可以看到mysql的所有引擎,那么这么多的引擎,我们经常使用到的也就两种,MyISAM和InnoDB,这两种引擎究竟有什么区别呢? 1, 事务处理 innodb 支持事务功能,myisam 不支持。 Myisam 的执行速度更快,性能更好。 2,select ,update ,inse…...

数据仓库 ODS->DWD->DWS->ADS

1.数据仓库DW 1.1简介 Data warehouse(可简写为DW或者DWH)数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它是一整套包括了etl、调度、建模在内的完整的理论体系。数据仓库…...

【SpringBoot】SpringBoot获取不到用户真实IP怎么办

文章目录 前言问题原因解决方案修改Nginx配置文件SpringBoot代码实现 前言 项目部署后发现服务端无法获取到客户端真实的IP地址,这是怎么回事呢?给我都整懵逼了,经过短暂的思考,我发现了问题的真凶,那就是我们使用了N…...

LightDB 23.3 plorasql 函数支持inout参数输出

开篇立意 oracle PLSQL函数中返回值有两种情况: (1)使用return返回值; (2)使用out修饰的参数(oracle不支持inout) SQL> create function yu(id inout int) return int asbeginn…...

SpringBoot第41讲:SpringBoot集成Redis - 基于RedisTemplate+Jedis的数据操作

SpringBoot第41讲:SpringBoot集成Redis - 基于RedisTemplate+Jedis的数据操作 Redis是最常用的KV数据库,Spring 通过模板方式(RedisTemplate)提供了对Redis的数据查询和操作功能。本文是SpringBoot第41讲,主要介绍基于RedisTemplate + Jedis方式对Redis进行查询和操作的案…...

用 React+ts 实现无缝滚动的走马灯

一、走马灯的作用 走马灯是一种常见的网页交互组件,可以展示多张图片或者内容,通过自动播放或者手动切换的方式,让用户能够方便地浏览多张图片或者内容。 本次实现的不是轮播图而是像传送带一样的无限滚动的形式。 二、需求梳理 走马灯可设…...

三维模型OSGB格式轻量化重难点分析

三维模型OSGB格式轻量化重难点分析 在三维模型应用中,为了适应移动设备的硬件和网络限制等问题,OSGB格式轻量化处理已经成为一个重要的技术手段。但是,在实际应用中,OSGB格式轻量化仍然存在着一些重难点问题。下面将对这些问题进行…...

C#__事件event的简单使用:工具人下楼问题

// 工具人类 namespace DownStair {delegate void DownStairDelegate(); // 定义了一个下楼委托class ToolMan{public string Name { get; set; } // 声明工具人的名字属性// public DownStairDelegate downStairDelegate null; // 初始化委托downStair为空委托// 解决方案pu…...

初识Spring-ioc

初识Spring-ioc 1. Spring的简介2.Spring容器ioc的特点3.spring注入方式1.Setter方法注入(Setter Injection):通过Setter方法来注入依赖。在类中定义对应的Setter方法,并在方法中接收依赖的参数,Spring容器会通过调用S…...

windows10 安装WSL2, Ubuntu,docker

AI- 通过docker开发调试部署ChatLLM 阅读时长:10分钟 本文内容: window上安装ubuntu虚拟机,并在虚拟机中安装docker,通过docker部署数字人模型,通过vscode链接到虚拟机进行开发调试.调试完成后,直接部署在云…...

Java面试题目汇总

一、面向对象的三个基本特征 2、方法重载和方法重写的概念和区别 3、接口和内部类、抽象类的特性 4、文件读写的基本类 **5、串行化的注意事项以及如何实现串行化 6、线程的基本概念、线程的基本状态以及状态之间的关系 7、线程的同步、如何实现线程的同步 8、几种常用的数据结…...

【ARM 嵌入式 编译系列 6 -- GCC objcopy, objdump, readelf, nm 介绍】

文章目录 GCC objcopy 简介objcopy 常用参数GCC objdump 简介GCC readelf 介绍GCC nm 介绍上篇文章:ARM 嵌入式 编译系列 5 – GCC 内建函数 __builtin 详细介绍 下篇文章:ARM 嵌入式 编译系列 7 – ARM GCC 链接脚本详细讲解 GCC objcopy 简介 objcopy 是 GNU二进制工具集(…...

c语言每日一练(9)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…...

毫米波射频方案分析

豪米波被誉为能够带来令人难以置信的网络吞吐量数据,但迄今为止它的采用一直乏善可陈。 毫米波技术的领导者高通公司认为,他们拥有高达60亿美元的前端机会。这 60亿美元将需要在日本、中国、韩国、欧洲和印度广泛采用 mmWave。尽管有这个巨大的机会&am…...

神经网络基础-神经网络补充概念-04-梯度下降法

概念 梯度下降法是一种常用的优化算法,用于在机器学习和深度学习中更新模型参数以最小化损失函数。它通过迭代地调整参数,沿着损失函数的负梯度方向移动,从而逐步逼近损失函数的最小值。 基本思想 梯度下降法的基本思想是:在每…...

神经网络基础-神经网络补充概念-45-指数加权平均

概念 指数加权平均(Exponential Moving Average,EMA)是一种平均方法,用于平滑时间序列数据或者计算变量的滚动均值。它对数据的权重分布呈指数递减,越靠近当前时刻的数据权重越高,越远离当前时刻的数据权重…...

模型预测笔记(一):数据清洗及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)

模型预测 一、导入关键包二、如何载入、分析和保存文件三、修改缺失值3.1 众数3.2 平均值3.3 中位数3.4 0填充 四、修改异常值4.1 删除4.2 替换 五、数据绘图分析5.1 饼状图5.1.1 绘制某一特征的数值情况(二分类) 5.2 柱状图5.2.1 单特征与目标特征之间的…...

【Pytroch】基于K邻近算法的数据分类预测(Excel可直接替换数据)

【Pytroch】基于K邻近算法的数据分类预测(Excel可直接替换数据) 1.模型原理2.数学公式3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果1.模型原理 K最近邻(K-Nearest Neighbors,简称KNN)是一种简单但常用的机器学习算法,用于分类和回归问题。它的核心思想是基于已…...

Centos 7 通过Docker 安装MySQL 8.0.33实现数据持久化及my.cnf配置

要在 CentOS 7 上使用 Docker 启动 MySQL 8.0.33,并配置 MySQL 的 my.cnf 文件,同时实现 MySQL 数据的持久化,可以按照以下步骤进行操作: 1、安装 Docker:确保你在 CentOS 7 上已经安装了 Docker。如果尚未安装&#…...

自夹持P型屏蔽型碳化硅沟槽型绝缘栅双极晶体管,用于低开通电压和开关损耗

目录 标题:Self-Clamped P-shield SiC Trench IGBT for Low On-State Voltage and Switching LossProceedings of the 35st International Symposium on Power Semiconductor Devices & ICs摘要信息解释研究了什么文章的创新点文章的研究方法文章的结论 标题&am…...

【数据结构与算法——TypeScript】树结构Tree

【数据结构与算法——TypeScript】 树结构(Tree) 认识树结构以及特性 什么是树? 🌲 真实的树:相信每个人对现实生活中的树都会非常熟悉 🌲 我们来看一下树有什么特点? ▫️ 树通常有一个根。连接着根的是树干。 ▫️ 树干到…...