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!