What is DejaOS
π Overviewβ
DejaOS is a JavaScript runtime environment purpose-built for embedded devices, enabling low-cost, resource-constrained smart hardware to run JavaScript code efficiently. By adopting JavaScript as the primary development language, DejaOS dramatically lowers the barrier and cost for embedded development, making the process simpler and more productive.
DejaOS has been successfully deployed in various IoT scenarios, demonstrating excellent performance and development efficiency.
βοΈ Architectureβ
DejaOS is built on the following core components:
- Mip / ARM Linux: Provides system-level process, thread, and resource management
- QuickJS: A lightweight, fast JavaScript engine supporting the ES2020 standard
- LVGL: A popular open-source embedded graphics library, supporting rich UI development in both C and JavaScript
π Featuresβ
DejaOS offers a comprehensive set of JavaScript APIs and system capabilities:
π Hardware Interface Librariesβ
- GPIO, PWM, UART, RS-485, RS-232, USB, Wiegand, Watchdog
- Capturer, ALSA, NFC, QRCode, BLE, Face Recognition, and more
π Networking & Communication Protocolsβ
- Net, TCP, TCP Server, MQTT, UDP, HTTP, Web Server, OSDP, etc.
πΌοΈ Graphics Libraryβ
- Build GUIs in JavaScript, fully compatible with native LVGL features
π οΈ Utility Librariesβ
- Threads, encryption/decryption, logging, EventBus, NTP, SQLite, and more
π¦ Third-Party Librariesβ
- Supports importing ESM-format third-party JavaScript libraries via
import
βοΈ Native C Library Integrationβ
- Integrate native C libraries and expose them to JavaScript
π Development Workflowβ
π₯ Environment Setupβ
- Install Node.js (v20+)
- Install Visual Studio Code
- Install the DejaOS IDE extension
π§ Device Preparationβ
- Acquire a development device
- Connect the device to your computer (VSCode) via USB
π§ͺ Quick Startβ
- Use JavaScript in VSCode to build your first application
- Instantly sync code to your device and view real-time logs
π¦ Build & Deployβ
- Acquire production devices
- Use VSCode to package your project as a
.dpk
installer - Deploy via OTA or use the DPK installer tool for serial installation
π€ Supportβ
If you have any questions, feel free to contact us:
π§ Email: service@dxiot.com
We are happy to assist you!