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

【OTA】基于STM32F103C8T6和ESP8266-01S实现云轻量服务器的OTA升级

【OTA】基于STM32F103C8T6和ESP8266-01S实现云轻量服务器的OTA升级

文章目录

  • 前言
  • 一、实验目的
  • 二、实验过程
    • 1.搭建云服务器
      • 1.1 搭建方式选择——公有云轻量应用服务器
      • 1.2 购买公有云厂商的服务器——阿里云服务器举例
      • 1.3 搭建 HTTP 服务——宝塔管理、Nginx托管
      • 1.4 上传固件——APP2的BIN文件和CRC的TXT文件
    • 2.硬件设计
    • 3.软件设计
      • 3.1 MCU资源分配
      • 3.2 OTA升级软件整体流程
      • 3.3 BOOT流程
      • 3.4 APP1流程
      • 3.5 APP2流程
  • 三、实验结果
  • 四、参考文章
  • 总结

前言

OTA的功能,买车的人很熟悉了,车子不用送到工厂,在家联网就可以完成软件升级;
OTA具有以下优点:
1.减少人力物力,提高社会运转效率
2.增强用户粘性,会持续关注下一个版本的迭代;比如扫地机器人,用户买回家半年后,发现它突然“变聪明了”,这种“赚到了”的感觉会极大提升品牌好感

缺点也有:
1.成本增加,WIFI模块成本,MCU资源的占用;
2.变砖风险,升级过程中的意外不可控风险,有时可能还不如一个稳定的代码不更新;比如智能门锁,如果OTA过程中“变砖”或因为固件Bug导致无法开锁,对用户来说就是灾难。因此这类设备的OTA通常会采用极其保守的“双分区镜像(A/B Partition)”备份技术,确保万无一失

随着物联网以及通讯的发展,提高社会运转效率,OTA是大势所趋。

提示:以下是本篇文章正文内容,下面案例可供参考

一、实验目的

实现远程联网自动更新固件功能

二、实验过程

1.搭建云服务器

云服务器的核心作用是存放固件(.bin)和 CRC 文件(.txt),并提供一个公网可访问的「下载链接」,让 ESP8266 能通过 HTTP 协议下载这些文件

「宝塔面板 + Nginx」的组合,本质上是快速搭建了一个「静态文件 HTTP 服务器」

1.1 搭建方式选择——公有云轻量应用服务器

开发调试、局域网测试 本地电脑 HTTP 服务器
小批量设备、长期稳定运行 公有云轻量应用服务器
大批量设备、大固件文件 公有云对象存储(OSS)
需要设备管理、版本控制 开源物联网平台

在以上的选择中,我们选择了阿里云的公有云轻量应用服务器

1.2 购买公有云厂商的服务器——阿里云服务器举例

阿里云服务器购置链接

1.3 搭建 HTTP 服务——宝塔管理、Nginx托管

宝塔面板的核心作用 ——「简化复杂操作的可视化工具」
你不用直接敲 Linux 命令安装 Nginx、配置文件、管理目录权限,宝塔面板帮你做了「底层工作的封装」
宝塔是你的「操作助手」,帮你规避了复杂的 Linux 命令和 Nginx 配置语法,让你通过鼠标点击完成服务器搭建

Nginx是一款高性能的开源软件,主要用于Web 服务器、反向代理、负载均衡和缓存
Nginx 的核心作用 ——「公网请求的「中转站」和「文件分发者」
Nginx 是整个流程的「核心执行者」,也是让你的.bin 文件能被外网访问的关键,你可以把它理解为「24 小时不关机的文件下载管理员」

1.4 上传固件——APP2的BIN文件和CRC的TXT文件

2.硬件设计

蓝牙模块为串口1,PA9和PA10,负责用户接收发送信息;
WIFI模块为串口2,PA2和PA3,负责云服务器发送接收信息;

3.软件设计

3.1 MCU资源分配

MCU使用STM32F103C8T6 FLASH为64K;起始地址为0x08000000;
分为Bootloader(启动引导区),APP1(主应用区 / 默认运行区),APP2(OTA 升级区 / 备用应用区)

3.2 OTA升级软件整体流程

3.3 BOOT流程

3.4 APP1流程

3.5 APP2流程

三、实验结果

WIFI连接成功,默认需要2.4Ghz网络,手机热点需要调一下;
WIFI连云服务器成功;
从云服务器下载APP2的CRC校验码成功;
从云服务器下载APP2的固件成功
MCU计算固件的CRC校验码成功
与云服务器的校验码作比较成功
跳转到APP2应用程序


四、参考文章

ESP8266远程OTA升级stm32

总结

本文仅仅简单介绍了【OTA】基于STM32F103C8T6和ESP8266-01S实现云轻量服务器的OTA升级,评论区欢迎讨论。

http://www.cnnetsun.cn/news/542333.html

相关文章:

  • 408 计算机网络 知识点记忆(10)应用层(更新优化版本,版本2.0)
  • 混元翻译1.5应用:实时视频字幕翻译系统搭建
  • HY-MT1.5-7B显存优化案例:FP16量化降低GPU占用40%
  • 腾讯HY-MT1.5实战:多语言客服系统搭建指南
  • Qwen3-VL-WEBUI教学专用版:30人同时试用,人均成本不到5元
  • 腾讯开源翻译模型:HY-MT1.5API设计规范
  • 基于springbootWeb的超市员工供应采购管理系统_dlhtj29a
  • 基于springboot的学生课外时间管理系统_a673wq6x
  • HY-MT1.5-1.8B语音翻译集成:ASR+MT联合部署案例
  • unity 3d 通过游戏对象的名子查到其对象
  • 全球大模型第一股智谱AI上市,GLM-4.6技术深度解析与商业模式全解
  • 史上最全的Java进阶书籍推荐,你看了几本?_java书籍推荐,零基础入门到精通,收藏这篇就够了
  • 混元翻译1.5性能对比:开源模型vs商业API实测
  • HY-MT1.5-1.8B模型剪枝:进一步压缩体积的轻量化部署尝试
  • Qwen3-VL客服机器人教程:1小时搭建,比外包省90%
  • 零基础玩转Qwen3-VL:云端WebUI免安装,3分钟出结果
  • Qwen3-VL模型蒸馏教程:小显存也能跑,云端低成本实验
  • XFS inodegc blockgc 分析报告
  • Qwen3-VL多图分析技巧:1小时1块,比租服务器省80%
  • Qwen3-VL多模态入门:没技术背景?1小时就能上手
  • 多民族语言支持:HY-MT1.5方言翻译案例研究
  • Hunyuan-HY-MT1.5多场景应用:医疗、法律、电商翻译系统对比实操
  • HY-MT1.5部署稳定性测试:压力测试与容错机制实战
  • 腾讯开源翻译模型:HY-MT1.5SDK开发
  • HY-MT1.5-1.8B实战案例:移动端实时翻译App后端部署完整流程
  • HY-MT1.5-1.8B成本优化:边缘设备选型指南
  • HY-MT1.5网页推理功能:零代码调用翻译模型实战教程
  • 鸿蒙动画系统解密:实现一个“果冻回弹”效果,彻底搞懂属性动画与转场动画
  • 腾讯HY-MT1.5翻译模型:自动扩缩容设计
  • HY-MT1.5网页推理教程:快速体验多语言翻译服务