当前位置: 首页 > 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、几种常用的数据结…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...