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

电子说

1.3w人已加入

描述

 

用户在设计产品的时候考虑到让产品尺寸尽量小,成本低的情况下可以考虑使用SOC模式进行开发,SOC采用ESP8266作为主控芯片,可降低产品的成本。

用户如果将开发了的产品发布上线销售,后期先更新固件和程序,就需要用到远程OTA固件升级,就能对已发布的产品进行远程升级。

01 正式开发

1、创建智能产品

登录机智云开发平台,进入开发者中心,点击左侧的”创建”

 

根据自己产品需求按照如图选择产品分类

OTA

填写产品名称,类型等参数

产品名称:自定义

类型:含WiFi、移动网络、NB-IoT、网关(Mesh、蓝牙、Lora等方式)

数据传输方式:定长、变长

功耗方式:低功耗、正常

 

2、编辑数据点,进行产品功能开发

创建好产品,设立好产品名称后,开始定义数据点

 

创建如下数据点,参考宠物屋数据点

此处我选择了应用“宠物屋数据点”模板,再根据需要修改数据点。

 

 

 

3、MCU功能开发,进行代码移植

进入MCU开发,选择SOC,和ESP8266_32M,输入Product Secret(在产品的基础信息里面可以复制),之后生成代码包,下载代码包。

注意:由于我的是ESP 8266开发,所以选择SOC方案

OTA

生成代码包在之后下载代码,解压代码备用,解压位置在哪儿都可以,修改一下文件夹名称,避免多项目重复名称。

 

在官网“下载中心”,下载开发板的传感器驱动程序,解压备用。

 

将下载驱动程序中的.c文件复制到代码的appdriver目录下

 

将下载驱动程序中的.h文件复制到代码的appincludedriver目录下

 

按照如下步奏导入程序到开发环境。

OTA

OTA

修改根目录Makefile文件里面的编译信息。

OTA

4、配置入网

烧录成功之后,将设备进行配置入网,在设备云端日志查看设备。

 

初始代码为25版本。在程序代码里面修改代码版本为26,新版本比原版本数字大。

 

修改过后编译生成新的固件,云端点击OTA,切换到新版本OTA,点创建新固件

 

设置好推送方式,固件类型,上传生成的user1.4096.new.6.bin文件以及版本信息之后保存

 

输入测试设备MAC进行验证,验证过后才能正式推送

 

在这个界面如果上面选的是静默升级,模块会进行自动升级。

如果手动升级,需要到手机APP里面设备页面进行检测固件升级。

 

升级过程中wifi模块打印日志如下

 

升级之后云端版本更新为26,程序运行新的版本,OTA推送新的固件就能正常使用。

原文标题:开发技巧 | SOC开发模式下,如何实现OTA远程升级功能

文章出处:【微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分