AWTK 开源智能串口屏方案发布,旨在解决传统串口屏诸多痛点,为用户提供更开放、更易用、更强大的开源串口屏方案。
基于 AWTK 和 AWTK-MVVM 实现的串口屏方案。
界面修改数据,自动通知 MCU。
MCU 修改数据,自动更新界面。
主要特色
1. 开发
- 强大的界面设计器 AWStudio;基于 AWTK 实现强大的 GUI 功能(多窗口、输入法、动画和各种控件);基于 AWTK-MVVM 实现低代码开发(编写绑定规则即可实现常见应用程序);支持在 PC 上模拟运行,并提供 MCU 模拟器模拟与串口屏的交互;开发时支持通过串口更新 UI 资源,无需插拔 USB (TODO);开放源码,免费商用,从底层到应用程序全程可控;轻松集成第三方开源库,比如 sqlite3 和各种网络协议。
2. 通信
3. MCU 端
提供简单易用的 API,无需了解通信协议,无需记忆变量地址,一般使用下面 4 个函数即可:
- 通过名称设置数据的值;通过名称获取数据的值;处理数据变化的事件;在主循环中分发事件。
对于高级用户,也提供了一些直接操作 GUI 的函数。
也可以集成 TKC,TKC 中提供大量实用函数,可以加快 MCU 端嵌入式软件的开发。
配套硬件
本方案不限制硬件,能运行 AWTK-MVVM 即可。后面的例子可以 PC 上运行,同时也提供了基于 ZDP1440 HMI 显示驱动芯片 环境。
1. 使用方法
1.1 下载并编译 AWTK
将 AWTK 下载到当前目录。AWStudio 带的 AWTK 不是最新的,所以需要自己下载。
git clone https://github.com/zlgopen/awtk.git
cd awtk
scons
AWTK 的编译方法和环境配置请参考 AWTK 编译指南:
https://gitee.com/zlgopen/awtk/blob/master/README_zh.md
1.2 下载并编译 AWTK-MVVM
将 AWTK-MVVM 下载到当前目录。
git clone https://github.com/zlgopen/awtk-mvvm.git
cd awtk-mvvm
scons WITH_JERRYSCRIPT=false
用 WITH_JERRYSCRIPT=false 参数禁止编译 jerryscript,因为 jerryscript 不是必须的。
1.3 编译 MCU 模拟器
- 编译 MCU 模拟器
cd mcu/simulator
scons
python scripts/update_res.py all
运行 MCU 模拟器
./bin/mcu_sim
1.4 编译 HMI Demo
- 编译 HMI Demo
cd hmi/demo_app3
scons
python scripts/update_res.py all
-
- 运行 HMI Demo
./bin/demo