前言 此代码兼容STM32F103全系列 为避免添加上升级程序造成内存不足,请使用128KB Flash及其以上的型号 这篇文章是为了能够让大家快速移植我的升级模板程序到自己的项目 BootLoader 程序制作 拷贝文件到自己的项目 拷贝到自己的项目(我准备了一个工程作为叙述) 在自己工程的定时器里面添加以下信息 if(IAPStructValue.PutDataFlage && IAPStructValue.UpdateFlage)IAPStructValue.DownloadTime…
前言 用户程序比较简单,但是起着至关重要的作用 用户程序是和BootLoader程序相互配合的 拷贝文件到自己的项目 APP用户程序的 stmflash.c stmflash.h 和 上一节的BootLoader 是一样的. 只有IAP有点差别 用户程序需要做两件事情 一.获取更新的信息(版本号,更新的状态) 二,在认为APP用户程序运行没有问题以后写上 现在就完成了APP用户程序的处理工作. 现在我说明一下为啥会有如此操作 在前面的BootLoader程序里面就有很多的状态判断, 在APP用户…
实现功能概要 前面的版本都是,定时访问云端的程序版本,如果版本不一致,然后下载最新的升级文件,实现升级. 这一节,在用户程序里面加入MQTT通信,执行用户程序的时候,通过接收MQTT的升级命令实现升级 注意:BootLoader程序还是用以前的程序. 一开始设计这个升级篇的时候,我就规定好了大的框架 BootLoader只是负责升级,其它一概不管 用户程序只是写入升级标志,然后重启,所有的升级步骤全部交给BootLoader! 协议: 注:所有的实现MQTT的软件,统称为MQTT上位机 一,MQ…
实现功能概要 这节和上一节的功能一样(只不过上节是利用Wi-Fi模块,这节是利用GPRS模块) 用户程序里面加入MQTT通信,执行用户程序的时候, 通过接收MQTT的升级命令实现升级. 凡是可以实现MQTT通信的上位机皆可控制单片机升级. 通信控制协议和上一节一样 注:所有的实现MQTT的软件,统称为MQTT上位机 一,MQTT上位机通过MQTT发送获取设备信息指令 {"data":"updata","cmd":"DeviceInfo&…
前言 这一节和上一节是搭配的 给大家鱼,也必须给鱼竿! 我期望自己封装的代码,无论过了多少年都有应用的价值! 这节说明一下制作APP用户程序的过程 咱是用MQTT通信控制模块实现升级,所以首先自己的程序先实现MQTT哈. 协议 注:所有的实现MQTT的软件,统称为MQTT上位机 一,MQTT上位机通过MQTT发送获取设备信息指令 {"data":"updata","cmd":"DeviceInfo"} //设备接收到回复 {&…
实现功能概要 定时使用http访问云端的程序版本,如果版本不一致,然后通过http下载最新的升级文件,实现升级. 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootLoader程序(请自行下载) 二,调整波动开关位置,STM32和Wi-Fi 串口 通信 三,短接STM32的PB2和Wi-Fi模块的RST引脚(内部程序使用该引脚硬件复位Wi-Fi) 四.两个串口模块的RX,分别接到单片机的PA9和PA10. 4.1注:此为监控STM32和Wi-Fi之间的数据,看到…
前言 学习此代码所需: 实现功能概要 定时使用http访问云端的程序版本,如果版本不一致,然后通过http下载最新的升级文件,实现升级. 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootLoader程序(请自行下载) 二,调整波动开关位置,STM32和Wi-Fi 串口 通信 三,短接STM32的PB2和Wi-Fi模块的RST引脚(内部程序使用该引脚硬件复位Wi-Fi) 四.两个串口模块的RX,分别接到单片机的PA9和PA10. 4.1注:此为监控STM32和W…
实现功能概要 单片机定时使用http访问云端的程序版本,如果版本不一致, 然后通过http下载最新的升级文件,实现远程升级STM32程序. 兼容Air202 ,SIM800 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootLoader程序(请自行下载) 二,调整波动开关位置,STM32和GPRS 串口1 通信 二,别忘了插手机卡,还有安装上天线 三.准备两个串口模块,两个串口模块的RX,分别接到单片机的PA9和PA10. 4.1注:此为监控STM32和GPRS…
实现功能概要 单片机定时使用http访问云端的程序版本, 如果版本不一致,然后通过http下载最新的升级文件,实现远程升级STM32. 兼容Air202,SIM800 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootLoader程序(请自行下载) 二,调整波动开关位置,STM32和GPRS 串口1 通信 三,别忘了插手机卡,还有安装上天线 四.准备两个串口模块,两个串口模块的RX,分别接到单片机的PA9和PA10. 4.1注:此为监控STM32和GPRS之间的…
前言 这节演示下,上两节写的利用MQTT来控制STM32控制的程序 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootLoader程序(请自行下载) 首先BootLoader默认是先尝试加载第一份用户程序 后面咱分为两种情况: 人为下载进去第一份APP用户程序和不下载进去第一份APP用户程序 第一种:人为下载进去第一份APP用户程序 一,注:咱的目的是把相应的程序文件烧录到相应的位置 为避免清除BootLoader程序,下载的时候按照下面的选择 这样在不清楚Bo…