STM32+Cubemx+腾讯云OTA(二)APP③
一、版本号
1、目的
在用腾讯云这个平台做ota的时候,我发现固件升级这里,他判断设备成功与否的条件,只是4G模块接收成功固件包,而并不是设备升级后再上报成功或是失败。所以我们通常的做法就是,把我们程序的版本号也上传。通过版本号判别是否ota成功。
2、平台部分

直接在平台增加一个字符串的物联型,用来作版本号上传。
3、程序部分

做一个const变量,作版本号。

然后初始化完成之后,先发版本号。

截不了那么长的图,直接贴代码
void Up_Version(void)
{
uint8_t txbuf[256] = {0};
sprintf((char *)txbuf,"AT+TCMQTTPUB=\"$thing/up/property/M9P2EZ31V0/Device01\",1,\"{\\\"method\\\":\\\"report\\\"\\,\\\"clientToken\\\":\\\"123\\\"\\,\\\"params\\\":{\\\"VERSION\\\":\\\"%s\\\"}}\"\r\n",verson);
Esp8266_send((uint8_t *)txbuf, strlen((char*)txbuf));
Esp8266.send_cmd = UPDATE;
Esp8266.at_cmd = TCOTASET;
g16_Timer10MS_AtSend_Count = 0;
}
二、平台操作
1、上传固件


2、升级验证
1、升级前

串口打印可以看到上报的版本号是v1.0.0

从这边或者小程序可以看到,现在版本号是v1.0.0
2、升级后

在平台点固件升级。


点击升级
升级成功

然后通过发送到腾讯云的报文


可以看到是升级成功的。但是腾讯云这里小程序因为很久没搞了,小程序升级是可以点的,不知道为什么这个版本号不能显示,但是无伤大雅,能够在平台网页上看到是1.0.1,升级成功

更多推荐
所有评论(0)