WIFI网络(ESP8266)升级STM32:程序固定Flash地址写入,运行 ( AT指令版;TCP透传方式;不支持MQTT )

前言 这一节为下面两节的结合

实现功能概要

BootLoader程序:

    如果Flash没有存储更新标志和用户没有在操作更新,就尝试加载用户程序.    (一直在主循环中判断)

            如果有更新标志,控制WIFI以TCP方式连接Web服务器,获取当前程序版本,如果版本不一致,则获取程序文件.实现升级

    如果用户按下配网按钮,配网以后,置位更新标志,重启!

APP用户程序:

    每隔10S,控制WIFI以TCP方式连接Web服务器,获取当前程序版本,如果版本不一致,置位更新标志,重启!

总结一句话就是:定时访问程序有没有新版本,有新版本,则更新新版本

测试

移植说明

0.由于自己把代码进行了统一封装,后期代码皆为移植和修改!

  用户只要把以前程序处理思路学会,后期的代码就只是整体思想和特殊细节处理问题.

  我还是那句话:学的是思想而非程序! 但是,以前的程序处理思路可以借鉴,后期的整体思想和特殊细节处理问题

  我只是表述一下我自己的路子,给大家个参考,仅此而已!我希望大家自己去思考,找自己的路..

  感觉古人说的就是有道理:师者,传道 授业 解惑 者也.

1.拷贝出来一份串口升级STM32代码

2.拷贝单片机HTTP访问城市天气一下文件到当前程序

原文地址:https://www.cnblogs.com/yangfengwu/p/11706618.html

时间: 2024-10-07 17:08:01

WIFI网络(ESP8266)升级STM32:程序固定Flash地址写入,运行 ( AT指令版;TCP透传方式;不支持MQTT )的相关文章

ESA2GJK1DH1K升级篇: 移植远程更新程序到STM32F103RET6型号的单片机,基于(GPRS模块AT指令TCP透传方式)

前言 上节实现远程更新是更新的STM32F103C8T6的单片机 GPRS网络(Air202/SIM800)升级STM32: 测试STM32远程乒乓升级,基于(GPRS模块AT指令TCP透传方式),定时访问升级 这节将告诉大家如何移植到其它型号的单片机. 这一节以 STM32F103RET6 (512KB Flash 64KB RAM) 为例 我使用我的这块板子 大家测试的时候可以按照下面的方式接到自己的GPRS模块(Air202 / SIM800) 单片机串口1 接到GPRS的AT指令配置串口

ESA2GJK1DH1K升级篇: 测试STM32远程乒乓升级,基于(Wi-Fi模块AT指令TCP透传方式),MQTT通信控制升级

实现功能概要 前面的版本都是,定时访问云端的程序版本,如果版本不一致,然后下载最新的升级文件,实现升级. 这一节,在用户程序里面加入MQTT通信,执行用户程序的时候,通过接收MQTT的升级命令实现升级 注意:BootLoader程序还是用以前的程序. 一开始设计这个升级篇的时候,我就规定好了大的框架 BootLoader只是负责升级,其它一概不管 用户程序只是写入升级标志,然后重启,所有的升级步骤全部交给BootLoader! 协议: 一,MQTT上位机通过MQTT发送获取设备信息指令 {"da

ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于Wi-Fi模块AT指令TCP透传方式,MQTT通信控制升级(含有数据校验)-APP用户程序制作过程

前言 这一节和上一节是搭配的 给大家鱼,也必须给鱼竿! 我期望自己封装的代码,无论过了多少年都有应用的价值! 这节说明一下制作APP用户程序的过程 咱是用MQTT通信控制模块实现升级,所以首先自己的程序先实现MQTT哈. 协议 注:所有的实现MQTT的软件,统称为MQTT上位机 一,MQTT上位机通过MQTT发送获取设备信息指令 {"data":"updata","cmd":"DeviceInfo"} //设备接收到回复 {&

ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于(Wi-Fi模块AT指令TCP透传方式),MQTT通信控制升级(含有数据校验)

前言 这一节实现的功能是使用MQTT通信控制模块去升级 其实和这一节实现的功能一样  https://www.cnblogs.com/yangfengwu/p/11854595.html 这一节还是着重讲解一下如何移植升级升级程序到自己的项目 我做的单片机远程升级封装文件的目的是希望大家直接移植到自己的项目使用! 准备一个已经实现了TCP的工程,拷贝升级处理文件 1.准备的工程 2.把BootLoader需要用到的文件拷贝到自己的工程 拷贝到自己的项目里面 整理下工程 1.自行添加到工程,还有设

中国移动OnetNet云平台 使用WIFI模块ESP8266 TCP透传模式传输数据流步骤

测试使用工具: WIFI模块型号:ESP8266 https://item.taobao.com/item.htm?spm=a1z10.1-c.w137712-175513579.2.btbD9X&id=520305709648 USB-TTL调试工具:CP2102 https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-175517240.14.8HGQU4&id=39481188174 连接方法: (这里是用TTL直接调试ESP8266

程序自启动及后台持续运行的研究(voip和GPS方式)

1,voip方式    1)首先要修改应用的plist配置,添加下面的设置:        Application does not run in background: NO        Required background modes: VOIP    注:添加这些配置之后,程序重启解锁就会自动运行application:                                  didFinishLaunchingWithOptions方法.    2)主要测试代码:- (BO

STM32 程序所占用空间计算 && FLASH存储的起始地址计算

程序编译完成,会乘车program size .. 对STM32容量选型或者 计算FLASH 充当EEPROM起始地址时会用到此参数. 按照下面截图  程序空间 = (16700+732+4580)/1024 = 21.5K 但需要注意的是  程序的起始地址 为0x08000000,所以 flash的 起始地址 必须是 0x08000000 + 0x55FC(22012的16进制)  = 0x080055FC之后 其余的空间都可以作为 其他功能使用.

MDK st-link下载STM32程序出现Internal command error和Error:Flash download failed. Target DLL

MDK st-link下载STM32程序出现Internal command error和Error:Flash download failed. Target DLL Error: flash download failed - Target DLL has been cancelled 是因为目标板的芯片处于休眠的状态,在尝试连接目标板时候也会出现报错Internal command error Flash download failed target dll has been can的现象

11-开发板接入小五物联实现远程控制(Wi-Fi模块,远程升级自己的程序)

https://www.cnblogs.com/yangfengwu/p/9411134.html 基础教程源码链接请在淘宝介绍中下载,由于链接很容易失效,如果失效请联系卖家,谢谢 https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-18540610442.6.36a74814ZSaRsu&id=569295486025 这一节为教程最终版功能演示,现在不必深究,早晚自己全部都会实现的(静静的跟着我学哈) 这一节学习远程升级自己的程序 如