跳到主要内容

应用程序打包、安装和升级

概述

开发完成后,dejaOS 应用程序需要打包并部署到目标设备。以 DW200 为例,典型流程如下:

  1. 购买少量开发设备进行调试,完成 JavaScript 应用程序开发;
  2. 打包应用程序;
  3. 将打包的应用程序安装或升级到多台生产设备。

dejaOS 目前主要有两个版本:DejaOS1.0 和 DejaOS2.0,它们在打包、安装和升级方式上有所不同。以下内容将分别说明。

如何检查 DejaOS 版本?

  • 使用 dejaos_configuation tools 连接设备。如果连接成功并能查询到信息,则为 DejaOS2.0。如果连接失败或无响应,则为 DejaOS1.0。

DejaOS 2.0

应用程序打包

您可以通过 VSCode 中的 DejaOS 插件一键打包,生成 .dpk 文件:

应用程序打包图


应用程序安装

DejaOS2.0 提供原生应用程序安装支持,开发设备和生产设备均可使用:

  • 使用 RS485 转 USB + dejaos_tools 进行安装
  • 点击下载工具:tools.zip
  • 基本界面如下: 配置工具

应用程序升级

应用程序升级由应用程序自身实现,适用于已有应用程序的设备,提供灵活性和定制化。

建议在应用程序中使用内置的 dxOta 组件添加升级逻辑。您可以参考:

  • dxOta.updateHttp:通过 HTTP 下载并升级
  • dxOta.updateFile:通过本地文件路径升级

更多参考资料:
GitHub 示例:dw200 应用程序升级示例


安装与升级的区别

对比项目应用程序安装应用程序升级
触发方式系统能力,适用于首次安装或异常恢复由应用程序自身实现,适用于运行中的设备
实现方式无需编写代码应用程序需要集成升级逻辑并调用接口
包格式.dpk.dpk

开发到生产设备的几种解决方案

✅ 方案一:使用具有内置升级能力的标准产品应用程序

购买生产设备(默认预装官方标准应用程序),然后使用以下功能进行远程升级:

  • 按标准产品类型:
    • 门禁标准产品支持 MQTT 升级
  • 按设备能力:
    • 二维码扫描设备支持扫码升级(如扫描包含升级链接的二维码)

二维码门禁设备将具备双重升级能力:二维码扫描 + MQTT。

✅ 方案二:官方预装应用程序

将完成的 .dpk 应用程序包提供给 DejaOS 官方。官方将分配版本 ID(如 vf205_v12_dejaxxx_2.0.0)并在工厂生产时预装到设备上。

注意:官方仅确保应用程序能够启动,默认不进行详细业务逻辑测试。

✅ 方案三:手动安装

使用 RS485 + dejaos_tools 安装 .dpk 应用程序包,适用于小批量或多轮迭代项目场景。

🔜 方案四:批量安装工具(即将推出)

计划的新版本 dejaos_tools 将支持批量设备安装,目前处于开发阶段,具体发布时间待定。

生产部署对比

建议根据项目规模和场景选择合适的方法。如有特殊需求,请联系官方支持团队进行定制。


DejaOS 1.0

应用程序打包

不支持通过插件一键打包。您需要手动将项目中的 dxmodules/src/ 等目录打包成 .zip 文件:

DejaOS1.0 打包结构


应用程序安装

DejaOS1.0 不支持系统安装机制,只能通过应用程序逻辑实现升级。


应用程序升级

DejaOS1.0 支持两种升级方式:

  • 下载 zip 升级包到 /ota/download.zip,在应用程序运行时调用升级方法触发解压和安装
  • 或将升级包放置在 /app/data/upgrades/APP_1_0.zip,设备重启后会自动解压并升级

重要说明:

  • DejaOS1.0 不再推荐使用。建议现有用户尽快联系官方团队升级到 DejaOS2.0,以获得更好的开发体验和长期技术支持。

总结对比

功能特性DejaOS1.0DejaOS2.0
包格式.zip.dpk
安装支持无系统安装支持支持系统级安装
升级方式通过应用程序逻辑实现支持系统安装 + 应用程序自升级
推荐使用❌(逐渐停止支持)✅ 推荐使用

有关自动部署脚本、设备注册、升级回滚机制等高级功能的更多信息,请联系 DejaOS 官方团队。