推荐一个支持js的嵌入式设备开发平台
可以通过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