SOC开发模式下如何实现OTA远程升级功能?


用户在设计产品的时候考虑到让产品尺寸尽量小,成本低的情况下可以考虑使用SOC模式进行开发,SOC采用ESP8266作为主控芯片,可降低产品的成本 。
用户如果将开发了的产品发布上线销售,后期先更新固件和程序,就需要用到远程OTA固件升级,就能对已发布的产品进行远程升级 。
01正式开发
1、创建智能产品
登录机智云开发平台,进入开发者中心,点击左侧的”创建”
根据自己产品需求按照如图选择产品分类
SOC开发模式下如何实现OTA远程升级功能?
文章插图
填写产品名称,类型等参数
产品名称:自定义
类型:含WiFi、移动网络、NB-IoT、网关(Mesh、蓝牙Lora等方式)
数据传输方式:定长、变长
功耗方式:低功耗、正常
2、编辑数据点,进行产品功能开发
创建好产品,设立好产品名称后,开始定义数据点
创建如下数据点,参考宠物屋数据点
此处我选择了应用“宠物屋数据点”模板,再根据需要修改数据点 。

3、MCU功能开发,进行代码移植
进入MCU开发,选择SOC,和ESP8266_32M,输入ProductSecret(在产品的基础信息里面可以复制),之后生成代码包,下载代码包 。
注意:由于我的是ESP8266开发,所以选择SOC方案
SOC开发模式下如何实现OTA远程升级功能?
文章插图
生成代码包在之后下载代码,解压代码备用,解压位置在哪儿都可以,修改一下文件夹名称,避免多项目重复名称 。
在官网“下载中心”,下载开发板的传感器驱动程序,解压备用 。
将下载驱动程序中的.c文件复制到代码的appdriver目录下
将下载驱动程序中的.h文件复制到代码的appincludedriver目录下
按照如下步奏导入程序到开发环境 。
SOC开发模式下如何实现OTA远程升级功能?
文章插图

SOC开发模式下如何实现OTA远程升级功能?
文章插图
修改根目录Makefile文件里面的编译信息 。
SOC开发模式下如何实现OTA远程升级功能?
文章插图
4、配置入网
烧录成功之后,将设备进行配置入网,在设备云端日志查看设备 。
初始代码为25版本 。在程序代码里面修改代码版本为26,新版本比原版本数字大 。
修改过后编译生成新的固件,云端点击OTA,切换到新版本OTA,点创建新固件
设置好推送方式,固件类型,上传生成的user1.4096.new.6.bin文件以及版本信息之后保存
输入测试设备MAC进行验证,验证过后才能正式推送
在这个界面如果上面选的是静默升级,模块会进行自动升级 。
如果手动升级,需要到手机APP里面设备页面进行检测固件升级 。
升级过程中wifi模块打印日志如下
升级之后云端版本更新为26,程序运行新的版本,OTA推送新的固件就能正常使用 。
原文标题:开发技巧|SOC开发模式下,如何实现OTA远程升级功能
文章出处:【微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处 。
【SOC开发模式下如何实现OTA远程升级功能?】责任编辑:haq
.dfma {position: relative;width: 1000px;margin: 0 auto;}.dfma a::after {position: absolute;left: 0;bottom: 0;width: 30px;line-height: 1.4;text-align: center;background-color: rgba(0, 0, 0, .5);color: #fff;font-size: 12px;content: "广告";}.dfma img {display: block;}
SOC开发模式下如何实现OTA远程升级功能?
文章插图

    推荐阅读