HaaS轻应用(JavaScript)OTA 远程升级组件

1、功能简介

OTA升级是很多嵌入式产品必备的一个功能。HaaS 轻应用提供了完备的OTA解决方案。本案例就是一个升级JavaScript脚本的端云一体化例子,用户可以通过JavaScript脚本实现应用脚本的版本上报,下载,完整性检验和脚本加载;具体流程如下图所示:

1.1、设备联网

在做脚本升级前确保设备是连网上线的,连网需要加入IOT组件,如果是wifi设备,需要加入netmgr组件进行配网,所以如上代码中,引入了iot组件和netmgr组件

import * as netmgr from 'netmgr';
import * as iot from 'iot';

还需要添加设备的三元组信息:

var productKey = ' ';      /* your productKey */
var deviceName = ' ';    /* your deviceName */ 
var deviceSecret = ' ';   /* your deviceSecret */

通过调用如下代码:

var device = iot.device({
        productKey: productKey,
        deviceName: deviceName,
        deviceSecret: deviceSecret
});

实现设备的上线;

1.2、版本上报

当设备上线后,需要将脚本的版本号报上云端,所以需要事先定义好脚本的版本,如示例代码定义的版本为:

var default_ver = '2.0.0';

由于阿里云IoT物联平台OTA是多模块升级方式,所以还需要定义一个模块名称,如果当前的脚本为设备的主业务,模块名称必须为"default",如示例代码:

var module_name = 'default';

版本号和模块名定义完成后,配合设备名和产品密钥,调用如下代码可实现版本号上报云端:

ota.report({
                device_handle: iotDeviceHandle,
                product_key: productKey,
                device_name: deviceName,
                module_name: module_name,
                version: default_ver
        });

ota.report接口用来将脚本版本号上报云端,入参有5个,第一个为IOT 设备handlem,设备成功连网后,会返回整个对象,第二参数为产品的密钥,第三个参数为设备名称,第四个参数为要上报版本模块的名称;

完成以上调用后,在阿里云物联网平台会看到如下信息:

上图中的default模块版本即为脚本中填入的版本号,system模块的版本为当前运行JS的OS系统版本;

1.3、脚本上传云端

首先需要做个高版本的js脚本,将步骤2中的JS版本号改成 var default_ver = '3.0.0';,然后创建一个app.json文件,文件内容如下:

{
    "version": "3.0.0",
    "io": {},
    "debugLevel": "DEBUG"
}

此文件主要是JS配套的配置,如设备端的io配置以及JS的版本号(与JS脚本中的版本号要相同);将app.js和app.json放到一个文件夹中,用JS工具打包成app.bin;JS工具用法请参考"命令行工具的pack命令使用"; 打包完成后请参考下图完成固件上传到云端:

1.4、云端触发升级

JS脚本上传完成后,云端触发升级,如下图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值