可以透過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