搜索
bottom↓
回复: 27

stm32有没有人搞过用2g模块的远程升级?

[复制链接]

出0入4汤圆

发表于 2018-9-14 13:21:55 来自手机 | 显示全部楼层 |阅读模式
物联网设备,带gprs模块。如果可以远程升级代码,确实比较有用。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2018-9-14 14:14:12 | 显示全部楼层
刚搞好一个,通过DTU升级F103VBT6

出0入4汤圆

 楼主| 发表于 2018-9-14 14:22:04 来自手机 | 显示全部楼层
dzymushi 发表于 2018-9-14 14:14
刚搞好一个,通过DTU升级F103VBT6

dtu是现成的?还是自己板子上的

出0入0汤圆

发表于 2018-9-14 14:27:39 | 显示全部楼层
通道能打通,基本上就没问题啊,剩下的就是可靠性了

出10入18汤圆

发表于 2018-9-14 14:36:29 来自手机 | 显示全部楼层
http  socket自定义ftp都用过,没啥难度

出0入0汤圆

发表于 2018-9-14 14:55:53 | 显示全部楼层
前段时间测试过tcp可以,好像ftp方式数据大小好像超过多少要分开传,还是模块本身问题不清楚,没时间搞就停下来了。。。。

出0入0汤圆

发表于 2018-9-14 15:08:10 | 显示全部楼层
我是把程序存外部spi flash,当然会加上文件信息,校验信息等,接收完成确认无误后重启,在boot中升级.所以从哪里传过来的升级包,包大小,根本不重要.

出0入0汤圆

发表于 2018-9-14 15:29:53 来自手机 | 显示全部楼层
老早之前玩过,其实只要IAP没问题就行,至于如何下载程序可以自拟简单的协议,我当初就是扩展了下电表的DLT645协议搞出来的

出0入42汤圆

发表于 2018-9-14 15:48:56 | 显示全部楼层
可以的,IAP要重点做好,特别是升级失败情况下要保证设备仍能正常联网等

出0入0汤圆

发表于 2018-9-14 15:55:43 | 显示全部楼层
OTA升级

通过TCP分块接收固件,存在外部FLASH,校验无误后,通过boot把固件从外部FLASH读到代码段,再软重启即可

出0入0汤圆

发表于 2018-9-14 16:04:59 | 显示全部楼层
支持5楼的,ftp我还没有弄过以后用到向你请教。

出0入0汤圆

发表于 2018-9-14 16:08:01 | 显示全部楼层
就怕丢包,升级包太大通信速率也不会很快

出0入59汤圆

发表于 2018-9-14 16:15:12 | 显示全部楼层
STM32 有软件包支持FTP么?  还是由DTU 实现FTP?

出0入0汤圆

发表于 2018-9-14 17:25:15 | 显示全部楼层
10楼正解!最大保证数据的可靠!

出0入0汤圆

发表于 2018-9-14 17:28:51 | 显示全部楼层
lnskngdc 发表于 2018-9-14 15:55
OTA升级

通过TCP分块接收固件,存在外部FLASH,校验无误后,通过boot把固件从外部FLASH读到代码段,再软重 ...

这个是做个类似的吧

出0入0汤圆

发表于 2018-9-15 00:59:38 | 显示全部楼层
什么方式不重要吧,接收整个固件包后,存入flash中,在flash中做个标志位,再写个bootloader程序,启动时检测到更新标示位,进行更新

出0入4汤圆

 楼主| 发表于 2018-9-15 07:46:47 来自手机 | 显示全部楼层
shenwrt 发表于 2018-9-15 00:59
什么方式不重要吧,接收整个固件包后,存入flash中,在flash中做个标志位,再写个bootloader程序,启动时检 ...

就是这么干,重点难点在于收包分包验证以及断点续传,升级失败等问题处理。
准备使用外挂flash来搞。

出0入50汤圆

发表于 2018-9-15 09:06:00 | 显示全部楼层
模组有ftp就用ftp搞,没有可以用http/https文件下载,都支持断点续传,嫌麻烦也可以自定义协议,程序不大可以直接下载到MCU flash中,分三个区,bootloader/app/app_download,新的固件先下载到app_download中,然后校验没问题了就跳入bootloader,把固件拷贝到app区,然后运行

出0入4汤圆

发表于 2018-9-15 09:30:44 | 显示全部楼层
应用代码的校验和断点续传是必须要实现的,这样网络稍微差一点也没什么关系哦。慢慢传,总能传完。

出0入0汤圆

发表于 2018-9-15 11:23:54 | 显示全部楼层
huarana 发表于 2018-9-15 07:46
就是这么干,重点难点在于收包分包验证以及断点续传,升级失败等问题处理。
准备使用外挂flash来搞。 ...

做好校验,失败了通知重发

出0入0汤圆

发表于 2018-9-15 11:27:11 | 显示全部楼层
16年做过,已经批量使用,为公司节约了大笔出差费

出0入0汤圆

发表于 2018-9-15 13:41:16 | 显示全部楼层
很简单的东西

出0入0汤圆

发表于 2018-9-17 16:57:13 | 显示全部楼层
huarana 发表于 2018-9-14 14:22
dtu是现成的?还是自己板子上的

现成的,其实也是自己做的,只是没集成到一个板子上。DTU是F030RCT6。可以自己升级自己,也可以升级下挂的F103芯片

出0入0汤圆

发表于 2018-9-17 19:52:35 | 显示全部楼层
网上有人卖源代码,应该还有1点小小的服务,上下位机源代码不到400
准备直接买一个,自己做花的的时间价值不会低于4K

出0入0汤圆

发表于 2018-9-18 14:59:06 | 显示全部楼层
这个难度不大,不过完全自己编写调试的话,估计也需要一个月时间

出0入0汤圆

发表于 2019-3-28 22:33:06 | 显示全部楼层
752438771 发表于 2018-9-15 09:06
模组有ftp就用ftp搞,没有可以用http/https文件下载,都支持断点续传,嫌麻烦也可以自定义协议,程序不大可 ...

请问用http升级的话如何实现分包呢?

出0入50汤圆

发表于 2019-4-1 09:34:47 | 显示全部楼层
比如下载文件从起始地址1k的数据,在GET报文中加这个字段就OK,依次类推
Range: bytes=0-1023

出0入0汤圆

发表于 2019-4-1 11:00:51 | 显示全部楼层
只要流程走通,管它USB 串口还是网络,条条大路通罗马
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 20:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表