玩 STM32、Arduino 的基本都用过 LVGL 这款嵌入式图形库。
纯手写界面代码巨麻烦,用第三方工具又跟现有项目格格不入,就改个按钮都要来回折腾。
给大家安利一款开源工具,支持拖拽画 UI、一键导出 C++ 代码,还能远程调试控制设备。
它就是 EEZ Studio—— 一款跨平台的嵌入式 GUI 低代码开发工具,还自带自动化能力。
主打嵌入式 GUI 开发、测试测量两大场景,Windows、macOS、Linux 全平台都能用。
项目完全开源托管在 GitHub,协议是 GPL v3。
它最大的亮点,就是把 UI 设计、代码生成、设备远程控制全都整合在了一个工具里。
拖拽做完界面、设好交互逻辑,一键生成 C++ 代码,直接扔进 STM32CubeIDE、Arduino IDE 就能编译跑。
省掉了从设计稿到代码的翻译环节。
GUI 设计方面,支持 LVGL 8.x 和 9.x 两个大版本。
LVGL 本就是嵌入式圈内最火的图形库,可纯手写界面代码实在太磨人。
打开 EEZ Studio 拖拽编辑器,直接拉控件到画布,改属性、绑交互事件,就能自动生成配套 C++ 代码。
生成的代码不是那种只能看不能用的 demo,可以直接集成到项目里的工程文件。
它还有个超好用的 EEZ Flow 功能,一定要重点说下。
简单说就是流程图式低代码模块,靠拖拽节点就能配置界面交互逻辑。
像点按钮发串口指令、接收数据自动刷新图表这类需求,完全不用写一行代码。
对于不熟悉 C++ 的硬件工程师,或者想快速验证原型的开发者,这个功能能省下不少时间。
不光能做 GUI 开发,它还有 Instruments 专用模块,用来远程控制各类测试测量仪器。
它支持 SCPI 协议,可以通过串口、以太网或 VISA 接口连接各种仪器。
像Rigol、Siglent、Keysight 支持 SCPI 协议的仪器,基本都能连上。
连接之后,可以直接发送 SCPI 指令、读取测量数据、截图、上传下载文件。
还内置了一个波形编辑器,可以编辑任意波形然后下载到信号发生器里。
真正牛X的是 JavaScript 脚本支持。
你可以写脚本自动化一整套测试流程:设置电源输出、启动负载、采集数据、生成报告,全部一键完成。
脚本还能绑定到快捷键上,按一下就执行,比在厂商软件里点来点去高效多了。
示例:自动采集电压数据并保存
// 设置电源输出 5Vinstrument.send("VOLT 5");instrument.send("OUTP ON");// 采集 10 次数据for (let i = 0; i < 10; i++) { let voltage = instrument.query("MEAS:VOLT?"); log("电压: " + voltage + "V"); sleep(1000);}还支持导入 Keysight Offline Command Expert 的命令集。
把设备支持的 SCPI 指令导入进来,编辑器会提供上下文帮助,不用翻手册查命令格式。
历史记录功能也很完整,所有操作都会被记录,支持按时间、内容搜索。
通过日历视图快速定位某天的操作,对于需要追溯测试过程的场景,这个功能很实用。
安装简单,Windows 用户直接下载安装包。
macOS 用户解压后把应用拖进 Applications 文件夹。
Linux 用户可以选择 .deb、.rpm 或 AppImage 格式,AppImage 版本如果启动失败,试试加 --no-sandbox 参数。
写在最后
我整体看下来,EEZ Studio 相当于集了四款工具:GUI设计、代码生成、设备远程控制、自动化脚本。
它不只是单一功能小工具,而是能从头到尾搞定嵌入式GUI开发和仪器测试自动化全流程。
只要你在做LVGL嵌入式项目,或是要批量管理SCPI设备,都可以去试试这个项目。
功能齐全、开源免费、还跨平台,综合实力比不少商业软件都能打。
项目基于 GPL v3 协议开放,感兴趣的朋友可以去 GitHub 仓库看看源码和文档。
开源地址:https://github.com/eez-open/studio
既然看到这了,欢迎随手点赞、在看、转发,我们下期见!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!