想要进步一点点
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STM32F407使用ESP8266实现阿里云OTA升级版--基本接口的实现
在之前的文章中我们已经使用非常粗糙的方式实现了一下OTA的功能,就像下面图片所示,这样的代码,具体实现方式大概是通过上报版本给阿里云,之后请求整个固件包,通过串口的方式将整个固件包保存下载,这样的操作需要浪费非常多的资源,我们的数据也是没有经过一个合理的管理的,程序毫无封装可言,这一次我们将重新实现一次更高级的程序,并且在这个基础上不断完善并添加更多的功能。原创 2025-11-08 15:34:37 · 176 阅读 · 0 评论 -
STM32F407使用ESP8266实现OTA功能的坑点
本文总结了STM32F4+ESP01S实现OTA功能时遇到的三个典型问题:1)时钟源不一致导致APP跳转失败,需统一BootLoad和APP的时钟源;2)AT指令发送需添加转义字符,确保ESP01S正确解析;3)电压不稳定可能导致外设异常,建议检查供电或使用仿真器5V电源。文章将持续更新常见调试问题,帮助开发者快速定位和解决。原创 2025-09-09 00:16:25 · 250 阅读 · 0 评论 -
STM32F407使用环形缓冲队列
本文介绍了环形缓冲队列在OTA程序中的应用,通过该数据结构可高效管理ESP01S模块接收的数据。文章详细阐述了环形队列的实现原理,包括结构体定义、指针管理机制及循环存储特性。提供了创建、删除、读写等核心接口函数,并结合STM32串口空闲中断+DMA接收实例,展示了如何将接收数据存入环形队列及读取过程。通过调试截图直观呈现了指针移动和数据存取效果,最后附完整程序下载链接。该方案有效解决了数据缓存管理问题,提升了程序运行效率。原创 2025-09-09 00:15:22 · 116 阅读 · 0 评论 -
STM32F407实现串口接收不定长数据(空闲中断+DMA)
摘要:本文介绍了使用STM32的串口空闲中断+DMA方式实现高效串口数据接收的方法。通过配置DMA2通道4数据流5实现串口1接收,利用空闲中断判断数据接收完成,避免了频繁中断导致的CPU资源占用问题。详细说明了串口初始化和DMA配置步骤,并给出了中断处理函数的关键代码。该方法通过获取DMA剩余缓冲区容量计算接收数据长度,显著提高了数据接收的效率和可靠性,适用于OTA升级等对稳定性要求较高的应用场景。原创 2025-09-01 00:49:34 · 754 阅读 · 0 评论 -
STM32F407使用ESP8266实现阿里云OTA(下)
从上一章中,我们已经成功连接阿里云并且成功拿到了升级包的下载地址,在本文我们将升级包下载下来并且存储到SD卡中,最终将程序写入FLASH中完成APP的跳转,至此我们的OTA功能就完成了。原创 2025-04-24 23:26:09 · 683 阅读 · 0 评论 -
STM32F407使用ESP8266实现阿里云OTA(中)
从上一章STM32F407使用ESP8266实现阿里云OTA(上)中我们已经对连接阿里云和从阿里云获取升级包的流程非常的熟悉了。所以本章我们进行STM32的程序开发。在本文已经拿到了URL和版本信息,剩下的就是下载bin文件和保存bin文件以及跳转APP的程序,这些内容将会在下一篇文章给出。同时也会给出本工程的文档资料、完整工程和所使用的工具。原创 2025-04-24 23:05:38 · 399 阅读 · 0 评论 -
STM32F407使用ESP8266实现阿里云OTA(上)
在经过前面对ESP8266、SD卡、FLASH的了解之后,终于要进入我们的正题了,就是使用STM32和ESP8266实现阿里云的OTA。这一功能并不复杂,只是需要主要的细接比较多,实现这一功能也会分为三部分来进行分析。本本需要结合STM32F407使用ESP8266连接阿里云并上传数据,先完成环境的配置和阿里云的了解。原创 2025-04-22 01:06:58 · 899 阅读 · 0 评论 -
STM32F407实现串口IAP
相信通过前面几章的了解,我们对程序存储到哪里和程序如何存储有了一个清晰的思路。想要实现OTA功能IAP是必须要了解清楚的,接下来就来了解一下IAP是什么,如何实现。IAP(In Application Programming)即在应用编程,IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。原创 2025-04-22 01:05:54 · 453 阅读 · 0 评论 -
STM32F407实现SD卡的读写功能
在STM32中存储空间是有限的,对于需要存储大量数据的项目就需要外扩存储空间,一般会选择FLASH、EEPROM或者SD卡。SD是这三种中可达空间最大的,所以SD卡在大容量存储中发挥着中要的作用,本次OTA项目是使用了SD卡存储云平台下发的数据流,再将所需的数据存在eflash内,SD卡还可以起到版本恢复的作用。原创 2025-04-15 23:50:23 · 651 阅读 · 0 评论 -
STM32F407实现内部FLASH的读写功能
我们通过仿真器下到芯片的程序一般会保存到eflash里面,在我们的STM32F407里面这里的空间挺大的,我所使用的芯片型号是STM32F407ZGT6,FLASH 容量为 1024K 字节。不同的项目会选择不同的芯片进行开发。FLASH 是 EEPROM 的一种,是带电可擦除可编程的只读存储器,本文特指 STM32 内部的 Flash,主要用于存储用户程序代码以及必要的配置信息。特性:非易失性:数据在断电后依旧存储在数据中,适合存储程序代码和关键配置信息。原创 2025-04-15 23:49:49 · 1357 阅读 · 0 评论 -
STM32F407使用ESP01S实现阿里云OTA功能项目简介及专栏介绍
本文主要介绍OTA项目的主要框架、需要使用到的外设和后续专栏的内容。这一功能的实现原理并不是很难,最花时间的是调试程序以及一些比较坑的地方。OTA(Over-The-Air,空中升级)是一种通过无线通信技术实现远程更新设备固件或软件的方法。这项技术广泛应用于现代物联网(IoT)设备、智能手机、汽车、嵌入式系统等领域,提供了一种无需物理连接的便捷更新方式。OTA更新的核心在于使设备能够自动、可靠、安全地从远程服务器获取和应用更新,改善设备性能、添加新功能或修复安全漏洞。原创 2025-04-10 00:16:00 · 501 阅读 · 0 评论 -
STM32F407使用ESP8266连接阿里云并上传数据
在实现OTA功能我们必须学会如何连接云平台,本文会仔细介绍使用STM32F407和ESP8266连接阿里云平台,最后实现数据上报和命令下发的功能。ESP8266 系列模组是深圳市安信可科技有限公司开发的一系列基于乐鑫ESP8266EX的低功耗UART-WiFi芯片模组,可以方便地进行二次开发,接入云端服务,实现手机3/4G全球随时随地的控制,加速产品原型设计。原创 2025-04-10 00:10:21 · 982 阅读 · 0 评论
分享