全部产品

应用热更新

更新时间:2020-09-18 11:08:20

不同于传统嵌入式开发流程,轻应用的JavaScript应用在PC端开发完成后,无需编译、链接、固件烧录等繁琐步骤,用户可直接使用命令行工具动态推送最新的应用到指定设备,这个过程我们称之为应用热更新,轻应用支持本地应用热更新和在线应用热更新两种方式:

  • 本地热更新:通过有线方式(串口)对设备的应用进行更新,尤其是设备无法联网或轻应用的代码异常。

  • 在线热更新:通过无线方式(网络)对设备的应用进行更新,如设备不在本地或不支持与开发机的有线连接。

准备

本地热更新

本地热更新

通过有线方式(串口)对设备的应用进行更新,可适用于设备无法联网或轻应用代码运行异常的情况。

下载模式

本地热更新与实际硬件的接线强相关,以HaaS 600为例,需先切到下载模式(参考HaaS 600)。

更新应用

进入下载模式后,运行amp命令完成本地更新:

$ amp serialput <app-dir> <serial-port>

运行示例:

$ ./amp serialput ./app /dev/tty.SLAB_USBtoUART
device type: ymodem
generate app package
put complete!

其中/dev/tty.SLAB_USBtoUART 对应的串口连接硬件的本地更新端口。

动图展示

rgx01

在线热更新

在线热更新

通过无线方式(网络)对设备进行热更新。当设备不在本地或者设备无法跟电脑连接的时候,可以通过网络通道将轻应用代码下发到设备,类似OTA功能。步骤如下:

该命令会消耗网络流量,推送应用到蜂窝模组时请按需使用。

用户登陆

amp login <your-token>

此处的 <your-token> 来自公测申请轻应用SDK包

$ amp login <token>
login success

查看设备

amp device list

查看当前已绑定的设备列表。

$ amp device list
Your bound devices:
<device_name1>
<device_name2>

更新应用

amp put ./app <device_name>
  • ./app 指当前目录下app目录,包含板级配置文件和脚本文件。

  • device_name 指绑定列表中的设备名称。

运行示例

$ ./amp login 9da64dd7e367********c02655a8abcd
login success

$ ./amp device list
Your bound devices:
8675*******3456
8675*******4321
3522*******7456

$ ./amp put ./app 8675*******3456
device:8675*******3456 ONLINE.
generate app package
push app package SUCCESS

动图展示

rgx02