据说没几个人知道SOC模式怎么开发及远程OTA?
前言
用户在设计产品的时候考虑到让产品尺寸尽量小,成本低的情况下可以考虑使用SOC模式进行开发,SOC采用ESP8266作为主控芯片,可降低产品的成本。
用户如果将开发了的产品发布上线销售,后期先更新固件和程序,就需要用到远程OTA固件升级,就能对已发布的产品进行远程升级。
材料准备
1、机智云Gokit3.0开发板,购买地址
2、环境链接 提取码:y8gy ,下载解压到非中文路径即可使用。
方案实施
1、进入开发者中心,点击创建
2、根据自己产品需求按照如图选择产品分类
3、设置好产品名称,类型等参数。
4、选择硬件开发,编辑标准数据点。
5、创建如下数据点,参考宠物屋数据点。
进入MCU开发,选择SOC,和ESP8266_32M,输入ProductSecret(在产品的基础信息里面可以复制),之后生成代码包。
生成代码包在之后下载代码,解压代码备用,解压位置在哪儿都可以,修改一下文件夹名称,避免多项目重复名称。
在机智云官网的下载中心,下载开发板的传感器驱动程序,解压备用。
将下载驱动程序中的.c文件复制到代码的\app\driver目录下
将下载驱动程序中的.h文件复制到代码的\app\include\driver目录下
按照如下步奏导入程序到开发环境。
修改根目录Makefile文件里面的编译信息。
代码移植过程参考贴子,此处不过多描述哦(⊙o⊙)。
烧录之后正常的将设备进行配置入网,在设备云端日志查看设备。
初始代码为25版本。在程序代码里面修改代码版本为26,新版本比原版本数字大。
修改过后编译生成新的固件,云端点击OTA,切换到新版本OTA,点创建新固件。
设置好推送方式,固件类型,上传生成的user1.4096.new.6.bin文件以及版本信息之后保存。
输入测试设备MAC进行验证,验证过后才能正式推送。
在这个界面如果上面选的是静默升级,模块会进行自动升级;如果手动升级,需要到手机APP里面设备页面进行检测固件升级。
升级过程中wifi模块打印日志如下
升级之后云端版本更新为26,程序运行新的版本,OTA推送新的固件就能正常使用。