2025
12-26
VSCode DejaOS 插件发布 v1.0.37 版本
- 增强了 Windows 环境下 kill Node 进程的兼容性,确保插件在更多系统配置下稳定运行。
- 解决了 macOS 下即便已安装 Node,由于环境变量 PATH 原因导致插件提示找不到 Node 的问题。
12-24
新增 dxScreenshot 模块
这是一个高级截屏辅助模块,支持通过双击屏幕等交互快速捕捉并上传 UI 截图,极大地方便了远程诊断和调试。
12-20
指纹识别模块:完整的身份验证解决方案
DejaOS 现在通过两个强大的模块提供完整的指纹识别功能:dxFingerZaz 和 dxFingerMz。这两个模块使开发者能够轻松实现安全、可靠的基于指纹的身份验证系统。
概述
指纹识别是最广泛使用的生物识别身份验证方法之一,在安全性和便利性之间提供了完美的平衡。DejaOS 的指纹识别模块为身份验证提供了完整的解决方案,从指纹注册到实时识别。
两个模块都通过 UART 串口与指纹识别硬件通信,适用于几款带指纹模组的 DejaOS 设备。
两个强大的模块
dxFingerZaz 模块 dxFingerZaz 模块使用 基于 ID 的识别方式(范围 1-5000),并提供 3 个 RAM 缓冲区用于灵活的指纹处理。主要特性包括:
- 独立的指纹检测:专用的
fingerDetect()函数用于检测手指放置 - 灵活的特征合并:支持合并 2-3 次指纹采集以提高准确性
- 通用图像采集:单一的
getImage()函数适用于所有用例 - 完整的管理功能:完整的模板存储、加载、上传和下载功能
dxFingerMz 模块 dxFingerMz 模块使用 基于页索引的识别方式(范围 0-65535),并提供 2 个字符缓冲区。它提供高级自动化功能:
- 自动注册:一键完成完整的指纹注册流程
- 自动识别:自动完成图像采集、特征提取和库搜索
- 双采集模式:用于验证(
getImage())和注册(getEnrollImage())的独立函数 - 大容量:支持多达 65,535 个指纹模板
应用场景
指纹识别模块适用于:
- 门禁系统:建筑物和受限区域的安全入口管理
- 考勤系统:员工考勤跟踪和验证
- 设备认证:安全登录和设备解锁
- 身份验证:各种应用中的个人身份识别
- 智能锁系统:生物识别门锁和安全系统
快速开始
要在 DejaOS 中开始使用指纹识别:
- 选择您的模块:根据您的硬件和需求选择
dxFingerZaz或dxFingerMz - 初始化模块:配置 UART 连接参数
- 测试连接:验证与指纹硬件的通信
- 实现核心流程:构建指纹检测、注册和识别工作流
有关详细的 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 组件带来了以下激动人心的变化:
-
极致简化,清晰易用 我们重新设计了 API,隐藏了大量非必要的底层参数。现在,您不再需要关心复杂的摄像头配置或算法阈值,只需通过几个简单的函数,即可快速实现一个完整的人脸识别应用。整个使用方式变得前所未有的简单和清晰。
-
性能与稳定性的飞跃 通过对底层算法和数据流的深度优化,
dxFacial在识别速度、资源占用和长时间运行的稳定性方面都取得了极大的提升。无论是在高并发的门禁场景,还是在需要持续运行的考勤设备上,dxFacial都能表现出色。 -
全面的文档支持 为了帮助您快速上手,我们撰写了全新的人脸识别开发概述系列文档。文档从基本概念讲起,循序渐进地介绍了人脸检测、注册和识别三大核心流程,并提供了完整的 API 说明和代码示例。
设备适配进展
我们正在逐步将全新的 dxFacial 组件适配到所有主流的人脸识别设备上。目前的适配工作已基本完成,适配顺序如下:
- VF202
- VF203
- VF114
- VF105
09-10
DejaOS VSCode 扩展现已支持 macOS
作为一款优秀的跨平台编辑器,VSCode 在 Windows、macOS 和 Linux 上一直运行流畅。然而,由于 macOS 中更严格的 USB 设备权限管理,旧版本的 DejaOS 扩展无法在 Mac 上正常工作。
我们现在很高兴地宣布,最新版本的扩展通过使用 HID(人机接口设备)协议 解决了这个问题,实现了对 macOS 的原生支持!
使用说明
我们的设备使用标准的 HID 协议,这意味着当您将设备插入 Mac 时,无需安装任何额外的驱动程序。系统会自动识别它。您可以参考下图在 Windows 系统信息中查看,在 macOS 上,您可以通过命令行查看插入的设备:

在某些 macOS 系统上,首次连接设备时您可能会看到提示:"HID 设备未就绪。请在大约 30 秒后重试。"。
这是正常的。设备固件内的 HID 服务在首次连接时需要一些时间来初始化。当您第一次点击"连接"时,初始化过程开始,通常需要不到 30 秒的时间。之后再次点击"连接"将建立成功的连接。
08-25
DejaOS 模块演进:提升开发者体验
DejaOS 模块是我们整个生态系统的基石。为了统一接口规范、提高代码质量、增强易用性,我们最近启动了一个长期的模块迭代计划,全面审查和优化所有现有的官方模块。
全新模块实现平滑过渡
一些模块经历了重大重构,从底层的 C/C++ 实现重写为高级 JavaScript API。为了确保平滑过渡,我们引入了更强大的新模块,具有统一的接口来替代旧模块。旧模块将被标记为"已弃用",但将长期保持可用以确保向后兼容性。
主要模块替换如下:
dxHttpClient→dxHttpdxHttpServer→dxWebserverdxMqttClient→dxMqttdxNetwork→dxNetdxBarcode→dxCodedxConfiguration→dxConfigdxAudio→dxAlsa,dxAlsaplaydxOs,dxCommonUtils→dxCommon
向后兼容的无缝升级
对于未被替换的其余模块,我们实现了功能升级和优化。这些模块的核心用法基本保持不变,只对少数函数进行了微调。当发生此类更改时,我们将在日志中提供清晰的弃用通知,并指导您使用新的替代函数。
文档已更新
所有更新的模块现在都配有全新的文档。您可以在 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.
这个错误可能由两个原因引起:
- 组件未安装:项目中未下载对应的组件,导致对应的
.so文件未同步到设备。 - 设备型号不匹配:
app.dxproj中配置的设备型号与实际设备不一致,导致同步了错误型号的.so文件。注意:DejaOS
.so文件与设备型号强绑定,无法跨设备使用。
👉 正确的做法是检查 app.dxproj 中的设备型号配置,重新安装并同步。

原始错误消息

新的提示描述,帮助开发者快速定位问题
🐞 错误修复
- 修复:组件下载失败时没有错误提示,界面持续显示"组件安装中",现在正确显示错误提示。
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 代码动态更改。目前,我们支持在固件镜像创建过程中自定义启动屏幕,可能需要一定的额外费用。

如果您想自定义设备启动屏幕,请在订购设备时联系 DejaOS 团队并提供您想要使用的图片。我们将在固件构建过程中预安装您的自定义启动屏幕,这样开箱即用。
07-05
DejaOS 官网正式上线
今天,我们很高兴地宣布,基于 Docusaurus 框架构建的 DejaOS 官方网站正式上线,这标志着 DejaOS 社区发展和生态系统建设的一个重要里程碑。
概述
DejaOS 的开发始于两年前,最初通过将 Lua 与 C 结合来探索嵌入式脚本的可能性。当我们发现 QuickJS 时,我们以 QuickJS 为核心,结合 LVGL 图形引擎,重新设计了整个系统架构。
在我们的 DW200 设备上,DejaOS 迅速从试验阶段走向生产,成功部署于包括读卡器、门禁系统和人脸识别设备在内的多个智能硬件应用中。至今,已有超过 100 名个人和企业开发者参与协作,并获得了广泛的好评。
网站内容结构
- 指南: 介绍 DejaOS 的核心概念、开发环境搭建和常见问题排查;
- 模块: 涵盖 DejaOS 提供的 40 多个模块及其 API 用法;
- 博客: 分享 DejaOS 的技术更新、公告和深度文章;
- 案例: 展示使用 DejaOS 开发的真实案例和演示,并提供指向 GitHub 的源代码链接。