推薦一個支援js的嵌入式裝置開發平臺

voxer發表於2024-09-03

可以透過vscode開發js,實時推送js程式碼到裝置裡執行,無需編譯,支援螢幕,感興趣的可以看看 https://github.com/duoxianwulian/dxdop
提供很多js庫,可以控制gpio,pwm,藍芽,nfc,二維碼識別,人臉識別,網路,mqtt,tcp,看門狗,ui等等,支援多執行緒
也支援多種裝置。
以下是一個程式碼示例和效果圖示例

點選檢視程式碼
import log from '../dxmodules/dxLogger.js'
import driver from './driver.js'
import std from '../dxmodules/dxStd.js'
import mqtthandler from './mqtthandler.js'
import codehandler from './codehandler.js'
const worker = 'service'
function run() {
    driver.initService()
    driver.mqtt.on(function (data) { mqtthandler.invoke(data) })
    driver.mqtt.onConnectChanged(function (data) { mqtthandler.connectChanged(data) })
    driver.code.on(function (data) { codehandler.invoke(data) })
    driver.net.on(function (data) { mqtthandler.netInvoke(data) })

    std.setInterval(() => {
        try {
            driver.loop()
            driver.code.loop()
            driver.watchdog.feed(worker, 30)
        } catch (error) {
            log.error(error)
        }
    }, 10)
}


try {
    run()
} catch (error) {
    log.error(error)
}


平臺概述

dxdop是一個嵌入式二次開發軟體平臺,它使用JS語言作為主開發語音,減少開發成本,降低開發難度,願景是讓嵌入式開發變的很簡單,它應用在許多終端場景有著出色的表現。

功能豐富

gpio、pwm、rs485、rs232、usb、wiegand、capturer、net、watchdog、alsa等硬體控制
tcp、tcpserver、mqtt、udp、http、webserver網路協議
可以用JS繪製LVGL螢幕UI,支援所有LVGL原生能力
有著豐富的外設接入(刷卡、指紋、藍芽、人臉識別)、加解密(base64、aes、md5、hmac、crc、bcc)等配套元件庫
支援植入原生C庫的方式開發
硬體環境

目前平臺僅適配 酷豆物聯裝置 做二次開發。
工具和服務

使用VScode && DXIDE 外掛 開發除錯

包含 UI元件示例 、 驅動元件示例 以及 元件原始碼,開源專案demo

🚀 技術背景
平臺以Linux、quickjs、LVGL為基礎框架支撐,提高開發效率的同時,保有超高的執行效率。

Linux:具備Linux系統程序、執行緒、資源排程能力

quickjs:支援 ES2023規範,且小巧快速的JS引擎,具備非同步

LVGL:LVGL 是最流行的免費開源嵌入式圖形庫,可以使用JS輕鬆繪製漂亮的UI

相關文章