基于 AWTK 和 AWTK-MVVM 实现的串口屏方案。
界面修改数据,自动通知 MCU。
MCU 修改数据,自动更新界面。
1. 主要特色:
1.1 开发
- 强大的界面设计器 AWStudio。
- 基于 AWTK 实现强大的 GUI 功能(多窗口、输入法、动画和各种控件)。
- 基于 AWTK-MVVM 实现低代码开发(编写绑定规则即可实现常见应用程序)。
- 支持在 PC 上模拟运行,并提供 MCU 模拟器模拟与串口屏的交互。
- 开发时支持通过串口更新 UI 资源,无需插拔 USB (TODO)。
- 开放源码,免费商用,从底层到应用程序全程可控。
- 轻松集成第三方开源库,比如 sqlite3 和各种网络协议。
1.2 通信
- 支持串口。
- 支持 TCP。
- 开发者无需了解通信协议。
- 可以方便的移植到任何基于流的通信协议。
1.3 MCU 端
提供简单易用的 API,无需了解通信协议,无需记忆变量地址,一般使用下面 4 个函数即可:
- 通过名称设置数据的值。
- 通过名称获取数据的值。
- 处理数据变化的事件。
- 在主循环中分发事件。
对于高级用户,也提供了一些直接操作 GUI 的函数。
也可以集成 TKC,TKC 中提供大量实用函数,可以加快 MCU 端嵌入式软件的开发。
2. 配套硬件
本方案不限制硬件,能运行 AWTK-MVVM 即可。后面的例子可以 PC 上运行,同时也提供了基于
立功科技 ZDP1440 HMI 显示驱动芯片 环境。
3. 使用方法
3.1 下载并编译 AWTK
将 AWTK 下载到当前目录。AWStudio 带的 AWTK 不是最新的,所以需要自己下载。
git clone https://github.com/zlgopen/awtk.git
cd awtk
scons
AWTK 的编译方法和环境配置请参考 AWTK 编译指南
3.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 不是必须的。
3.3 编译 MCU 模拟器
- 编译 MCU 模拟器
cd mcu/simulator
scons
python scripts/update_res.py all
- 运行 MCU 模拟器
./bin/mcu_sim
3.4 编译 HMI Demo
- 编译 HMI Demo
cd hmi/demo_home2
scons
python scripts/update_res.py all
- 运行 HMI Demo
./bin/demo
3.5 下载并编译 AWTK-FS-ADAPTER
如果不需要编译 awtk-stm32h743iitx-freertos,跳过此步
git clone https://github.com/zlgopen/awtk-fs-adapter
4. 开发文档
- Hello Word
- 智能家居示例
- 告警数据演示
- 数据采样演示
- MCU 端 SDK
视频教学
TODO