各位知友大家好,好久没有更新文章了,最近这粉丝数也是涨了很多,专栏关注人数也是在不断的增长,首先感谢大家的厚爱,当然可能有一部分粉丝是在首页推荐关注里不小心关注的,总之感谢大家的关注,在粉丝破2K之际,是时候水一篇文章了,不过这篇文章还是关于ESP8266的,也是前一段时间群友问的,今天就写成文章记录一下。
其实FOTA(Firmware Over-The-Air)技术,已经是一个相对比较成熟的技术了,不管是硬件还是软件都已经很完善了,就比如我们的手机系统更新,带的手环或者智能手表的更新,又或者是智能音响的升级,相信大家现在在各种电子产品中都会见到固件更新,这种固件更新大家都可以理解为是FOTA,只不过叫法不是很统一。那么它有什么地方值得我们学习呢?其实最重要的一点就是,假如我们是做的真正的产品,当你卖出去了很多产品,但是这时候你发现产品有Bug,那怎么办呢?这时候就需要我们通过FOTA来对产品进行固件升级,这样就可以完美的解决掉Bug了,那么假如没有FOTA技术,难不成退货?难不成去用户家里升级?这都是不现实的。
呃呃,闲话少说,我们还是开始正题,FOTA其实就是在乐鑫给的Demo中有,但是很多人都不是很注重乐鑫给的Demo,或者官方给的文档,遇到问题的时候总是在寻求他人的帮助,但是这些问题自己多读几遍文档啥的都可以完全解决,再者说别人说的也不一定正确,所以还是建议大家多读文档,多看官方给的Demo。
那么先给大家一个本篇文章必看的文档链接,看一下官方对FOTA更权威的讲解,而不是听我这~
https://www.espressif.com/sites/default/files/documentation/99c-esp8266_fota_upgrade_cn.pdfwww.espressif.com大家可以跟着第二章利用乐鑫的云平台进行一次FOTA升级测试,当然这一种方式比较繁琐的,工程也比较大,阅读起来还是有一定的难度,那么大家就可以再看一下第三章的升级原理,仔细阅读一下,你就可以自己写了~
我们先来看一下Flash布局,帮助我们更好的理解,这里为了方便和大家一起分析,就把文档中重要的部分截图展示,还是建议大家去仔细阅读一下的:
可以看到图中,我用红框圈出来了两部分,这两部分就是FOTA当中我们的初始化固件(user1.bin)和升级固件(user2.bin)在flash中的存储位置,也就是说user2.bin是我们通过FOTA无线热更新升级的,但是这里面最重要的一个部分我并没有圈出来