跳到主要内容

2025

12-26

VSCode DejaOS 插件发布 v1.0.37 版本

  • 增强了 Windows 环境下 kill Node 进程的兼容性,确保插件在更多系统配置下稳定运行。
  • 解决了 macOS 下即便已安装 Node,由于环境变量 PATH 原因导致插件提示找不到 Node 的问题。

12-24

新增 dxScreenshot 模块

这是一个高级截屏辅助模块,支持通过双击屏幕等交互快速捕捉并上传 UI 截图,极大地方便了远程诊断和调试。

12-20

指纹识别模块:完整的身份验证解决方案

DejaOS 现在通过两个强大的模块提供完整的指纹识别功能:dxFingerZazdxFingerMz。这两个模块使开发者能够轻松实现安全、可靠的基于指纹的身份验证系统。

概述

指纹识别是最广泛使用的生物识别身份验证方法之一,在安全性和便利性之间提供了完美的平衡。DejaOS 的指纹识别模块为身份验证提供了完整的解决方案,从指纹注册到实时识别。

两个模块都通过 UART 串口与指纹识别硬件通信,适用于几款带指纹模组的 DejaOS 设备。

两个强大的模块

dxFingerZaz 模块 dxFingerZaz 模块使用 基于 ID 的识别方式(范围 1-5000),并提供 3 个 RAM 缓冲区用于灵活的指纹处理。主要特性包括:

  • 独立的指纹检测:专用的 fingerDetect() 函数用于检测手指放置
  • 灵活的特征合并:支持合并 2-3 次指纹采集以提高准确性
  • 通用图像采集:单一的 getImage() 函数适用于所有用例
  • 完整的管理功能:完整的模板存储、加载、上传和下载功能

dxFingerMz 模块 dxFingerMz 模块使用 基于页索引的识别方式(范围 0-65535),并提供 2 个字符缓冲区。它提供高级自动化功能:

  • 自动注册:一键完成完整的指纹注册流程
  • 自动识别:自动完成图像采集、特征提取和库搜索
  • 双采集模式:用于验证(getImage())和注册(getEnrollImage())的独立函数
  • 大容量:支持多达 65,535 个指纹模板

应用场景

指纹识别模块适用于:

  • 门禁系统:建筑物和受限区域的安全入口管理
  • 考勤系统:员工考勤跟踪和验证
  • 设备认证:安全登录和设备解锁
  • 身份验证:各种应用中的个人身份识别
  • 智能锁系统:生物识别门锁和安全系统

快速开始

要在 DejaOS 中开始使用指纹识别:

  1. 选择您的模块:根据您的硬件和需求选择 dxFingerZazdxFingerMz
  2. 初始化模块:配置 UART 连接参数
  3. 测试连接:验证与指纹硬件的通信
  4. 实现核心流程:构建指纹检测、注册和识别工作流

有关详细的 API 文档、代码示例和最佳实践,请参考我们的 指纹识别开发概述


UI 动画示例:使用 LVGL 动画提升用户体验

LVGL 支持丰富的动画效果,为开发者提供了强大的工具来创建流畅且引人入胜的用户界面。在 DejaOS 的早期开发阶段,我们主要专注于功能实现。现在,在功能实现的基础上,我们开始考虑更好的视觉效果,以提升用户体验。

从功能实现到用户体验

在初期开发阶段,DejaOS 优先考虑核心功能和稳定性。随着平台的成熟,我们认识到为开发者提供丰富的动画示例和最佳实践的重要性,以帮助他们创建更加精致和专业的应用程序。

三个动画示例

我们准备了三个不同的动画示例,每个示例都展示了不同的技术和用例:

示例一:基于 LVGL 的动画 此示例演示了如何使用 LVGL 的原生动画函数创建流畅的动画。动画完全通过 LVGL 的动画 API 实现,提供了出色的性能和流畅的过渡效果。

示例二:基于 GIF 的动画(支持暂停和恢复) 此示例展示了如何使用 GIF 图片实现动画,并具备暂停和恢复播放的功能。当您需要对动画播放进行精确控制,或使用预设计的动画序列时,这种方法特别有用。

示例三:高级 LVGL 动画 此示例展示了使用 LVGL 动画函数实现更高级的动画技术,演示了可以通过框架实现的复杂运动模式和过渡效果。

技术细节

  • 示例一和示例三:这些动画使用 LVGL 的原生动画函数实现,利用框架内置的动画功能以获得最佳性能。
  • 示例二:此动画使用 GIF 图片播放,并具备暂停和恢复功能,为开发者提供了实现动画的另一种方法。

了解更多

有关 DejaOS 中动画实现的详细信息,请参考我们的 UI 动画文档

12-02

DejaOS 2.1.0 正式发布:系统管理升级、代码同步提速、人脸识别优化

我们很高兴地宣布 DejaOS 2.1.0 正式发布!本次版本在系统管理、开发效率和人脸识别性能方面都带来了显著提升。

1. 升级安全管理应用

安全管理应用进行了全面升级,从 PC 工具管理模式升级为现代化的设备端界面管理模式。

旧版本:PC 工具管理(无界面) 在之前的版本中,系统管理依赖于特殊的安全模式,需要通过串口线连接 PC 工具进行操作。这种方式存在一些局限性:

  • 需要额外的硬件设备(串口转 USB 线)
  • 数据传输速度较慢(受串口波特率限制)
  • 应用安装耗时较长
  • 设备本身没有可视化界面

新版本:设备端管理(有界面) 全新的安全管理应用提供了完全可视化的界面,可以直接在设备屏幕上操作:

  • 便捷进入:在设备启动时 2 秒灰色背景期间,长按屏幕任意位置即可进入系统管理器
  • 直观界面:包含网络配置、系统信息、系统配置和安装应用四大核心模块
  • 远程 Web 管理:内置 Web 服务器,连接同一局域网后可通过浏览器进行远程管理
  • 操作更快:设备端直接操作,消除了串口线传输瓶颈

更多详细信息,请参考系统管理应用文档

2. 大幅提升代码同步速度

2.1.0 版本最明显的改进之一就是代码同步速度的大幅提升。相比 2.0.0 版本,代码同步速度提升了大约 十倍,让开发工作流程更加高效。使用 VSCode 扩展进行开发时,您能明显感受到代码部署到设备的速度提升。

3. 更新人脸基础库

人脸识别基础库已更新,稳定性和速度都得到了提升:

  • 稳定性提升:更好地处理各种边界情况和不同光照条件
  • 识别更快:优化算法,减少识别时间
  • 资源管理优化:在人脸检测和匹配操作中更高效地使用内存和 CPU

11-13

重磅升级:全新人脸识别组件 dxFacial 正式发布!

我们非常激动地宣布,DejaOS 的人脸识别功能迎来了一次里程碑式的重大升级!旧有的 dxFace 组件现已全面重构,正式升级为全新的 dxFacial 组件。这次升级旨在为开发者提供一个更强大、更稳定且更易于使用的开发体验。

为什么重构?

随着 DejaOS 在越来越多的人脸识别设备上得到应用,我们深感旧有的 dxFace 组件在易用性和稳定性方面存在一些不足。为了彻底解决这些问题,并为未来的功能扩展打下坚实的基础,我们决定进行一次彻底的重构。

dxFacial 的核心改进

全新的 dxFacial 组件带来了以下激动人心的变化:

  1. 极致简化,清晰易用 我们重新设计了 API,隐藏了大量非必要的底层参数。现在,您不再需要关心复杂的摄像头配置或算法阈值,只需通过几个简单的函数,即可快速实现一个完整的人脸识别应用。整个使用方式变得前所未有的简单和清晰。

  2. 性能与稳定性的飞跃 通过对底层算法和数据流的深度优化,dxFacial识别速度、资源占用和长时间运行的稳定性方面都取得了极大的提升。无论是在高并发的门禁场景,还是在需要持续运行的考勤设备上,dxFacial 都能表现出色。

  3. 全面的文档支持 为了帮助您快速上手,我们撰写了全新的人脸识别开发概述系列文档。文档从基本概念讲起,循序渐进地介绍了人脸检测、注册和识别三大核心流程,并提供了完整的 API 说明和代码示例。

设备适配进展

我们正在逐步将全新的 dxFacial 组件适配到所有主流的人脸识别设备上。目前的适配工作已基本完成,适配顺序如下:

  1. VF202
  2. VF203
  3. VF114
  4. VF105

09-10

DejaOS VSCode 扩展现已支持 macOS

作为一款优秀的跨平台编辑器,VSCode 在 Windows、macOS 和 Linux 上一直运行流畅。然而,由于 macOS 中更严格的 USB 设备权限管理,旧版本的 DejaOS 扩展无法在 Mac 上正常工作。

我们现在很高兴地宣布,最新版本的扩展通过使用 HID(人机接口设备)协议 解决了这个问题,实现了对 macOS 的原生支持!

使用说明

我们的设备使用标准的 HID 协议,这意味着当您将设备插入 Mac 时,无需安装任何额外的驱动程序。系统会自动识别它。您可以参考下图在 Windows 系统信息中查看,在 macOS 上,您可以通过命令行查看插入的设备:

Windows HID 设备

在某些 macOS 系统上,首次连接设备时您可能会看到提示:"HID 设备未就绪。请在大约 30 秒后重试。"。

这是正常的。设备固件内的 HID 服务在首次连接时需要一些时间来初始化。当您第一次点击"连接"时,初始化过程开始,通常需要不到 30 秒的时间。之后再次点击"连接"将建立成功的连接。

08-25

DejaOS 模块演进:提升开发者体验

DejaOS 模块是我们整个生态系统的基石。为了统一接口规范、提高代码质量、增强易用性,我们最近启动了一个长期的模块迭代计划,全面审查和优化所有现有的官方模块。

全新模块实现平滑过渡

一些模块经历了重大重构,从底层的 C/C++ 实现重写为高级 JavaScript API。为了确保平滑过渡,我们引入了更强大的新模块,具有统一的接口来替代旧模块。旧模块将被标记为"已弃用",但将长期保持可用以确保向后兼容性。

主要模块替换如下:

  • dxHttpClientdxHttp
  • dxHttpServerdxWebserver
  • dxMqttClientdxMqtt
  • dxNetworkdxNet
  • dxBarcodedxCode
  • dxConfigurationdxConfig
  • dxAudiodxAlsa, dxAlsaplay
  • dxOs, dxCommonUtilsdxCommon

向后兼容的无缝升级

对于未被替换的其余模块,我们实现了功能升级和优化。这些模块的核心用法基本保持不变,只对少数函数进行了微调。当发生此类更改时,我们将在日志中提供清晰的弃用通知,并指导您使用新的替代函数。

文档已更新

所有更新的模块现在都配有全新的文档。您可以在 DejaOS 官方模块文档 中找到详细的 API 参考和使用示例。

07-28

DejaOS VSCode 插件 v1.0.32 发布

DejaOS VSCode 插件发布 v1.0.32,此次更新专注于改善开发体验,包括错误提示优化、默认同步行为调整和错误修复。

📁 忽略所有以 . 开头的目录

以前,当使用 SynAll 功能时,IDE 会将整个项目目录打包并同步到设备,默认只忽略 .temp 文件夹。但是,像 .git.vscode 等目录通常体积很大,对设备没有实际意义。如果不忽略这些目录,会导致生成的压缩包(zip)过大,不仅会降低同步速度,还可能因设备存储空间不足而导致部署失败。

从 v1.0.32 开始,默认忽略所有以 . 开头的目录

🧩 .so 文件加载失败的详细提示

在开发过程中,一个常见的错误是:ReferenceError: could not load module filename '/app/code/dxmodules/xxx.so' as shared library.

这个错误可能由两个原因引起:

  1. 组件未安装:项目中未下载对应的组件,导致对应的 .so 文件未同步到设备。
  2. 设备型号不匹配app.dxproj 中配置的设备型号与实际设备不一致,导致同步了错误型号的 .so 文件。

    注意:DejaOS .so 文件与设备型号强绑定,无法跨设备使用。

👉 正确的做法是检查 app.dxproj 中的设备型号配置,重新安装并同步。

so not found
原始错误消息

so not found desc
新的提示描述,帮助开发者快速定位问题

🐞 错误修复

  • 修复:组件下载失败时没有错误提示,界面持续显示"组件安装中",现在正确显示错误提示。

07-11

启动屏幕背景自定义

通常有两种类型的启动屏幕背景:一种是设备重启(断电重启)时显示的,另一种是应用程序启动时显示的。

更改应用程序背景

应用程序启动背景只是一个分配给 dxui.Image 控件的图片,通常位于 resource 目录中。如果您想动态更新它,可以轻松地将新图片下载到设备并覆盖旧图片。

let screen_img = dxui.Image.build("screen_img", screen_main);
mainView.screen_img = screen_img;
screen_img.source("/app/code/resource/image/bk_90.png");

替换设备启动背景

设备启动背景是由固件管理的系统级资源,无法通过 JavaScript 代码动态更改。目前,我们支持在固件镜像创建过程中自定义启动屏幕,可能需要一定的额外费用。

DW200 启动屏幕

如果您想自定义设备启动屏幕,请在订购设备时联系 DejaOS 团队并提供您想要使用的图片。我们将在固件构建过程中预安装您的自定义启动屏幕,这样开箱即用。

07-05

DejaOS 官网正式上线

今天,我们很高兴地宣布,基于 Docusaurus 框架构建的 DejaOS 官方网站正式上线,这标志着 DejaOS 社区发展和生态系统建设的一个重要里程碑。

概述

DejaOS 的开发始于两年前,最初通过将 Lua 与 C 结合来探索嵌入式脚本的可能性。当我们发现 QuickJS 时,我们以 QuickJS 为核心,结合 LVGL 图形引擎,重新设计了整个系统架构。

在我们的 DW200 设备上,DejaOS 迅速从试验阶段走向生产,成功部署于包括读卡器、门禁系统和人脸识别设备在内的多个智能硬件应用中。至今,已有超过 100 名个人和企业开发者参与协作,并获得了广泛的好评。

网站内容结构

  • 指南: 介绍 DejaOS 的核心概念、开发环境搭建和常见问题排查;
  • 模块: 涵盖 DejaOS 提供的 40 多个模块及其 API 用法;
  • 博客: 分享 DejaOS 的技术更新、公告和深度文章;
  • 案例: 展示使用 DejaOS 开发的真实案例和演示,并提供指向 GitHub 的源代码链接。