ESP8266 Upgrade FOTA升级被折腾那些“小”事

FOTA升级,顾名思义就是空中升级,再顾名思义就是云端升级!就是通过把目标文件放到网上,然后触发下载并升级程序,最后就执行最新程序。就有小伙伴会问:我直接用线下载不就完事儿了(开发的时候确实可以这样)!但想想如果产品在用户手中了的话,举个例子

若我们产品给卖到非洲去,而我们发现了八阿哥踪影,想要解决掉,那你怎么处理呢:1-搭乘枯燥牌灰机过去烧写更新程序(明显不合理);2-让客户寄过来升级后再寄回去(貌似可行),但如果下一个BUG呢?(貌似还是不能这样折腾,估计要被开除警告了);3-联网升级(非洲应该通网了),这个就比较靠谱。因此,FOTA就应运而生了!

最近在学习的是乐鑫ESP8266这款WIFI芯片,想着折腾FOTA升级,这样到时候就可以脱离USB线下载了!因此,本着学习的心,到各大视频网站(其实就B站了)去看相关资料,发现很多都是基于arduino开发,但是,不习惯使用这个啊(毕竟每天都是和C和汇编打交道的码农),最终找到了基于ESP8266_RTOS_SDK-2.0.0带系统相关视频,就照着学照着做呗!开始也还都顺风顺水,都愉快地把各类函数SDK给用上,期间好多问题也能在官方文档和视频上找到对应答案(此过程省略1万字____(虽然也不容易,但它不是今天主角啊))……

因为前面问题都能解决,因此不做赘述,毕竟问题不大嘛。但是有一个问题是一直困扰自己啊!!你能想象到春节前没放假就被它困扰,期间已经放弃好些回,午夜梦回,也依然没能解决好!其实现在看来问题很简单诶:1、ESP8266_RTOS_SDK-2.0.0这个文件里没有upgrade升级所需的文件,因此需要自己官网找(难度2 );2、升级命令发出后能够GET到服务器文件,但是死活就下载不下来(难度8);3、从服务器下载好文件后CRC校验不通过,无法升级(难度4)。

问题1:官方提供的SDK(ESP8266_RTOS_SDK-2.0.0)中并未有升级所需要的文件,因此升级所需要的函数system_upgrade_start(upgrade_server_info)就没法链接通过,因此就扒官方文档,从官方文件ESP8266_IOT_PLATFORM中提取到upgrade文件

就是这三个家伙!!!也就解决了编译不通过的问题!你以为这就好了嘛!too young too simple ,这才刚刚是开始,重头戏在后边啊!

问题2:当升级请求发出后,能通过HTTP协议GET到文件,但就死活下载不下来,一直报错误:串口打印错误1-超时了(一直不知道为啥):err1,exceed max time value,max val is 000689D0

《超过最大时间》

问题2—不知道服务器回应啥?

:server response with something else,check it!

《不知服务器应答啥了》

《一直回应一直在GET文件》

这两个问题困扰了很久很久很久很久,每天晚上下班回来就找问题。什么服务器不行啊!烧录线问题啊!供电问题啊!协议问题啊!能想到和能度娘到的统统都做了,依然毫无门路,就那么个放弃了!!但,但是,嘴上这么说,身体却很实诚啊!时不时还是想要解决这个问题啊。因此又经过零零散散时间实验和思考总结,最后根据打印信息锁定到upgrade.c文件的问题,但又不知道怎么改,又去网上找了好久好久(这个问题实在太少人遇到了,反正也根据差到的零星信息来调整),最后的最后,还是在前天中午午休时间查到了相关文档,简单地修改upgrade文件下的upgrade.c就可以了!!!那个文件说的是官方这个,C升级文件需要稍作修改,否则就无法进行相应下载,同时也解决了第一个超时问题,那叫一个舒心啊:

《服务器响应异常处理-修改upgrade.c文件》

《超过最长时间处理-修改upgrade.c文件》

问题3:正当晚上回来尝试后,发现确实可以第一次下载user2.bin并能正常启动,但是再重复升级user1.bin的时候,就出现CRC校验失败,参数不同:

《CRC校验失败》

这个问题比较容易,在乐鑫论坛bbs.espressif.com上找到了答案

《CRC问题处理—修改tools / gen_appbin.py文件》

最后的最后实现了正常的FOTA功能:

/***************************************************************************

SDK:基于官方提供的ESP8266_RTOS_SDK-2.0.0进行调试

硬件:ESP-12E开发板

平台:官方提供的Oracle VM VirtualBox和Ubuntu以及Windows开发

烧录软件: win下的烧录软件flash_download_tools_v3.6.8

服务器:MiniWebServer.exe搭建

***************************************************************************/

参考:

1: https://wenku.baidu.com/view/b34ae42880eb6294dc886c51.html
2:https://bbs.espressif.com/viewtopic.php?f=9&t=10398&p=20969&hilit=upgrade+crc#p20969

3-B站视频

4-各种相关文档

ESP8266 Upgrade FOTA升级被折腾那些“小”事相关推荐

  1. Android FOTA 升级流程

    Android设备的系统升级有两种方式:(1)下载更新包到手机后,手动安装,即所谓"卡刷包"的形式更新:(2) 通过 Over-the-air(OTA)的方式更新系统,简称为FOT ...

  2. Android手机FOTA升级的大概流程介绍

    本文内容转载自FOTA升级流程以及FOTA相关知识总结两篇文章,有需要可去原文查看. Android设备的系统升级有两种方式: (1)下载更新包到手机后,手动安装,即所谓"卡刷包" ...

  3. android 6.0 fota升级更新modem的方法

    修改modem 源码里面的 定义的NVRAM_EF_IMS_PROFILE_LID_VERNO在原有的基础上加1,然后进行FOTA升级 上面的方法曾经让不带volTe的版本升级到带VOLTE的版本. ...

  4. 华为云IoT智慧物流案例10 | 广和通L610模组FOTA升级(服务端FileZilla Server客户端FileZilla)

    华为云IoT智慧物流案例10 | 广和通L610模组FOTA升级(服务端FileZilla Server客户端FileZilla) 第一章 使用FileZilla Server搭建FTP服务器 第二章 ...

  5. ESP8266实现在线升级OTA

    今天总结一下我实现ESP8266实现在线升级(OTA)的经验 关于理论介绍我这里不多讲,大家可以参考以下文章: 1.一个网友总结的经验(我这篇文章主要也是对该文章做进一步补充):https://www ...

  6. Pygame实战:升级后的2048小游戏—解锁新花样 根本停不下来

    导语 "嗨嗨嗨!别睡了,醒醒醒醒!该干活儿了~" by--梦雅! ​ "刚睡醒,大佬你有什么事儿吖?" by--全体成员! 上期给大家分享的超详细--简易版本的 ...

  7. android开发实现静默安装(fota升级)

    这里只提供一个思路,也是咨询大神才了解到的. fota升级主要用于系统及系统应用的升级,不过貌似也会弹出提示用于用户确认.既然做到系统级别了,估计也一样可以静默安装的. 转载于:https://www ...

  8. update(更新) 和 upgrade(升级)

    [从别的网站拷贝] upgrade V.S. update:英文解释 update: 1. to make sth more modern by adding new parts 2. to give ...

  9. Pygame实战:升级后的2048小游戏—解锁新花样,根本停不下来【附源码】

    导语 "嗨嗨嗨!别睡了,醒醒醒醒!该干活儿了~" by--顾木子吖! "刚睡醒,大佬你有什么事儿吖?" by--全体成员! 上期给大家分享的超详细--简易版本的 ...

最新文章

  1. Python爬虫学到什么程度就可以去找工作了?
  2. flask与js交互的示例代码_dapr实战(1):dapr locally环境的搭建和部署官方的Hello world示例...
  3. Influxdb修改数据保留策略
  4. SAP 电商云 Spartacus UI 里如何捕捉语言设置的更改
  5. 快能通小学生计算机的游戏,亲子小游戏,帮助孩子更快学会交通安全知识
  6. php数据全部输出,我的php 分页输出数据 全部输出没有按我设定的输出 也就是本来该一页输出5条的 现在全部输出完了...
  7. kafka session.timeout.ms 是指消费一条数据的时间?_阿里工程师分享:浅谈分布式发布订阅消息系统Kafka...
  8. android如何查看cpu的占用率和内存泄漏
  9. 最新Java全套开发视频教程
  10. 关于神经网络中隐藏层和神经元的深入理解
  11. FBA海运到美国费用一般包含哪些?
  12. ClickHouse SAMPLE 采样子句介绍
  13. [办公应用]word 2007:全屏快捷键,让复制图片保持原样大小(office 全屏快捷键)...
  14. 双击文件夹弹窗“找不到应用程序”,但是右键点击打开可以
  15. 资源分享:17 张程序员专属高清壁纸
  16. 想学习影视后期,影视后期行业怎么样?影视后期前景如何、薪资怎么样?
  17. switch-case的使用
  18. Win10安装 sql2008 R2
  19. mybatis 项目启动时报“Result Maps collection already contains value forxxx”错误
  20. 一文带你深度解析腾讯云直播答题方案

热门文章

  1. 微信聊天内容可以被监听吗?
  2. 用python输出十二星座_十二星座对应的星球是什么
  3. 成龙在北大的演讲:值得每一个中国人看[精品]
  4. 济南大学计算机水平怎么样,济南大学考研难吗?一般要什么水平才可以进入?...
  5. 投诉无门,感觉《JavaScript百炼成仙》这本书快被拼多多的盗版搞垮了。。。
  6. H5移动端项目实现手写签名功能 vue实现手写签名
  7. openstack装配置 Neutron( 控制节点
  8. 32款网页设计和网页开发人员常用的Google chrome浏览器扩展程序
  9. ubuntu18远程桌面
  10. Linux中写C代码进行文件读写与权限修改等各类操作